Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • alistair23/pmaports
  • exkc/pmaports
  • fossdd/pmaports
  • JustSoup321/pmaports
  • Eisenbahnfan/pmaports
  • raihan2000/pmaports
  • sleirsgoevy/pmaports
  • Adrian/pmaports
  • adamthiede/pmaports
  • jianhua/pmaports
  • knuxify/pmaports
  • Arnavion/pmaports
  • barni2000/pmaports
  • longnoserob/pmaports
  • smankusors/pmaports
  • Aren/pmaports
  • langfingaz/pmaports
  • sicelo/pmaports
  • kouta-kun/pmaports
  • craftyguy/pmaports
  • rdacayan/pmaports
  • rmader/pmaports
  • Haui111/pmaports
  • jakko/pmaports
  • dujem/pmaports
  • methanal/pmaports
  • WeirdTreeThing/pmaports
  • MightyM17/pmaports
  • sertonix/pmaports
  • amessier/pmaports
  • akemnade/pmaports
  • setotau/pmaports
  • kevinwidjaja21/pmaports
  • NekoCWD/pmaports
  • ollieparanoid/pmaports
  • manoedinata/pmaports
  • Drakulix/pmaports
  • grimler/pmaports
  • benpicco/pmaports
  • Frieder.Hannenheim/pmaports
  • andrisas/pmaports
  • EspiDev/pmaports
  • maze42/pmaports
  • anjandev/pmaports
  • danct12/pmaports
  • ijiki16/pmaports
  • jja2000/pmaports
  • fancsali/pmaports
  • bolilingmeng89006/pmaports
  • Minecrell/pmaports
  • chipiguay/pmaports
  • cherrypicker/pmaports
  • fortuna-mainline/pmaports
  • pevik/pmaports
  • Patriot-06/pmaports
  • JoseskVolpe/pmaports
  • verdre/pmaports
  • proycon/pmaports
  • AutumnSpark1226/pmaports
  • PsychoGame/pmaports
  • fraolt/pmaports
  • VaporGame/pmaports
  • pugzarecute/pmaports
  • CalcProgrammer1/pmaports
  • hexaheximal/pmaports
  • dabao1955/pmaports
  • HenriDellal/pmaports
  • semfault/pmaports
  • strobo5/pmaports
  • andrewgigena/pmaports
  • Athozus/pmaports
  • 1peter10/pmaports
  • vixalien/pmaports
  • Tooniis/pmaports
  • adomerle/pmaports
  • bjorn3/pmaports
  • StacyHarper/pmaports
  • Jack_Kekzoz/pmaports
  • Ceddicedced/pmaports
  • Justin_Zobel/pmaports
  • airtower-luna/pmaports
  • f-izzo/pmaports
  • cosmo/pmaports
  • 9lore/pmaports
  • postmarketOS/pmaports
  • Johnnynator/pmaports
  • iAboothahir/pmaports
  • N1kroks/pmaports
  • neuschaefer/pmaports
  • DylanVanAssche/pmaports
  • yehiashamaa987/pmaports
  • Operachi/pmaports
  • faveoled/pmaports
  • ilpianista/pmaports
  • johkra/pmaports
  • HDDTHR/pmaports
  • zsoltiv/pmaports
  • Justin/pmaports
  • Kaloyan501/pmaports_huawei_p8_lite_2015_fix
  • joelselvaraj/pmaports
  • rontti/pmaports
  • dsankouski/pmaports
  • StandaSK/pmaports
  • paricbat/pmaports
  • asdfugil/pmaports
  • komaru-yml/pmaports
  • MasterPlexus/pmaports
  • Felix/pmaports
  • ayakael/pmaports
  • feisuzhu/pmaports
  • AJ-RR/pmaports
  • SzczurekYT/pmaports
  • mediaberry/pmaports
  • justsomeguy/pmaports
  • Augis154/pmaports
  • hrdl/pmaports
  • sib0ndt/pmaports
  • 19atlas/pmaports
  • vipaoL/pmaports
  • wannjanjic/pmaports
  • dh/pmaports
  • LogicalErzor/pmaports
  • halamix2/pmaports
  • Shamilkv34/pmaports
  • Cogitri/pmaports
  • fallenritemonk/pmaports
  • user0-07161/pmaports
  • rock3tsprocket/pmaports
  • ellyq/pmaports
  • rodent/pmaports
  • mkorpershoek/pmaports
  • candrew/pmaports
  • fallaciousreasoning/pmaports
  • chalkin/pmaports
  • ungeskriptet/pmaports
  • r00t/pmaports
  • panpanpanpan/pmaports
  • celiffe/pmaports
  • davidfurey/pmaports
  • kidd/pmaports
  • tpikonen/pmaports
  • camelCaseNick/pmaports
  • ermine/pmaports
  • lgh/pmaports
  • sajattack/pmaports
  • StephanieBread/pmaports
  • M0Rf30/pmaports
  • notfound405/pmaports
  • samueldr/pmaports
  • r10nw7fd3/pmaports
  • treid998/pmaports-merge
  • denysvitali/pmaports
  • rodriguezst/pmaports
  • puppiestdoggo1/pmaports
  • donihalim/pmaports
  • EDKPiepaint/pmaports-apple-tonga-test
  • SanyaPilot/pmaports
157 results
Show changes
Commits on Source (17)
Showing
with 600 additions and 51 deletions
......@@ -2,8 +2,8 @@
# Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-asus-me176c
pkgdesc="ASUS MeMO Pad 7 (ME176C(X))"
pkgver=2
pkgrel=2
pkgver=3
pkgrel=0
_commit=3155254999ac36c3051a2118c415de25a072c0f6
url="https://postmarketos.org"
license="MIT"
......@@ -22,8 +22,9 @@ depends="
makedepends="devicepkg-dev meson eudev-dev"
source="https://github.com/me176c-dev/linux-me176c/archive/$_commit.tar.gz
deviceinfo
rootston.ini
"
subpackages="$pkgname-factory $pkgname-nonfree-firmware:nonfree_firmware"
subpackages="$pkgname-factory $pkgname-nonfree-firmware:nonfree_firmware $pkgname-phosh"
builddir="$srcdir/linux-me176c-$_commit"
build() {
......@@ -53,5 +54,12 @@ nonfree_firmware() {
mkdir "$subpkgdir"
}
sha512sums="25b18f7d2c6d6570077143b404d821e4814f23ce8e46dfe7c8f0ed7d318b5e8c7fba1bd68a7536cb3b9adb3ca6753e08dd1fa56d1e99bfabbe6992ce9b3575e1 deviceinfo
75243e3d0bc9a352465683ec8cf8b83566e4131bb7fae0f388267a62bdbf4691c955ed034b30df550f921b771080688123ae8db144b72f786bf1677ef1d83f57 3155254999ac36c3051a2118c415de25a072c0f6.tar.gz"
phosh() {
install_if="$pkgname postmarketos-ui-phosh"
install -Dm644 "$srcdir"/rootston.ini \
"$subpkgdir"/etc/phosh/rootston.ini
}
sha512sums="75243e3d0bc9a352465683ec8cf8b83566e4131bb7fae0f388267a62bdbf4691c955ed034b30df550f921b771080688123ae8db144b72f786bf1677ef1d83f57 3155254999ac36c3051a2118c415de25a072c0f6.tar.gz
e879c597fa4b1493a98a6676c643dc4fb470642dd9d0a7e2071384067a08618b502167f2063b2fec9ceb2a49e1d1a8781402d6e34e898dd02c394006e353939e deviceinfo
a60d1785f0163d4a4eb63ea5e3017631aab7dd6683baad6a74b09809d33888d581ca8b14526c19d18234dcf727d1fdb4ff0489ed4bd5523905d0e4da7d93bc56 rootston.ini"
......@@ -14,7 +14,7 @@ deviceinfo_arch="x86_64"
deviceinfo_chassis="tablet"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_width="800"
deviceinfo_screen_height="1280"
# Bootloader related
......
[cursor:seat0]
map-to-output:DSI-1
[output:DSI-1]
scale = 1.75
......@@ -4,7 +4,7 @@
pkgname=device-bq-paella
pkgdesc="BQ Aquaris X5"
pkgver=3
pkgrel=2
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
......@@ -53,4 +53,4 @@ nonfree_firmware_modem() {
mkdir "$subpkgdir"
}
sha512sums="7e693384eb5ba46f14cbf57a9d9e9cffa2cd82af96f0978123fd618ca955ac3ca22ad1b3d4d2aea43ab8ee42b03dbeaa00ce0e08b5e831de9b6a0b7787e416f4 deviceinfo"
sha512sums="5122d7c18b9ea91a17968111c332bac8beeca8454279923fb2fc1d29524f43d74d147aeb594fde9d74855add14ea966648bb2eb036d81056d9fd1617a81dd4ac deviceinfo"
......@@ -9,7 +9,7 @@ deviceinfo_year="2015"
deviceinfo_dtb_mainline="qcom/msm8916-longcheer-l8910"
deviceinfo_dtb_mainline_modem="qcom/msm8916-longcheer-l8910-modem"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="panel-longcheer-yushun-nt35520 panel-longcheer-truly-otm1288a msm himax_852xES"
deviceinfo_modules_initfs="smb1360 panel-longcheer-yushun-nt35520 panel-longcheer-truly-otm1288a msm himax_852xES"
deviceinfo_arch="aarch64"
# Device related
......
......@@ -3,7 +3,7 @@
_flavor="asus-me176c"
pkgname=linux-$_flavor
pkgver=5.4.35
pkgver=5.4.107
_kernver=${pkgver%.*}
_me176cver=5.4.17
pkgrel=0
......@@ -41,7 +41,8 @@ package() {
make install modules_install \
ARCH="$_carch" \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir"
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
......@@ -49,6 +50,6 @@ package() {
}
sha512sums="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f linux-5.4.tar.xz
d697462715c01f40a4c85317f98ffb22d0eac6365041e286ed0d01afedab7285f7183c87cd6eb34971a66f6113d620ae7478bb946268d8f5889b062b7f0d4642 linux-5.4.35.patch.xz
f470aef89892a79da7d87a3637859ba3b67ca3103f4be5e439fa5fa06a3aef2fe9a9b6d152556da92d2ae595ee8623bcd68b57bc65c4ec45c5500ae2c530dba0 linux-5.4.107.patch.xz
aa462bfcbba87469a617e2ffd4058cd41137b74f836aae47ac89bc70de2836b8f3ddce94f597e61bb287eb009bb71f4e831c487b0073011673d5db4a8d8ae080 linux-me176c-5.4.17.patch.xz
66b9350c59cc6853d8cf9efe98065df900e017d0e1ebf294b9de7a8bd888a6dee9589a8cfc0ac8ebdb757a1d710be2d7ec5b82169b525c3fa43601a6f57161a8 config-asus-me176c.x86_64"
a919b5243bce4ce1d4a8c4117137b8cf1c5c3787332a8afa7e3b0b3079e6f7718c356d0a03e288ad4e7b11f763915a8a941fe7e1522aaa71ef5977e0e297f04c config-asus-me176c.x86_64"
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 5.4.20 Kernel Configuration
# Linux/x86_64 5.4.106 Kernel Configuration
#
#
# Compiler: gcc (GCC) 9.2.0
# Compiler: gcc (Alpine 10.2.1_git20210318) 10.2.1 20210318
#
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=90200
CONFIG_GCC_VERSION=100201
CONFIG_CLANG_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
......@@ -22,7 +21,6 @@ CONFIG_THREAD_INFO_IN_TASK=y
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_HEADER_TEST is not set
CONFIG_LOCALVERSION="-asus-me176c"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
......@@ -643,6 +641,7 @@ CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y
CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
#
# Tegra firmware driver
......@@ -948,7 +947,6 @@ CONFIG_ZPOOL=y
CONFIG_ZBUD=y
CONFIG_Z3FOLD=y
CONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
......@@ -970,6 +968,7 @@ CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y
#
......@@ -2196,7 +2195,6 @@ CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_CONSTANTS=y
......@@ -4427,9 +4425,6 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
......@@ -5024,7 +5019,6 @@ CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
......
From 9fcc84f60f496a70d5e0245c7f507d7f2dc5a8e0 Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
Date: Fri, 19 Mar 2021 06:31:20 +0100
Subject: [PATCH 1/2] Revert "redpine: Clean up loop in the interrupt handler"
This reverts commit d0ce5dd74f882d903a28cf4000e0fc4416c75ec3.
---
.../net/wireless/redpine/rsi_91x_sdio_ops.c | 123 +++++++++---------
1 file changed, 61 insertions(+), 62 deletions(-)
diff --git a/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c b/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
index 7170cb02cb8b..b8e42ef157bf 100644
--- a/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
+++ b/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
@@ -333,74 +333,73 @@ static void rsi_rx_handler(struct rsi_hw *adapter)
__func__, isr_status, (1 << MSDU_PKT_PENDING),
(1 << FW_ASSERT_IND));
- if (isr_status & BIT(PKT_BUFF_AVAILABLE)) {
- status = rsi_sdio_check_buffer_status(adapter, 0);
- if (status < 0)
- redpine_dbg(ERR_ZONE,
- "%s: Failed to check buffer status\n",
- __func__);
- rsi_sdio_ack_intr(common->priv,
- (1 << PKT_BUFF_AVAILABLE));
- rsi_set_event(&common->tx_thread.event);
-
- redpine_dbg(ISR_ZONE,
- "%s: Buffer full/available\n",
- __func__);
- dev->buff_status_updated = 1;
-
- isr_status &= ~BIT(PKT_BUFF_AVAILABLE);
- }
-
- if (isr_status & BIT(FW_ASSERT_IND)) {
- redpine_dbg(ERR_ZONE,
- "%s: ==> FIRMWARE Assert <==\n",
- __func__);
- status = rsi_sdio_read_register(common->priv,
- SDIO_FW_STATUS_REG,
- &fw_status);
- if (status) {
- redpine_dbg(ERR_ZONE,
- "%s: Failed to read f/w reg\n",
- __func__);
- } else {
- redpine_dbg(ERR_ZONE,
- "%s: Firmware Status is 0x%x\n",
- __func__, fw_status);
+ do {
+ RSI_GET_SDIO_INTERRUPT_TYPE(isr_status, isr_type);
+
+ switch (isr_type) {
+ case BUFFER_AVAILABLE:
+ status = rsi_sdio_check_buffer_status(adapter, 0);
+ if (status < 0)
+ redpine_dbg(ERR_ZONE,
+ "%s: Failed to check buffer status\n",
+ __func__);
rsi_sdio_ack_intr(common->priv,
- (1 << FW_ASSERT_IND));
- }
-
- common->fsm_state = FSM_CARD_NOT_READY;
+ (1 << PKT_BUFF_AVAILABLE));
+ rsi_set_event(&common->tx_thread.event);
- isr_status &= ~BIT(FW_ASSERT_IND);
- }
-
- if (isr_status & BIT(MSDU_PKT_PENDING)) {
- redpine_dbg(ISR_ZONE, "Pkt pending interrupt\n");
- dev->rx_info.total_sdio_msdu_pending_intr++;
+ redpine_dbg(ISR_ZONE,
+ "%s: Buffer full/available\n",
+ __func__);
+ dev->buff_status_updated = 1;
+ break;
- status = rsi_process_pkt(common);
- if (status) {
+ case FIRMWARE_ASSERT_IND:
redpine_dbg(ERR_ZONE,
- "%s: Failed to read pkt\n",
+ "%s: ==> FIRMWARE Assert <==\n",
__func__);
- mutex_unlock(&common->rx_lock);
- common->rx_in_prog = false;
- return;
+ status = rsi_sdio_read_register(common->priv,
+ SDIO_FW_STATUS_REG,
+ &fw_status);
+ if (status) {
+ redpine_dbg(ERR_ZONE,
+ "%s: Failed to read f/w reg\n",
+ __func__);
+ } else {
+ redpine_dbg(ERR_ZONE,
+ "%s: Firmware Status is 0x%x\n",
+ __func__, fw_status);
+ rsi_sdio_ack_intr(common->priv,
+ (1 << FW_ASSERT_IND));
+ }
+
+ common->fsm_state = FSM_CARD_NOT_READY;
+ break;
+
+ case MSDU_PACKET_PENDING:
+ redpine_dbg(ISR_ZONE, "Pkt pending interrupt\n");
+ dev->rx_info.total_sdio_msdu_pending_intr++;
+
+ status = rsi_process_pkt(common);
+ if (status) {
+ redpine_dbg(ERR_ZONE,
+ "%s: Failed to read pkt\n",
+ __func__);
+ mutex_unlock(&common->rx_lock);
+ common->rx_in_prog = false;
+ return;
+ }
+ break;
+ default:
+ rsi_sdio_ack_intr(common->priv, isr_status);
+ dev->rx_info.total_sdio_unknown_intr++;
+ isr_status = 0;
+ redpine_dbg(ISR_ZONE,
+ "Unknown Interrupt %x\n",
+ isr_status);
+ break;
}
-
- isr_status &= ~BIT(MSDU_PKT_PENDING);
- }
-
- if (isr_status) {
- rsi_sdio_ack_intr(common->priv, isr_status);
- dev->rx_info.total_sdio_unknown_intr++;
- isr_status = 0;
- redpine_dbg(ISR_ZONE,
- "Unknown Interrupt %x\n",
- isr_status);
- }
-
+ isr_status ^= BIT(isr_type - 1);
+ } while (isr_status);
mutex_unlock(&common->rx_lock);
} while (1);
common->rx_in_prog = false;
--
GitLab
From 11085503196282fb799a82526d87c0286859f18d Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
Date: Fri, 19 Mar 2021 06:31:26 +0100
Subject: [PATCH 2/2] Revert "redpine: Move card interrupt handling to RX
thread"
This reverts commit 73e357c5a9cf52d300941d286d42bd8d61fd7847.
---
drivers/net/wireless/redpine/rsi_91x_sdio.c | 7 +-
.../net/wireless/redpine/rsi_91x_sdio_ops.c | 76 +++++++++++++++----
drivers/net/wireless/redpine/rsi_sdio.h | 9 ++-
3 files changed, 76 insertions(+), 16 deletions(-)
diff --git a/drivers/net/wireless/redpine/rsi_91x_sdio.c b/drivers/net/wireless/redpine/rsi_91x_sdio.c
index dc6559bb2462..827a5c47654b 100644
--- a/drivers/net/wireless/redpine/rsi_91x_sdio.c
+++ b/drivers/net/wireless/redpine/rsi_91x_sdio.c
@@ -177,7 +177,9 @@ static void rsi_handle_interrupt(struct sdio_func *function)
if (adapter->priv->fsm_state == FSM_FW_NOT_LOADED)
return;
- rsi_set_event(&dev->rx_thread.event);
+ dev->sdio_irq_task = current;
+ rsi_interrupt_handler(adapter);
+ dev->sdio_irq_task = NULL;
}
static void rsi_gspi_init(struct rsi_hw *adapter)
@@ -1191,6 +1193,7 @@ static int rsi_init_sdio_interface(struct rsi_hw *adapter,
sdio_release_host(pfunction);
adapter->determine_event_timeout = rsi_sdio_determine_event_timeout;
+ adapter->process_isr_hci = rsi_interrupt_handler;
adapter->check_intr_status_reg = rsi_read_intr_status_reg;
#ifdef CONFIG_REDPINE_DEBUGFS
@@ -1292,6 +1295,8 @@ static int rsi_probe(struct sdio_func *pfunction,
redpine_dbg(ERR_ZONE, "%s: Unable to init rx thrd\n", __func__);
goto fail_kill_thread;
}
+ skb_queue_head_init(&sdev->rx_q.head);
+ sdev->rx_q.num_rx_pkts = 0;
/*Receive buffer for handling RX interrupts in case of memory full*/
sdev->temp_rcv_buf = kzalloc((RCV_BUFF_LEN *4), GFP_KERNEL);
diff --git a/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c b/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
index b8e42ef157bf..f67b9f66f879 100644
--- a/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
+++ b/drivers/net/wireless/redpine/rsi_91x_sdio_ops.c
@@ -74,26 +74,49 @@ int rsi_sdio_master_access_msword(struct rsi_hw *adapter,
return status;
}
-static void rsi_rx_handler(struct rsi_hw *adapter);
-
void rsi_sdio_rx_thread(struct rsi_common *common)
{
struct rsi_hw *adapter = common->priv;
struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
+ struct sk_buff *skb;
int status;
+ bool done = false;
do {
- status = rsi_wait_event(&sdev->rx_thread.event,
+ status = rsi_wait_event(&sdev->rx_thread.event,
EVENT_WAIT_FOREVER);
if (status < 0)
break;
- rsi_reset_event(&sdev->rx_thread.event);
- rsi_rx_handler(adapter);
+ if (atomic_read(&sdev->rx_thread.thread_done))
+ break;
- } while (!atomic_read(&sdev->rx_thread.thread_done));
+ while (true) {
+ skb = skb_dequeue(&sdev->rx_q.head);
+ if (!skb)
+ break;
+ status = redpine_read_pkt(common, skb->data, skb->len);
+ if (status) {
+ redpine_dbg(ERR_ZONE, "Failed to read the packet\n");
+ dev_kfree_skb(skb);
+ return;
+ }
+ dev_kfree_skb(skb);
+ if (sdev->rx_q.num_rx_pkts > 0)
+ sdev->rx_q.num_rx_pkts--;
+
+ if (atomic_read(&sdev->rx_thread.thread_done)) {
+ done = true;
+ break;
+ }
+ }
+ rsi_reset_event(&sdev->rx_thread.event);
+ if (done)
+ break;
+ } while (1);
redpine_dbg(INFO_ZONE, "%s: Terminated SDIO RX thread\n", __func__);
+ skb_queue_purge(&sdev->rx_q.head);
atomic_inc(&sdev->rx_thread.thread_done);
complete_and_exit(&sdev->rx_thread.completion, 0);
}
@@ -115,6 +138,7 @@ static int rsi_process_pkt(struct rsi_common *common)
int status = 0;
u8 value = 0;
u8 protocol = 0, unaggr_pkt = 0;
+ struct sk_buff *skb;
#define COEX_PKT 0
@@ -155,18 +179,41 @@ static int rsi_process_pkt(struct rsi_common *common)
unaggr_pkt = 1;
rcv_pkt_len = (num_blks * 256);
+ if (dev->rx_q.num_rx_pkts >= RSI_SDIO_MAX_RX_PKTS)
+ {
+ redpine_dbg(ISR_ZONE, "%s,%d: Reached MAX RX_Q size,"
+ "dropping the packet\n",__func__,__LINE__);
+ goto DROP_PKT;
+ }
+
+ skb = dev_alloc_skb(rcv_pkt_len);
+
+ if (!skb)
+ {
+ redpine_dbg(ERR_ZONE, "%s,%d: Failed to allocate rx packet buffer,"
+ "dropping packet\n",__func__,__LINE__);
+ goto DROP_PKT;
+ }
- status = rsi_sdio_host_intf_read_pkt(adapter, dev->pktbuffer, rcv_pkt_len);
+ skb_put(skb, rcv_pkt_len);
+ status = rsi_sdio_host_intf_read_pkt(adapter, skb->data, skb->len);
if (status) {
redpine_dbg(ERR_ZONE, "%s,%d: Failed to read packet from card\n",
__func__,__LINE__);
+ dev_kfree_skb(skb);
return status;
}
- status = redpine_read_pkt(common, dev->pktbuffer, rcv_pkt_len);
- if (status) {
- redpine_dbg(ERR_ZONE, "Failed to read the packet\n");
- return status;
- }
+ skb_queue_tail(&dev->rx_q.head, skb);
+ dev->rx_q.num_rx_pkts++;
+ rsi_set_event(&dev->rx_thread.event);
+ return 0;
+DROP_PKT:
+ status = rsi_sdio_host_intf_read_pkt(adapter, dev->temp_rcv_buf, rcv_pkt_len);
+ if (status)
+ redpine_dbg(ERR_ZONE, "%s,%d: Failed to read packet from card\n",
+ __func__,__LINE__);
+
+ rsi_set_event(&dev->rx_thread.event);
return 0;
}
@@ -273,17 +320,18 @@ int rsi_read_intr_status_reg(struct rsi_hw *adapter)
}
/**
- * rsi_rx_handler() - This function read and process SDIO interrupts.
+ * rsi_interrupt_handler() - This function read and process SDIO interrupts.
* @adapter: Pointer to the adapter structure.
*
* Return: None.
*/
-static void rsi_rx_handler(struct rsi_hw *adapter)
+void rsi_interrupt_handler(struct rsi_hw *adapter)
{
struct rsi_common *common = adapter->priv;
struct rsi_91x_sdiodev *dev =
(struct rsi_91x_sdiodev *)adapter->rsi_dev;
int status;
+ enum sdio_interrupt_type isr_type;
u8 isr_status = 0;
u8 fw_status = 0;
diff --git a/drivers/net/wireless/redpine/rsi_sdio.h b/drivers/net/wireless/redpine/rsi_sdio.h
index 26ea697f91e4..bc22f75184fb 100644
--- a/drivers/net/wireless/redpine/rsi_sdio.h
+++ b/drivers/net/wireless/redpine/rsi_sdio.h
@@ -133,6 +133,12 @@ struct receive_info {
u32 buf_available_counter;
};
+#define RSI_SDIO_MAX_RX_PKTS 100
+struct rsi_sdio_rx_q {
+ u8 num_rx_pkts;
+ struct sk_buff_head head;
+};
+
struct rsi_91x_sdiodev {
struct sdio_func *pfunction;
struct task_struct *sdio_irq_task;
@@ -145,12 +151,13 @@ struct rsi_91x_sdiodev {
u32 tx_blk_size;
u8 write_fail;
u8 buff_status_updated;
+ struct rsi_sdio_rx_q rx_q;
struct rsi_thread rx_thread;
u8 *temp_rcv_buf;
- u8 pktbuffer[8192] __aligned(4);
};
void redpine_gpio_init(struct rsi_common *common);
+void rsi_interrupt_handler(struct rsi_hw *adapter);
int rsi_init_sdio_slave_regs(struct rsi_hw *adapter);
int rsi_sdio_device_init(struct rsi_common *common);
int rsi_sdio_read_register(struct rsi_hw *adapter, u32 addr, u8 *data);
--
GitLab
......@@ -2,7 +2,7 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=linux-purism-librem5
pkgver=5.11.4
pkgrel=1
pkgrel=3
_purismrel=1
# <kernel ver>.<purism kernel release>
_purismver=${pkgver}pureos$_purismrel
......@@ -35,6 +35,7 @@ source="
8f11380ec32912370b8ae9134a0387a6f18862f7.patch
0001-Revert-arm64-dts-librem5-Drop-separte-DP-device-tree.patch
0002-bq25890_charger-enter-ship-mode-on-power-off.patch
0003-Revert-redpine-Clean-up-loop-in-the-interrupt-handler.patch
$_config
"
builddir="$srcdir/$_repository-pureos-$_purismver"
......@@ -77,4 +78,5 @@ sha512sums="d2e0f49403413f581aee6e47e021cb04fc003fbf821349c188a0c6a57561ba702c32
9870bff4b187188b519b23264c2634ee4232011fed6d2f66a7b4971db354ac3dffa0e1552bd0dc953c66ec622e18ce8899fdbcfba94f60867fc5004d6da96753 8f11380ec32912370b8ae9134a0387a6f18862f7.patch
5baae99010bde62e253fdd56f21ba096c217ba2ab9c367c80b34bc0f445a79a8fb8b5d14682f71ad6061d73c81fc16a608f4be037d792978dbbaf74267844260 0001-Revert-arm64-dts-librem5-Drop-separte-DP-device-tree.patch
1a12f74895b0fc710792e3881f23754a8eb92d25b11a2751db007a1b08f72729043d1e824096c97dc795b8e33300274887b428997ddaacf4b61f52ef3bd78ce5 0002-bq25890_charger-enter-ship-mode-on-power-off.patch
d27cc078f49563fa935d104846017c9ba28e859d5231d202c68b6438e25f381747206fe0be86d323bd50dc457e67b02a52eb60a845c35bd33d7f2367893781d2 config-purism-librem5.aarch64"
00286a7ea3d3167150eca1025f271bb76e05d8a47c481879b1322ec9e88250c365b1b0ddcc8140ccc9b8f6138ffec843f184645c0c7d4ff11f75c988f5c4945c 0003-Revert-redpine-Clean-up-loop-in-the-interrupt-handler.patch
07ce9dfb837e8a1ae10bc0edbbca107a3b12a2e5e2935fa9a1aa24c8f31e3c564685f2cb4a7b231960bdc666bcead1a946645ec7615b985d5c3d0cf6babaf098 config-purism-librem5.aarch64"
......@@ -2,10 +2,10 @@
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.11.4 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 10.2.1_pre1) 10.2.1 20201203"
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 10.2.1_git20210318) 10.2.1 20210318"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=100201
CONFIG_LD_VERSION=235010000
CONFIG_LD_VERSION=235020000
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
CONFIG_CC_HAS_ASM_GOTO=y
......@@ -4805,7 +4805,7 @@ CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_PATTERN=m
CONFIG_LEDS_TRIGGER_PATTERN=y
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
......
......@@ -2,7 +2,7 @@
pkgname=soc-qcom-msm8916
pkgdesc="Common package for Qualcomm MSM8916 devices"
pkgver=10
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="BSD-3-Clause"
arch="aarch64 armv7"
......@@ -10,7 +10,7 @@ options="!check !archcheck !tracedeps pmb:cross-native"
depends="mesa-dri-gallium $pkgname-ucm"
subpackages="$pkgname-ucm $pkgname-modem"
_ucm_commit="174c39580db41f3b895c6262dc747c283a0e5e3c"
_ucm_commit="66d2d458458b975fa3bf8e657bbd34b2db4b6b77"
source="$pkgname-$_ucm_commit.tar.gz::https://github.com/msm8916-mainline/alsa-ucm-conf/archive/$_ucm_commit.tar.gz
q6voiced.conf
"
......@@ -41,5 +41,5 @@ modem() {
install -Dm644 q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
}
sha512sums="ee92bff4fdab39f5f58a149eff7ad9a06a98fe700cbc6604ec2696ba7794aa9e5753de631d27c2f1f9dcb2ed968dc8f459dbf1daa21e3bde82844930b1995ceb soc-qcom-msm8916-174c39580db41f3b895c6262dc747c283a0e5e3c.tar.gz
sha512sums="e00b637b9f0756f73e1d43189d2dceec22a3b21193f6649de32689d1eea3d6c96ad6c1665fb5c82d6beee6cb341d5b84e36ae04e9b780093700715db9688b54f soc-qcom-msm8916-66d2d458458b975fa3bf8e657bbd34b2db4b6b77.tar.gz
3a4a9322839d4b3ef9d79668a37840a9f444954759ae3c512e694051d2f9a2573db42ad6c4c1a5c75eeb861232a27ba1a8cef9b503decd54ead25a96e3dd6f98 q6voiced.conf"
......@@ -4,7 +4,7 @@
# Co-Maintainer: Bart Ribbers <bribbers@disroot.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=device-pine64-pinephone
pkgver=0.21
pkgver=0.23
pkgrel=0
pkgdesc="PINE64 PinePhone"
url="https://postmarketos.org"
......@@ -45,8 +45,12 @@ source="
gpsd_pinephone.initd
hwtest.ini
kirigami-lowpower.sh
modemmanager.conf
setup-modem.sh
setup-modem.sh.ofono
eg25-pinephone-1.0.toml
eg25-pinephone-1.1.toml
eg25-pinephone-1.2.toml
sysrq.conf
uboot-script.cmd
ucm/HiFi.conf
......@@ -111,6 +115,14 @@ package() {
"$pkgdir"/usr/bin/pinephone_setup-modem
install -Dm644 "$srcdir"/90-modem-eg25.rules -t \
"$pkgdir"/usr/lib/udev/rules.d/
install -Dm644 "$srcdir"/modemmanager.conf \
"$pkgdir"/etc/conf.d/modemmanager
install -Dm644 "$srcdir"/eg25-pinephone-1.0.toml \
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.0.toml
install -Dm644 "$srcdir"/eg25-pinephone-1.1.toml \
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.1.toml
install -Dm644 "$srcdir"/eg25-pinephone-1.2.toml \
"$pkgdir"/etc/eg25-manager/pine64,pinephone-1.2.toml
# Wifi / PM
install -Dm644 "$srcdir"/70-wifi-pm.rules -t \
......@@ -165,8 +177,12 @@ ccbc83b84b5028bc2c8e526759004ce71b50b2675ecffee98f5676c70a3332197a231ff9d2fd4644
1017fc3f325227da58c77abdc59e9735288d91a7ccc63ec784fe0241c523786b617a11ce8045dab2a74ca12a7dd70aaa334af91836418db1e96a3266fecaa4fd gpsd_pinephone.initd
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030 hwtest.ini
6bc22b369b2d9058b702ac7a7862abaefaf8179b43491868bdb008d181b59104f1ded89db1da51a810e1ccdc803a579b924a438674283a65afc3a9c4d2894caf kirigami-lowpower.sh
3d6e9030125afc1dc3b654d1ce5d124ddd3ef3ad1a4d3e46c8168cf3f8a3762ffd0c75427759740ae26bd5c4f32b6704b7cf7e5806434884560fa704b7e72921 modemmanager.conf
fa063e2863afc48e627acc1a5b213a81499ba1dd30325f74f118a44e3964aec7e597b1f4bd318b7cf5bf14f27daf88e6ad9fc277ab106cbbe1189fdcc650d5c1 setup-modem.sh
0c81d758e1bcb56ed2cdaf91124121ebbd4dd7a5e25f02a7685b837faf660949d05f6b07b39a1c6a9ca22a7029cdcf3c6dac8f1038e37c8a34cb7c5702e9df51 setup-modem.sh.ofono
f9386dfd902028988c9659bd6e001ba46ea87b35f5dce7723dd4cfbe971928c75f6fef9d706201d62cc24cca2d499a39c8c0fed58a3403e2cb848eb1aece0e19 eg25-pinephone-1.0.toml
cf7d4a611701745762f19746e40d87b6df14a6b24f2d466c4177b7ab5ee87a048bab719a6c66722198020e1aa73d3e12d3715b5588bc33bf207f3e86040dcc44 eg25-pinephone-1.1.toml
8adeca98002ff8ee850512f72f2e126348cfa817a1aefdd77d103aee76a6b2e6a024deffcbeef1235ee2fcc766003f55b67cedb3eb06ca92a58d5b81f2bf6848 eg25-pinephone-1.2.toml
f4b5509fd6a8b23f3667f5e7262b3a19c607a37cb9eaf7d0e93eb826d45c26ec12df4810879bacb8e4042bb83cc80b2b436224c8d47b6d67361369a724bbf7ee sysrq.conf
b20d4fb9f08a1bbc1c12ce6940e438a00f5c8d400fbc5071e951ffc69f77d2421204472e86f1a7df0488d250f3ec16205b75d4eac8c3cb5521fe9a02ea24865a uboot-script.cmd
de88fc198c11637d9c6465f8a6fb4deab3d0802bdb52ffaa9a08833aa0ef63689b674b12b44cb314f3870d9d21fc3ae55f8db03c9a838860301be60a88e48835 HiFi.conf
......
[manager]
need_libusb = true
usb_vid = 0x2c7c
usb_pid = 0x0125
# Uncomment the following if you need to change the modem detection timeout on
# resume and/or the time during which suspend is blocked after modem boot
#[suspend]
#boot_timeout = 120
#recovery_timeout = 9
[gpio]
dtr = 358
pwrkey = 35
reset = 68
apready = 231
disable = 232
[at]
uart = "/dev/ttyS2"
configure = [
# Each command has 4 possible elements:
# * `cmd` : the AT command itself, which will be translated to "AT+`cmd`"
# * `subcmd`: the subcommand in case a single AT command can be used
# to change multiple parameters, such as QCFG (optional)
# * `value` : the commands, argument, usually used to set the value of
# a specific parameter (optional)
# * `expect`: the expected return value; the command is first executed
# without any value in order to query the current state. This
# state is then compared to the `expect` string; if they don't
# match, the command is then executed with value `expect` in
# order to set the parameter to the configured value (optional)
# A command can have `expect` OR `value` configured, but it shouldn't have both
{ cmd = "QGMR" },
{ cmd = "QDAI", expect = "1,1,0,1,0,0,1,1" },
{ cmd = "QCFG", subcmd = "risignaltype", expect = "\"physical\"" },
{ cmd = "QCFG", subcmd = "ims", expect = "1" },
{ cmd = "QCFG", subcmd = "urc/ri/ring", expect = "\"pulse\",2000,1000,5000,\"off\",1" },
{ cmd = "QCFG", subcmd = "urc/ri/smsincoming", expect = "\"pulse\",2000" },
{ cmd = "QCFG", subcmd = "urc/ri/other", expect = "\"off\",1" },
{ cmd = "QCFG", subcmd = "urc/delay", expect = "1" },
{ cmd = "QURCCFG", subcmd = "urcport", expect = "\"usbat\"" },
{ cmd = "QSCLK", value = "1" },
]
suspend = [
]
resume = [
]
reset = [ { cmd = "CFUN", value = "1,1" } ]
[manager]
need_libusb = true
usb_vid = 0x2c7c
usb_pid = 0x0125
# Uncomment the following if you need to change the modem detection timeout on
# resume and/or the time during which suspend is blocked after modem boot
#[suspend]
#boot_timeout = 120
#recovery_timeout = 9
[gpio]
dtr = 358
pwrkey = 35
reset = 68
apready = 231
disable = 232
[at]
uart = "/dev/ttyS2"
configure = [
# Each command has 4 possible elements:
# * `cmd` : the AT command itself, which will be translated to "AT+`cmd`"
# * `subcmd`: the subcommand in case a single AT command can be used
# to change multiple parameters, such as QCFG (optional)
# * `value` : the commands, argument, usually used to set the value of
# a specific parameter (optional)
# * `expect`: the expected return value; the command is first executed
# without any value in order to query the current state. This
# state is then compared to the `expect` string; if they don't
# match, the command is then executed with value `expect` in
# order to set the parameter to the configured value (optional)
# A command can have `expect` OR `value` configured, but it shouldn't have both
{ cmd = "QGMR" },
{ cmd = "QDAI", expect = "1,1,0,1,0,0,1,1" },
{ cmd = "QCFG", subcmd = "risignaltype", expect = "\"physical\"" },
{ cmd = "QCFG", subcmd = "ims", expect = "1" },
{ cmd = "QCFG", subcmd = "urc/ri/ring", expect = "\"pulse\",2000,1000,5000,\"off\",1" },
{ cmd = "QCFG", subcmd = "urc/ri/smsincoming", expect = "\"pulse\",2000" },
{ cmd = "QCFG", subcmd = "urc/ri/other", expect = "\"off\",1" },
{ cmd = "QCFG", subcmd = "urc/delay", expect = "1" },
{ cmd = "QURCCFG", subcmd = "urcport", expect = "\"usbat\"" },
{ cmd = "QSCLK", value = "1" },
]
suspend = [
]
resume = [
]
reset = [ { cmd = "CFUN", value = "1,1" } ]
# Uncomment the following if you need to change the modem detection timeout on
# resume and/or the time during which suspend is blocked after modem boot
#[suspend]
#boot_timeout = 120
#recovery_timeout = 9
[gpio]
dtr = 34
pwrkey = 35
reset = 68
apready = 231
disable = 232
status = 233
[at]
uart = "/dev/ttyS2"
configure = [
# Each command has 4 possible elements:
# * `cmd` : the AT command itself, which will be translated to "AT+`cmd`"
# * `subcmd`: the subcommand in case a single AT command can be used
# to change multiple parameters, such as QCFG (optional)
# * `value` : the commands, argument, usually used to set the value of
# a specific parameter (optional)
# * `expect`: the expected return value; the command is first executed
# without any value in order to query the current state. This
# state is then compared to the `expect` string; if they don't
# match, the command is then executed with value `expect` in
# order to set the parameter to the configured value (optional)
# A command can have `expect` OR `value` configured, but it shouldn't have both
{ cmd = "QGMR" },
{ cmd = "QDAI", expect = "1,1,0,1,0,0,1,1" },
{ cmd = "QCFG", subcmd = "risignaltype", expect = "\"physical\"" },
{ cmd = "QCFG", subcmd = "ims", expect = "1" },
{ cmd = "QCFG", subcmd = "apready", expect = "1,0,500" },
{ cmd = "QURCCFG", subcmd = "urcport", expect = "\"usbat\"" },
{ cmd = "QSCLK", value = "1" },
]
suspend = [
]
resume = [
]
reset = [ { cmd = "CFUN", value = "1,1" } ]
# /etc/conf.d/modemmanager: config file for modemmanager
# Add extra command line options to modemmanager, use with care
# ModemManager --help for possible values
# Disable suspend/resume hooks for the EG25-G modem in the PinePhone
modemmanager_opts="--test-no-suspend-resume"
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-pine64-pinebookpro
pkgdesc="PINE64 Pinebook Pro"
pkgver=0.1
pkgrel=4
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="postmarketos-base linux-postmarketos-rockchip u-boot-rockpro64 mesa-dri-gallium alsa-ucm-conf"
depends="postmarketos-base linux-postmarketos-rockchip u-boot-pinebookpro mesa-dri-gallium alsa-ucm-conf"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
install="$pkgname.post-install"
......@@ -51,9 +51,9 @@ nonfree_firmware() {
mkdir "$subpkgdir"
}
sha512sums="3247ea65950e82311bf2a56273c7523849682fa3cc2dfc19e54c0154a626869181b22e9545bf952cf262e188d032f5342e5a679a63d0c02d6cb972ad0cd2206a deviceinfo
6b3695373d6df7b6ac9f59a8c492d2f5e1ef1c6192662224547b500b071bf00ee4335c57736ba787eec236a2e8bde3c559f3cfc3d1e6fe13a7386d7a0db3ff78 extlinux.conf
sha512sums="68a5ba3b3115fa3c0d202566326052118ade7e8e2f8b6804d09a15ed63ec33fa5098354fd79ad24ee166f901f1349f3f0e4af5efc3924c6424d63e6b31de7542 deviceinfo
cdcb1d36440c29d411691990c1170d9665b13b1c551b35825720d23b6ae40311ce91c3b2b7a089deaacd7a33c6febe4f81dc75d71dd4bed887291221d56dc1d2 extlinux.conf
d3988fe83c54228d743f4a8c190e9530404a436a7fbc0b004bf20d3986b502d864717d8cc9c76812e599266bf84cb08f9a86e1bfd220875799c5a022aea588ec 10-pinebookpro.hwdb
bcae155e24a151d3c098833680b83b6004a329962f115480d560ebe19257eab87286b8a4c194e456c067ca54fb53e59a5a16b022cea13c11135b0855145db563 mem_sleep.conf
846384cab3e9581a03007cf4f39f8538315e804d1573903dd223d22d5ca0b6f260e348467aead5124689288fb7d2ec22c1e9aba8e89683efdbd33ddfe10de852 rockchip,es8316-codec.conf
520157f8215bd33e89f530fc37db451cf672df697de8883c91635df4fc32c4788dde1dd313c7d8b229916579fa25e0d60c8baf4721dcd9f95550abaa6d98a536 HiFi"
558f08b56425e0ceeea8d4815eeb862a2b801ba1b26b4dc28f4d0ec991ed9dfef14113172a224191eb2de5d0b57a741e4c48f1307bda2a69595944bd58731be1 HiFi"
......@@ -6,7 +6,7 @@ deviceinfo_name="PINE64 Pinebook Pro"
deviceinfo_manufacturer="PINE64"
deviceinfo_codename="pine64-pinebookpro"
deviceinfo_year="2019"
deviceinfo_dtb="rockchip/rk3399-pinebook-pro"
deviceinfo_dtb=""
deviceinfo_modules_initfs="panel_simple pwm_bl rockchipdrm dw_mipi_dsi drm_kms_helper gpu_sched rockchip_rga dw_wdt videobuf2_dma_sg analogix_dp drm_panel_orientation_quirks"
deviceinfo_arch="aarch64"
......@@ -17,6 +17,10 @@ deviceinfo_external_storage="true"
deviceinfo_screen_width="1920"
deviceinfo_screen_height="1080"
# Installer related
deviceinfo_dev_internal_storage="/dev/mmcblk2"
deviceinfo_dev_internal_storage_repartition="true"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_sd_embed_firmware="u-boot/pine64-rockpro64/u-boot-rockchip.bin:32"
......
......@@ -4,6 +4,6 @@ menu title boot prev kernel
label POSTMARKETOS
kernel /vmlinuz-postmarketos-rockchip
fdt /rk3399-pinebook-pro.dtb
fdt /dtbs-postmarketos-rockchip/rockchip/rk3399-pinebook-pro.dtb
initrd /initramfs-postmarketos-rockchip
append console=tty0 console=ttyS2,1500000n8 panic=10 coherent_pool=1M video=HDMI-A-1:1920x1080@60 video=eDP-1:1920x1080@60 loglevel=5 mem_sleep_default=s2idle PMOS_NO_OUTPUT_REDIRECT
......@@ -29,17 +29,18 @@ SectionDevice."Speaker" {
cset "name='Speaker Switch' off"
]
Value {
PlaybackPriority 200
PlaybackChannels "2"
PlaybackPCM "hw:${CardId},0"
PlaybackVolume "DAC Playback Volume"
PlaybackSwitch "Speaker Switch"
PlaybackChannels 2
PlaybackPriority 300
PlaybackPCM "hw:${CardId},0"
}
ConflictingDevice [
"Headphone"
"Headphones"
]
}
SectionDevice."Headphone" {
Comment "Headphones"
SectionDevice."Headphones" {
Comment "Headset"
EnableSequence [
cset "name='Headphone Playback Volume' 50%"
cset "name='Headphone Mixer Volume' 100%"
......@@ -48,13 +49,13 @@ SectionDevice."Headphone" {
DisableSequence [
]
Value {
PlaybackPriority 100
PlaybackChannels "2"
PlaybackPCM "hw:${CardId},0"
PlaybackVolume "DAC Playback Volume"
PlaybackChannels 2
PlaybackPriority 500
PlaybackPCM "hw:${CardId},0"
JackControl "Headphones Jack"
}
ConflictingDevice [
"Speaker"
]
}
\ No newline at end of file
}