From: phucduc.bui@gmail.com
To: Mark Brown <broonie@kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Cezary Rojewski <cezary.rojewski@intel.com>,
Cyril Chao <Cyril.Chao@mediatek.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Dan Carpenter <error27@gmail.com>,
cassiogabrielcontato@gmail.com, linux-sound@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
bui duc phuc <phucduc.bui@gmail.com>
Subject: [PATCH v3 11/12] ASoC: mediatek: mt8189: Propagate TDM clock errors
Date: Wed, 16 Sep 2026 12:00:18 +0700 [thread overview]
Message-ID: <20260916050020.14575-12-phucduc.bui@gmail.com> (raw)
In-Reply-To: <20260916050020.14575-1-phucduc.bui@gmail.com>
From: bui duc phuc <phucduc.bui@gmail.com>
mtk_tdm_bck_en_event() and mtk_tdm_mck_en_event() currently ignore
errors returned by the MCK enable and disable functions.
Propagate these errors.
Fixes: 9f202872ba04 ("ASoC: mediatek: mt8189: support TDM in platform driver")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
Changes in v3:
- Do not pre-initialize ret; set ret = 0 in the default case.
sound/soc/mediatek/mt8189/mt8189-dai-tdm.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/sound/soc/mediatek/mt8189/mt8189-dai-tdm.c b/sound/soc/mediatek/mt8189/mt8189-dai-tdm.c
index 5d68a55ccc45..9aebd0320614 100644
--- a/sound/soc/mediatek/mt8189/mt8189-dai-tdm.c
+++ b/sound/soc/mediatek/mt8189/mt8189-dai-tdm.c
@@ -261,22 +261,24 @@ static int mtk_tdm_bck_en_event(struct snd_soc_dapm_widget *w,
struct mt8189_afe_private *afe_priv = afe->platform_priv;
int dai_id = get_tdm_id_by_name(w->name);
struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id];
+ int ret;
dev_dbg(cmpnt->dev, "name %s, event 0x%x, dai_id %d, bck: %d\n",
w->name, event, dai_id, tdm_priv->bck_rate);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- mt8189_mck_enable(afe, tdm_priv->bck_id, tdm_priv->bck_rate);
+ ret = mt8189_mck_enable(afe, tdm_priv->bck_id, tdm_priv->bck_rate);
break;
case SND_SOC_DAPM_POST_PMD:
- mt8189_mck_disable(afe, tdm_priv->bck_id);
+ ret = mt8189_mck_disable(afe, tdm_priv->bck_id);
break;
default:
+ ret = 0;
break;
}
- return 0;
+ return ret;
}
static int mtk_tdm_mck_en_event(struct snd_soc_dapm_widget *w,
@@ -288,23 +290,25 @@ static int mtk_tdm_mck_en_event(struct snd_soc_dapm_widget *w,
struct mt8189_afe_private *afe_priv = afe->platform_priv;
int dai_id = get_tdm_id_by_name(w->name);
struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[dai_id];
+ int ret;
dev_dbg(cmpnt->dev, "name %s, event 0x%x, dai_id %d, mclk %d\n",
w->name, event, dai_id, tdm_priv->mclk_rate);
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- mt8189_mck_enable(afe, tdm_priv->mclk_id, tdm_priv->mclk_rate);
+ ret = mt8189_mck_enable(afe, tdm_priv->mclk_id, tdm_priv->mclk_rate);
break;
case SND_SOC_DAPM_POST_PMD:
tdm_priv->mclk_rate = 0;
- mt8189_mck_disable(afe, tdm_priv->mclk_id);
+ ret = mt8189_mck_disable(afe, tdm_priv->mclk_id);
break;
default:
+ ret = 0;
break;
}
- return 0;
+ return ret;
}
static const struct snd_soc_dapm_widget mtk_dai_tdm_widgets[] = {
--
2.43.0
next prev parent reply other threads:[~2026-09-16 5:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-16 5:00 [PATCH v3 00/12] ASoC: mediatek: mt8189: Improve error handling phucduc.bui
2026-09-16 5:00 ` [PATCH v3 01/12] ASoC: mediatek: mt8189: Propagate APLL enable errors phucduc.bui
2026-09-16 5:00 ` [PATCH v3 02/12] ASoC: mediatek: mt8189: Propagate MCK " phucduc.bui
2026-09-16 5:00 ` [PATCH v3 03/12] ASoC: mediatek: mt8189: Validate MCK ID phucduc.bui
2026-09-16 5:00 ` [PATCH v3 04/12] ASoC: mediatek: mt8189: Propagate reg_rw clock errors phucduc.bui
2026-09-16 5:00 ` [PATCH v3 05/12] ASoC: mediatek: mt8189: Use dev_err_probe() for " phucduc.bui
2026-09-16 5:00 ` [PATCH v3 06/12] ASoC: mediatek: mt8189: Propagate runtime resume errors phucduc.bui
2026-09-16 5:00 ` [PATCH v3 07/12] ASoC: mediatek: mt8189: Remove redundant error message phucduc.bui
2026-09-16 5:00 ` [PATCH v3 08/12] ASoC: mediatek: mt8189: Propagate APLL errors phucduc.bui
2026-09-16 5:00 ` [PATCH v3 09/12] ASoC: mediatek: mt8189: Propagate MCLK errors phucduc.bui
2026-09-16 5:00 ` [PATCH v3 10/12] ASoC: mediatek: mt8189: Validate sysclk frequency phucduc.bui
2026-09-16 5:00 ` phucduc.bui [this message]
2026-09-16 5:00 ` [PATCH v3 12/12] ASoC: mediatek: mt8189: Validate TDM MCLK frequency phucduc.bui
2026-09-16 10:19 ` [PATCH v3 00/12] ASoC: mediatek: mt8189: Improve error handling AngeloGioacchino Del Regno
2026-09-17 11:49 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260916050020.14575-12-phucduc.bui@gmail.com \
--to=phucduc.bui@gmail.com \
--cc=Cyril.Chao@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=broonie@kernel.org \
--cc=cassiogabrielcontato@gmail.com \
--cc=cezary.rojewski@intel.com \
--cc=error27@gmail.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.