For DSP_A, data is a BCK cycle behind LRCK trigger edge. For DSP_B, this
delay doesn't exist. Fix the delay configuration to match the standard.
Fixes: 52fcd65414abfc ("ASoC: mediatek: mt8192: support tdm in platform driver")
Signed-off-by: Hsin-Te Yuan <[email protected]>
---
sound/soc/mediatek/mt8192/mt8192-dai-tdm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c b/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
index 9ce06821c7d0f..49440db370af0 100644
--- a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
+++ b/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
@@ -566,10 +566,10 @@ static int mtk_dai_tdm_hw_params(struct snd_pcm_substream *substream,
tdm_con |= 1 << DELAY_DATA_SFT;
tdm_con |= get_tdm_lrck_width(format) << LRCK_TDM_WIDTH_SFT;
} else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_A) {
- tdm_con |= 0 << DELAY_DATA_SFT;
+ tdm_con |= 1 << DELAY_DATA_SFT;
tdm_con |= 0 << LRCK_TDM_WIDTH_SFT;
} else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_B) {
- tdm_con |= 1 << DELAY_DATA_SFT;
+ tdm_con |= 0 << DELAY_DATA_SFT;
tdm_con |= 0 << LRCK_TDM_WIDTH_SFT;
}
---
base-commit: 45db3ab70092637967967bfd8e6144017638563c
change-id: 20240509-8192-tdm-cbf2a73c9dd3
Best regards,
--
Hsin-Te Yuan <[email protected]>
On Thu, May 9, 2024 at 3:31 PM Hsin-Te Yuan <[email protected]> wrote:
>
> For DSP_A, data is a BCK cycle behind LRCK trigger edge. For DSP_B, this
> delay doesn't exist. Fix the delay configuration to match the standard.
>
> Fixes: 52fcd65414abfc ("ASoC: mediatek: mt8192: support tdm in platform driver")
> Signed-off-by: Hsin-Te Yuan <[email protected]>
Reviewed-by: Chen-Yu Tsai <[email protected]>
> ---
> sound/soc/mediatek/mt8192/mt8192-dai-tdm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c b/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
> index 9ce06821c7d0f..49440db370af0 100644
> --- a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
> +++ b/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c
> @@ -566,10 +566,10 @@ static int mtk_dai_tdm_hw_params(struct snd_pcm_substream *substream,
> tdm_con |= 1 << DELAY_DATA_SFT;
> tdm_con |= get_tdm_lrck_width(format) << LRCK_TDM_WIDTH_SFT;
> } else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_A) {
> - tdm_con |= 0 << DELAY_DATA_SFT;
> + tdm_con |= 1 << DELAY_DATA_SFT;
> tdm_con |= 0 << LRCK_TDM_WIDTH_SFT;
> } else if (tdm_priv->tdm_out_mode == TDM_OUT_DSP_B) {
> - tdm_con |= 1 << DELAY_DATA_SFT;
> + tdm_con |= 0 << DELAY_DATA_SFT;
> tdm_con |= 0 << LRCK_TDM_WIDTH_SFT;
> }
>
>
> ---
> base-commit: 45db3ab70092637967967bfd8e6144017638563c
> change-id: 20240509-8192-tdm-cbf2a73c9dd3
>
> Best regards,
> --
> Hsin-Te Yuan <[email protected]>
>
>
Il 09/05/24 09:31, Hsin-Te Yuan ha scritto:
> For DSP_A, data is a BCK cycle behind LRCK trigger edge. For DSP_B, this
> delay doesn't exist. Fix the delay configuration to match the standard.
>
> Fixes: 52fcd65414abfc ("ASoC: mediatek: mt8192: support tdm in platform driver")
> Signed-off-by: Hsin-Te Yuan <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
On Thu, 09 May 2024 07:31:29 +0000, Hsin-Te Yuan wrote:
> For DSP_A, data is a BCK cycle behind LRCK trigger edge. For DSP_B, this
> delay doesn't exist. Fix the delay configuration to match the standard.
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: mediatek: mt8192: fix register configuration for tdm
commit: a85ed162f0efcfdd664954414a05d1d560cc95dc
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark