* [PATCH 00/11] ASoC: Address remaining PCM constraint issues
@ 2026-10-16 4:09 phucduc.bui
2026-10-16 4:09 ` [PATCH 01/11] ASoC: amd: Explain component open return value handling phucduc.bui
` (10 more replies)
0 siblings, 11 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Hi all,
Since v1 has already been applied, this series provides incremental
changes to address the remaining items from v2:
- Add comments explaining why .open() and .startup() must return 0
on success to prevent the issue from being reintroduced.
- Add Reviewed-by tags from Vijendar Mukunda and Chancel Liu,
and Acked-by tags from Morimoto-san and Cezary.
- Remove redundant integer constraints already applied
by snd_dmaengine_pcm_open().
Link v1:
https://lore.kernel.org/all/20261008103831.542533-1-phucduc.bui@gmail.com/
Link v2:
https://lore.kernel.org/all/20261015014324.5569-1-phucduc.bui@gmail.com/
Compile-tested only.
Best regards,
Phuc
bui duc phuc (11):
ASoC: amd: Explain component open return value handling
ASoC: apple: Explain DAI startup return value handling
ASoC: atmel: Explain component open return value handling
ASoC: codecs: Explain DAI startup return value handling
ASoC: imx-pcm-rpmsg: Explain component open return value handling
ASoC: intel: atom: Explain DAI startup return value handling
ASoC: renesas: msiof: Explain component open return value handling
ASoC: renesas: msiof: Remove redundant period constraint
ASoC: renesas: rz-ssi: Explain component open return value handling
ASoC: renesas: rz-ssi: Remove redundant component open callback
ASoC: rockchip: Explain DAI link startup return value handling
sound/soc/amd/acp/acp-platform.c | 5 +++++
sound/soc/amd/ps/ps-pdm-dma.c | 6 ++++++
sound/soc/amd/ps/ps-sdw-dma.c | 6 ++++++
sound/soc/amd/raven/acp3x-pcm-dma.c | 6 ++++++
sound/soc/amd/renoir/acp3x-pdm-dma.c | 6 ++++++
sound/soc/amd/vangogh/acp5x-pcm-dma.c | 6 ++++++
sound/soc/amd/yc/acp6x-pdm-dma.c | 6 ++++++
sound/soc/apple/mca.c | 5 +++++
sound/soc/atmel/atmel-pcm-pdc.c | 5 +++++
sound/soc/codecs/cs42l42.c | 5 +++++
sound/soc/codecs/nau8325.c | 5 +++++
sound/soc/codecs/nau8540.c | 5 +++++
sound/soc/codecs/nau8821.c | 5 +++++
sound/soc/codecs/nau8824.c | 5 +++++
sound/soc/codecs/nau8825.c | 5 +++++
sound/soc/codecs/wm8580.c | 5 +++++
sound/soc/codecs/wm8782.c | 5 +++++
sound/soc/fsl/imx-pcm-rpmsg.c | 6 ++++++
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 5 +++++
sound/soc/renesas/fsi.c | 5 +++++
sound/soc/renesas/rcar/msiof.c | 10 ++--------
sound/soc/renesas/rz-ssi.c | 19 +++++--------------
sound/soc/rockchip/rk3399_gru_sound.c | 5 +++++
sound/soc/rockchip/rockchip_max98090.c | 5 +++++
24 files changed, 124 insertions(+), 22 deletions(-)
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 01/11] ASoC: amd: Explain component open return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 02/11] ASoC: apple: Explain DAI startup " phucduc.bui
` (9 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add comments explaining why the .open() callbacks must return 0
on success to ensure proper rollback handling and prevent future
changes from reintroducing the issue.
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/amd/acp/acp-platform.c | 5 +++++
sound/soc/amd/ps/ps-pdm-dma.c | 6 ++++++
sound/soc/amd/ps/ps-sdw-dma.c | 6 ++++++
sound/soc/amd/raven/acp3x-pcm-dma.c | 6 ++++++
sound/soc/amd/renoir/acp3x-pdm-dma.c | 6 ++++++
sound/soc/amd/vangogh/acp5x-pcm-dma.c | 6 ++++++
sound/soc/amd/yc/acp6x-pdm-dma.c | 6 ++++++
7 files changed, 41 insertions(+)
diff --git a/sound/soc/amd/acp/acp-platform.c b/sound/soc/amd/acp/acp-platform.c
index ba6dfe8fb6b7..f2c8853775ad 100644
--- a/sound/soc/amd/acp/acp-platform.c
+++ b/sound/soc/amd/acp/acp-platform.c
@@ -248,6 +248,11 @@ static int acp_dma_open(struct snd_soc_component *component, struct snd_pcm_subs
list_add_tail(&stream->list, &chip->stream_list);
spin_unlock_irq(&chip->acp_lock);
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c
index 28e0686e9373..12c341e89bce 100644
--- a/sound/soc/amd/ps/ps-pdm-dma.c
+++ b/sound/soc/amd/ps/ps-pdm-dma.c
@@ -211,6 +211,12 @@ static int acp63_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp63_base = adata->acp63_base;
runtime->private_data = pdm_data;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c
index 553fe11a2e50..c2640985f54c 100644
--- a/sound/soc/amd/ps/ps-sdw-dma.c
+++ b/sound/soc/amd/ps/ps-sdw-dma.c
@@ -337,6 +337,12 @@ static int acp63_sdw_dma_open(struct snd_soc_component *component,
stream->stream_id = cpu_dai->id;
stream->instance = amd_manager->instance;
runtime->private_data = stream;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
index 072f3dc35d40..765057499021 100644
--- a/sound/soc/amd/raven/acp3x-pcm-dma.c
+++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
@@ -237,6 +237,12 @@ static int acp3x_dma_open(struct snd_soc_component *component,
i2s_data->acp3x_base = adata->acp3x_base;
runtime->private_data = i2s_data;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c
index c0481a9ba858..89dc60849c06 100644
--- a/sound/soc/amd/renoir/acp3x-pdm-dma.c
+++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c
@@ -233,6 +233,12 @@ static int acp_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp_base = adata->acp_base;
runtime->private_data = pdm_data;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
index 33d59d992ee0..72050fa2de80 100644
--- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c
+++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
@@ -231,6 +231,12 @@ static int acp5x_dma_open(struct snd_soc_component *component,
}
i2s_data->acp5x_base = adata->acp5x_base;
runtime->private_data = i2s_data;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c
index afa9f66533e3..cba2509faaa1 100644
--- a/sound/soc/amd/yc/acp6x-pdm-dma.c
+++ b/sound/soc/amd/yc/acp6x-pdm-dma.c
@@ -209,6 +209,12 @@ static int acp6x_pdm_dma_open(struct snd_soc_component *component,
pdm_data->acp6x_base = adata->acp6x_base;
runtime->private_data = pdm_data;
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 02/11] ASoC: apple: Explain DAI startup return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
2026-10-16 4:09 ` [PATCH 01/11] ASoC: amd: Explain component open return value handling phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 03/11] ASoC: atmel: Explain component open " phucduc.bui
` (8 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .startup() must return 0 on success
to ensure the DAI is correctly marked as started and prevent
future changes from reintroducing the issue.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/apple/mca.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/apple/mca.c b/sound/soc/apple/mca.c
index 3585432ad49b..26022a42a95e 100644
--- a/sound/soc/apple/mca.c
+++ b/sound/soc/apple/mca.c
@@ -535,6 +535,11 @@ static int mca_fe_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 03/11] ASoC: atmel: Explain component open return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
2026-10-16 4:09 ` [PATCH 01/11] ASoC: amd: Explain component open return value handling phucduc.bui
2026-10-16 4:09 ` [PATCH 02/11] ASoC: apple: Explain DAI startup " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 04/11] ASoC: codecs: Explain DAI startup " phucduc.bui
` (7 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .open() must return 0 on success
to ensure proper rollback handling and prevent future changes
from reintroducing the issue.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/atmel/atmel-pcm-pdc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/atmel/atmel-pcm-pdc.c b/sound/soc/atmel/atmel-pcm-pdc.c
index 552bfa30d4ba..4cedf2ad934d 100644
--- a/sound/soc/atmel/atmel-pcm-pdc.c
+++ b/sound/soc/atmel/atmel-pcm-pdc.c
@@ -295,6 +295,11 @@ static int atmel_pcm_open(struct snd_soc_component *component,
}
runtime->private_data = prtd;
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
out:
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 04/11] ASoC: codecs: Explain DAI startup return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (2 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 03/11] ASoC: atmel: Explain component open " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 9:19 ` Charles Keepax
2026-10-16 4:09 ` [PATCH 05/11] ASoC: imx-pcm-rpmsg: Explain component open " phucduc.bui
` (6 subsequent siblings)
10 siblings, 1 reply; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add comments explaining why the .startup() callbacks must return
0 on success to ensure the DAI is correctly marked as started
and prevent future changes from reintroducing the issue.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/codecs/cs42l42.c | 5 +++++
sound/soc/codecs/nau8325.c | 5 +++++
sound/soc/codecs/nau8540.c | 5 +++++
sound/soc/codecs/nau8821.c | 5 +++++
sound/soc/codecs/nau8824.c | 5 +++++
sound/soc/codecs/nau8825.c | 5 +++++
sound/soc/codecs/wm8580.c | 5 +++++
sound/soc/codecs/wm8782.c | 5 +++++
8 files changed, 40 insertions(+)
diff --git a/sound/soc/codecs/cs42l42.c b/sound/soc/codecs/cs42l42.c
index f6e4bf6206b7..18d6cb9bfa2c 100644
--- a/sound/soc/codecs/cs42l42.c
+++ b/sound/soc/codecs/cs42l42.c
@@ -907,6 +907,11 @@ static int cs42l42_dai_startup(struct snd_pcm_substream *substream, struct snd_s
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/nau8325.c b/sound/soc/codecs/nau8325.c
index 0902a7d7730d..5ccf4c110567 100644
--- a/sound/soc/codecs/nau8325.c
+++ b/sound/soc/codecs/nau8325.c
@@ -501,6 +501,11 @@ static int nau8325_dai_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/nau8540.c b/sound/soc/codecs/nau8540.c
index 9484388ab262..09e7f31a904d 100644
--- a/sound/soc/codecs/nau8540.c
+++ b/sound/soc/codecs/nau8540.c
@@ -431,6 +431,11 @@ static int nau8540_dai_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/nau8821.c b/sound/soc/codecs/nau8821.c
index 935df063822c..7b88ee3159d1 100644
--- a/sound/soc/codecs/nau8821.c
+++ b/sound/soc/codecs/nau8821.c
@@ -841,6 +841,11 @@ static int nau8821_dai_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/nau8824.c b/sound/soc/codecs/nau8824.c
index c89889aa420e..046cce9192b7 100644
--- a/sound/soc/codecs/nau8824.c
+++ b/sound/soc/codecs/nau8824.c
@@ -1073,6 +1073,11 @@ static int nau8824_dai_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/nau8825.c b/sound/soc/codecs/nau8825.c
index 10bbfbb460b1..af2a49c893d3 100644
--- a/sound/soc/codecs/nau8825.c
+++ b/sound/soc/codecs/nau8825.c
@@ -1273,6 +1273,11 @@ static int nau8825_dai_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index 5343d445c322..cee80da8f753 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -860,6 +860,11 @@ static int wm8580_playback_startup(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/codecs/wm8782.c b/sound/soc/codecs/wm8782.c
index 767251ac4f89..cbf0c823c022 100644
--- a/sound/soc/codecs/wm8782.c
+++ b/sound/soc/codecs/wm8782.c
@@ -46,6 +46,11 @@ static int wm8782_dai_startup(struct snd_pcm_substream *sub, struct snd_soc_dai
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI is correctly marked as started.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 05/11] ASoC: imx-pcm-rpmsg: Explain component open return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (3 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 04/11] ASoC: codecs: Explain DAI startup " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 06/11] ASoC: intel: atom: Explain DAI startup " phucduc.bui
` (5 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Chancel Liu,
Hemanth Selam, linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .open() must return 0 on success
to ensure proper rollback handling and prevent future changes
from reintroducing the issue.
Reviewed-by: Chancel Liu <chancel.liu@gmail.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/fsl/imx-pcm-rpmsg.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm-rpmsg.c
index 30e75fee5175..85b7c929a28a 100644
--- a/sound/soc/fsl/imx-pcm-rpmsg.c
+++ b/sound/soc/fsl/imx-pcm-rpmsg.c
@@ -269,6 +269,12 @@ static int imx_rpmsg_pcm_open(struct snd_soc_component *component,
info->stream_timer[substream->stream].substream = substream;
timer_setup(&info->stream_timer[substream->stream].timer,
imx_rpmsg_timer_callback, 0);
+
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .close() is not skipped on rollback.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 06/11] ASoC: intel: atom: Explain DAI startup return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (4 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 05/11] ASoC: imx-pcm-rpmsg: Explain component open " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 07/11] ASoC: renesas: msiof: Explain component open " phucduc.bui
` (4 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .startup() must return 0 on success
to ensure proper rollback handling and prevent future changes
from reintroducing the issue.
Acked-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/intel/atom/sst-mfld-platform-pcm.c b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
index db1fb3b26909..58681e007abf 100644
--- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
+++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
@@ -341,6 +341,11 @@ static int sst_media_open(struct snd_pcm_substream *substream,
stream = NULL;
+ /*
+ * ASoC only marks the DAI as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure .shutdown() is not skipped on rollback.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 07/11] ASoC: renesas: msiof: Explain component open return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (5 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 06/11] ASoC: intel: atom: Explain DAI startup " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 08/11] ASoC: renesas: msiof: Remove redundant period constraint phucduc.bui
` (3 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .open() must return 0 on success
to ensure the component is correctly marked as opened and
prevent future changes from reintroducing the issue.
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/fsi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/renesas/fsi.c b/sound/soc/renesas/fsi.c
index 88618e4b052d..74e2ea002fbb 100644
--- a/sound/soc/renesas/fsi.c
+++ b/sound/soc/renesas/fsi.c
@@ -1820,6 +1820,11 @@ static int fsi_pcm_open(struct snd_soc_component *component,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure the component is correctly marked as opened.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 08/11] ASoC: renesas: msiof: Remove redundant period constraint
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (6 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 07/11] ASoC: renesas: msiof: Explain component open " phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 09/11] ASoC: renesas: rz-ssi: Explain component open return value handling phucduc.bui
` (2 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
snd_pcm_hw_constraint_integer() is already called by
snd_dmaengine_pcm_open(). Calling it again in msiof_open() is
unnecessary, as the constraint is already applied and the second
call returns 0.
Remove the redundant constraint call.
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/rcar/msiof.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/sound/soc/renesas/rcar/msiof.c b/sound/soc/renesas/rcar/msiof.c
index 9fead9a22cdc..11a6f22ec0ad 100644
--- a/sound/soc/renesas/rcar/msiof.c
+++ b/sound/soc/renesas/rcar/msiof.c
@@ -419,19 +419,13 @@ static int msiof_open(struct snd_soc_component *component,
return PTR_ERR(chan);
ret = snd_dmaengine_pcm_open(substream, chan);
- if (ret < 0)
- goto open_err_dma;
-
- snd_soc_set_runtime_hwparams(substream, &msiof_pcm_hardware);
-
- ret = snd_pcm_hw_constraint_integer(substream->runtime, SNDRV_PCM_HW_PARAM_PERIODS);
-
-open_err_dma:
if (ret < 0) {
dma_release_channel(chan);
return ret;
}
+ snd_soc_set_runtime_hwparams(substream, &msiof_pcm_hardware);
+
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 09/11] ASoC: renesas: rz-ssi: Explain component open return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (7 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 08/11] ASoC: renesas: msiof: Remove redundant period constraint phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 10/11] ASoC: renesas: rz-ssi: Remove redundant component open callback phucduc.bui
2026-10-16 4:09 ` [PATCH 11/11] ASoC: rockchip: Explain DAI link startup return value handling phucduc.bui
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add a comment explaining why .open() must return 0 on success
to ensure the component is correctly marked as opened and
prevent future changes from reintroducing the issue.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/rz-ssi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c
index 2e297f721bb6..9f36fe2c16d2 100644
--- a/sound/soc/renesas/rz-ssi.c
+++ b/sound/soc/renesas/rz-ssi.c
@@ -946,6 +946,11 @@ static int rz_ssi_pcm_open_pio(struct snd_soc_component *component,
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the component as opened when .open() returns 0.
+ * Since snd_pcm_hw_constraint_integer() may return 1, explicitly
+ * return 0 to ensure the component is correctly marked as opened.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 10/11] ASoC: renesas: rz-ssi: Remove redundant component open callback
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (8 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 09/11] ASoC: renesas: rz-ssi: Explain component open return value handling phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
2026-10-16 4:09 ` [PATCH 11/11] ASoC: rockchip: Explain DAI link startup return value handling phucduc.bui
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
In DMA mode, the generic dmaengine PCM component already applies
the integer PERIODS constraint in snd_dmaengine_pcm_open().
Since rz_ssi_pcm_open_dma() only applies this constraint, remove
the redundant component .open callback.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/renesas/rz-ssi.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c
index 9f36fe2c16d2..9a0781bb072d 100644
--- a/sound/soc/renesas/rz-ssi.c
+++ b/sound/soc/renesas/rz-ssi.c
@@ -954,19 +954,6 @@ static int rz_ssi_pcm_open_pio(struct snd_soc_component *component,
return 0;
}
-static int rz_ssi_pcm_open_dma(struct snd_soc_component *component,
- struct snd_pcm_substream *substream)
-{
- int ret;
-
- ret = snd_pcm_hw_constraint_integer(substream->runtime,
- SNDRV_PCM_HW_PARAM_PERIODS);
- if (ret < 0)
- return ret;
-
- return 0;
-}
-
static snd_pcm_uframes_t rz_ssi_pcm_pointer(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{
@@ -1017,7 +1004,6 @@ static const struct snd_soc_component_driver rz_ssi_soc_component_pio = {
static const struct snd_soc_component_driver rz_ssi_soc_component_dma = {
.name = "rz-ssi",
- .open = rz_ssi_pcm_open_dma,
.legacy_dai_naming = 1,
};
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 11/11] ASoC: rockchip: Explain DAI link startup return value handling
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
` (9 preceding siblings ...)
2026-10-16 4:09 ` [PATCH 10/11] ASoC: renesas: rz-ssi: Remove redundant component open callback phucduc.bui
@ 2026-10-16 4:09 ` phucduc.bui
10 siblings, 0 replies; 13+ messages in thread
From: phucduc.bui @ 2026-10-16 4:09 UTC (permalink / raw)
To: Vijendar Mukunda, Venkata Prasad Potturu, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai, povik+lin,
Claudiu Beznea, Andrei Simion, Nicolas Ferre, Alexandre Belloni,
David Rhodes, Richard Fitzgerald, Shengjiu Wang, Xiubo Li,
Fabio Estevam, Nicolin Chen, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Cezary Rojewski, Peter Ujfalusi,
Bard Liao, Kai Vehmanen, Pierre-Louis Bossart, Kuninori Morimoto,
Geert Uytterhoeven, Magnus Damm, Biju Das, Lad Prabhakar,
Heiko Stuebner
Cc: imx, wangdicheng, Kees Cook, Sang-Heon Jeon, Pengpeng Hou,
Bo Shen, Neo Chang, linux-rockchip, bui duc phuc,
Chris Bainbridge, Charles Keepax, linux-sound, u.kleine-koenig,
Zain Aboobacker, Bjorn Helgaas, Md Shofiqul Islam,
linux-arm-kernel, Krzysztof Kozlowski, patches, Linus Walleij,
linux-kernel, linux-renesas-soc, Vinod Koul, asahi, Hemanth Selam,
linuxppc-dev, Syed Saba Kareem
From: bui duc phuc <phucduc.bui@gmail.com>
Add comments explaining why the .startup() callbacks must return
0 on success to ensure the DAI link is correctly marked as started
and prevent future changes from reintroducing the issue.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/rockchip/rk3399_gru_sound.c | 5 +++++
sound/soc/rockchip/rockchip_max98090.c | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
index 0ec80a4b8c59..d4a0daabfb42 100644
--- a/sound/soc/rockchip/rk3399_gru_sound.c
+++ b/sound/soc/rockchip/rk3399_gru_sound.c
@@ -266,6 +266,11 @@ static int rockchip_sound_startup(struct snd_pcm_substream *substream)
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI link as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI link is correctly marked as started.
+ */
return 0;
}
diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
index d54c36682415..de392b420ebd 100644
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -202,6 +202,11 @@ static int rk_aif1_startup(struct snd_pcm_substream *substream)
if (ret < 0)
return ret;
+ /*
+ * ASoC only marks the DAI link as started when .startup() returns 0.
+ * Since snd_pcm_hw_constraint_minmax() may return 1, explicitly
+ * return 0 to ensure the DAI link is correctly marked as started.
+ */
return 0;
}
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 04/11] ASoC: codecs: Explain DAI startup return value handling
2026-10-16 4:09 ` [PATCH 04/11] ASoC: codecs: Explain DAI startup " phucduc.bui
@ 2026-10-16 9:19 ` Charles Keepax
0 siblings, 0 replies; 13+ messages in thread
From: Charles Keepax @ 2026-10-16 9:19 UTC (permalink / raw)
To: phucduc.bui
Cc: imx, Alexandre Belloni, Heiko Stuebner, Bard Liao, Xiubo Li,
Venkata Prasad Potturu, Frank Li, Cezary Rojewski,
Zain Aboobacker, Nicolas Ferre, Bjorn Helgaas, Pengpeng Hou,
Bo Shen, Claudiu Beznea, Neo Chang, Fabio Estevam,
Pierre-Louis Bossart, Kuninori Morimoto, Chris Bainbridge,
Shengjiu Wang, Takashi Iwai, Magnus Damm, Vinod Koul, Kees Cook,
Vijendar Mukunda, povik+lin, linux-rockchip, Geert Uytterhoeven,
Sascha Hauer, Lad Prabhakar, linux-sound, Nicolin Chen,
Richard Fitzgerald, Mark Brown, wangdicheng, Syed Saba Kareem,
Biju Das, Jaroslav Kysela, Peter Ujfalusi, Sang-Heon Jeon,
linux-arm-kernel, Krzysztof Kozlowski, Kai Vehmanen, patches,
Linus Walleij, linuxppc-dev, Liam Girdwood, linux-kernel,
linux-renesas-soc, Md Shofiqul Islam, asahi,
Pengutronix Kernel Team, Andrei Simion, u.kleine-koenig,
David Rhodes, Hemanth Selam
On Fri, Oct 16, 2026 at 11:09:39AM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Add comments explaining why the .startup() callbacks must return
> 0 on success to ensure the DAI is correctly marked as started
> and prevent future changes from reintroducing the issue.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Thanks,
Charles
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-10-16 9:20 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 4:09 [PATCH 00/11] ASoC: Address remaining PCM constraint issues phucduc.bui
2026-10-16 4:09 ` [PATCH 01/11] ASoC: amd: Explain component open return value handling phucduc.bui
2026-10-16 4:09 ` [PATCH 02/11] ASoC: apple: Explain DAI startup " phucduc.bui
2026-10-16 4:09 ` [PATCH 03/11] ASoC: atmel: Explain component open " phucduc.bui
2026-10-16 4:09 ` [PATCH 04/11] ASoC: codecs: Explain DAI startup " phucduc.bui
2026-10-16 9:19 ` Charles Keepax
2026-10-16 4:09 ` [PATCH 05/11] ASoC: imx-pcm-rpmsg: Explain component open " phucduc.bui
2026-10-16 4:09 ` [PATCH 06/11] ASoC: intel: atom: Explain DAI startup " phucduc.bui
2026-10-16 4:09 ` [PATCH 07/11] ASoC: renesas: msiof: Explain component open " phucduc.bui
2026-10-16 4:09 ` [PATCH 08/11] ASoC: renesas: msiof: Remove redundant period constraint phucduc.bui
2026-10-16 4:09 ` [PATCH 09/11] ASoC: renesas: rz-ssi: Explain component open return value handling phucduc.bui
2026-10-16 4:09 ` [PATCH 10/11] ASoC: renesas: rz-ssi: Remove redundant component open callback phucduc.bui
2026-10-16 4:09 ` [PATCH 11/11] ASoC: rockchip: Explain DAI link startup return value handling phucduc.bui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox