Commit ebb11d1d authored by Tzung-Bi Shih's avatar Tzung-Bi Shih Committed by Mark Brown

ASoC: mediatek: mt8183-da7219: fix wrong ops for I2S3

DA7219 uses I2S2 and I2S3 for input and output respectively.  Commit
9e30251f ("ASoC: mediatek: mt8183-da7219: support machine driver
with rt1015") introduces a bug that:
- If using I2S2 solely, MCLK to DA7219 is 256FS.
- If using I2S3 solely, MCLK to DA7219 is 128FS.
- If using I2S3 first and then I2S2, the MCLK changes from 128FS to
  256FS.  As a result, no sound output to the headset.  Also no sound
  input from the headset microphone.

Both I2S2 and I2S3 should set MCLK to 256FS.  Fixes the wrong ops for
I2S3.

Fixes: 9e30251f ("ASoC: mediatek: mt8183-da7219: support machine driver with rt1015")
Signed-off-by: default avatarTzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201006101252.1890385-1-tzungbi@google.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 20441614
...@@ -673,7 +673,7 @@ static int mt8183_da7219_max98357_dev_probe(struct platform_device *pdev) ...@@ -673,7 +673,7 @@ static int mt8183_da7219_max98357_dev_probe(struct platform_device *pdev)
if (card == &mt8183_da7219_max98357_card) { if (card == &mt8183_da7219_max98357_card) {
dai_link->be_hw_params_fixup = dai_link->be_hw_params_fixup =
mt8183_i2s_hw_params_fixup; mt8183_i2s_hw_params_fixup;
dai_link->ops = &mt8183_mt6358_i2s_ops; dai_link->ops = &mt8183_da7219_i2s_ops;
dai_link->cpus = i2s3_max98357a_cpus; dai_link->cpus = i2s3_max98357a_cpus;
dai_link->num_cpus = dai_link->num_cpus =
ARRAY_SIZE(i2s3_max98357a_cpus); ARRAY_SIZE(i2s3_max98357a_cpus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment