* [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors
@ 2026-09-10 11:43 phucduc.bui
2026-09-10 11:43 ` [PATCH 2/2] ASoC: mediatek: common: Propagate PCM buffer errors phucduc.bui
2026-09-10 17:23 ` [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors Mark Brown
0 siblings, 2 replies; 3+ messages in thread
From: phucduc.bui @ 2026-09-10 11:43 UTC (permalink / raw)
To: Mark Brown, AngeloGioacchino Del Regno
Cc: Liam Girdwood, Matthias Brugger, Jaroslav Kysela, Takashi Iwai,
Cezary Rojewski, Cyril Chao, Kuninori Morimoto, Darren Ye,
linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel,
bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
mtk_afe_add_sub_dai_control() currently ignores errors from
ASoC control and DAPM setup functions.
Propagate these errors to the caller.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
.../mediatek/common/mtk-afe-platform-driver.c | 38 ++++++++++++-------
1 file changed, 24 insertions(+), 14 deletions(-)
diff --git a/sound/soc/mediatek/common/mtk-afe-platform-driver.c b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
index 477284e12396..c1869b38c9e7 100644
--- a/sound/soc/mediatek/common/mtk-afe-platform-driver.c
+++ b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
@@ -51,29 +51,39 @@ int mtk_afe_add_sub_dai_control(struct snd_soc_component *component)
struct snd_soc_dapm_context *dapm = snd_soc_component_to_dapm(component);
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
struct mtk_base_afe_dai *dai;
+ int ret;
list_for_each_entry(dai, &afe->sub_dais, list) {
- if (dai->controls)
- snd_soc_add_component_controls(component,
- dai->controls,
- dai->num_controls);
+ if (dai->controls) {
+ ret = snd_soc_add_component_controls(component,
+ dai->controls,
+ dai->num_controls);
+ if (ret)
+ return ret;
+ }
- if (dai->dapm_widgets)
- snd_soc_dapm_new_controls(dapm,
- dai->dapm_widgets,
- dai->num_dapm_widgets);
+ if (dai->dapm_widgets) {
+ ret = snd_soc_dapm_new_controls(dapm,
+ dai->dapm_widgets,
+ dai->num_dapm_widgets);
+ if (ret)
+ return ret;
+ }
}
/* add routes after all widgets are added */
list_for_each_entry(dai, &afe->sub_dais, list) {
- if (dai->dapm_routes)
- snd_soc_dapm_add_routes(dapm,
- dai->dapm_routes,
- dai->num_dapm_routes);
+ if (dai->dapm_routes) {
+ ret = snd_soc_dapm_add_routes(dapm,
+ dai->dapm_routes,
+ dai->num_dapm_routes);
+ if (ret)
+ return ret;
+ }
}
- snd_soc_dapm_new_widgets(component->card);
+ ret = snd_soc_dapm_new_widgets(component->card);
- return 0;
+ return ret;
}
EXPORT_SYMBOL_GPL(mtk_afe_add_sub_dai_control);
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 2/2] ASoC: mediatek: common: Propagate PCM buffer errors
2026-09-10 11:43 [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors phucduc.bui
@ 2026-09-10 11:43 ` phucduc.bui
2026-09-10 17:23 ` [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: phucduc.bui @ 2026-09-10 11:43 UTC (permalink / raw)
To: Mark Brown, AngeloGioacchino Del Regno
Cc: Liam Girdwood, Matthias Brugger, Jaroslav Kysela, Takashi Iwai,
Cezary Rojewski, Cyril Chao, Kuninori Morimoto, Darren Ye,
linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel,
bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
mtk_afe_pcm_new() currently ignores the return value of
snd_pcm_set_managed_buffer_all().
Return the error to the ASoC core.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/mediatek/common/mtk-afe-platform-driver.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/mediatek/common/mtk-afe-platform-driver.c b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
index c1869b38c9e7..84218d137143 100644
--- a/sound/soc/mediatek/common/mtk-afe-platform-driver.c
+++ b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
@@ -151,11 +151,10 @@ int mtk_afe_pcm_new(struct snd_soc_component *component,
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
size = afe->mtk_afe_hardware->buffer_bytes_max;
- snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, afe->dev,
- afe->preallocate_buffers ? size : 0,
- size);
- return 0;
+ return snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, afe->dev,
+ afe->preallocate_buffers ? size : 0,
+ size);
}
EXPORT_SYMBOL_GPL(mtk_afe_pcm_new);
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors
2026-09-10 11:43 [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors phucduc.bui
2026-09-10 11:43 ` [PATCH 2/2] ASoC: mediatek: common: Propagate PCM buffer errors phucduc.bui
@ 2026-09-10 17:23 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2026-09-10 17:23 UTC (permalink / raw)
To: phucduc.bui
Cc: AngeloGioacchino Del Regno, Liam Girdwood, Matthias Brugger,
Jaroslav Kysela, Takashi Iwai, Cezary Rojewski, Cyril Chao,
Kuninori Morimoto, Darren Ye, linux-sound, linux-arm-kernel,
linux-mediatek, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 694 bytes --]
On Thu, Sep 10, 2026 at 06:43:37PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> mtk_afe_add_sub_dai_control() currently ignores errors from
> ASoC control and DAPM setup functions.
>
> Propagate these errors to the caller.
mt8365-afe-pcm.c has:
{"HW_GAIN1_IN_CH1", "CONNSYS_I2S_CH1", "Hostless FM DL"},
missing a Switch from the control. I suspect there's other errors; this
really needs to be tested before it can be applied. Given the general
quality of the driver here and the lack of anything constructive we're
doing with the errors changes like this have high risk and low reward
unless we're actually running the code.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-10 17:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-10 11:43 [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors phucduc.bui
2026-09-10 11:43 ` [PATCH 2/2] ASoC: mediatek: common: Propagate PCM buffer errors phucduc.bui
2026-09-10 17:23 ` [PATCH 1/2] ASoC: mediatek: common: Propagate control and DAPM errors Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®