linux-postmarketos-qcom-sdm670: backport q6asm-dai sound fix

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7981>
This commit is contained in:
Richard Acayan 2026-02-09 22:29:30 -05:00 committed by The Friendly Meow (merge) Bot
parent 6abd70954c
commit 10462ab8a7
No known key found for this signature in database
2 changed files with 35 additions and 1 deletions

View file

@ -0,0 +1,32 @@
From 8328b858487bed47dd218af114c8bc83d3f251d1 Mon Sep 17 00:00:00 2001
From: Richard Acayan <mailingradian@gmail.com>
Date: Mon, 9 Feb 2026 07:42:04 -0500
Subject: [PATCH] ASoC: qcom: qdsp6: q6asm-dai: Keep stream marked running on
stop
The stream will be marked stopped after emitting end-of-stream. When
q6asm_dai_prepare is called while stopped, it is assumed that there is
no memory region mapped with different parameters. Keep the stream
marked as running so the prepare callback resets the memory regions.
Signed-off-by: Richard Acayan <mailingradian@gmail.com>
---
sound/soc/qcom/qdsp6/q6asm-dai.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-dai.c
index 0eae8c6e42b8..41572f8027a9 100644
--- a/sound/soc/qcom/qdsp6/q6asm-dai.c
+++ b/sound/soc/qcom/qdsp6/q6asm-dai.c
@@ -326,7 +326,7 @@ static int q6asm_dai_trigger(struct snd_soc_component *component,
0, 0, 0);
break;
case SNDRV_PCM_TRIGGER_STOP:
- prtd->state = Q6ASM_STREAM_STOPPED;
+ // prtd->state = Q6ASM_STREAM_STOPPED;
ret = q6asm_cmd_nowait(prtd->audio_client, prtd->stream_id,
CMD_EOS);
break;
--
2.53.0

View file

@ -4,7 +4,7 @@ maintainer="Richard Acayan <mailingradian@gmail.com>"
_flavor="postmarketos-qcom-sdm670"
pkgname=linux-$_flavor
pkgver=6.18.5
pkgrel=1
pkgrel=2
pkgdesc="Mainline Kernel fork for SDM670 devices"
arch="aarch64"
_carch="arm64"
@ -35,6 +35,7 @@ _tag="sdm670-v$pkgver"
# Source
source="
https://gitlab.com/sdm670-mainline/linux/-/archive/$_tag/linux-$_tag.tar.gz
0001-ASoC-qcom-qdsp6-q6asm-dai-Keep-stream-marked-running.patch
$_config
"
builddir="$srcdir/linux-$_tag"
@ -74,5 +75,6 @@ package() {
sha512sums="
e002e31904e0e9885e40d2054f297f8063e8720c663444019d333e64a6819a0dd3ecc48a9ab2891b420cbee702cfb0583e6ad51de1376be861989a6f15f37f30 linux-sdm670-v6.18.5.tar.gz
c30da4fb13415b0c30072cfb0c984454aaafbc90124ea399dce65f35baee0acc30f52f381ca44ebbddd028e4ff1b32b2c65eab2af8264309f0b2085bfb1ada5b 0001-ASoC-qcom-qdsp6-q6asm-dai-Keep-stream-marked-running.patch
b94720c1b2a59686b06c5c57403b1dea32feee0db0c0af53fe83070000d5717f55225441037aa6832cf1305276ccc21f7b7e77a59add32fc18da28647116c394 config-postmarketos-qcom-sdm670.aarch64
"