[alsa-devel] [PATCH] ASoC: rt5677: Add the slot_width "25" support in the TDM mode
Add the slot_width "25" support in the TDM mode for the Intel platform.
Signed-off-by: Oder Chiou oder_chiou@realtek.com --- sound/soc/codecs/rt5677.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c index 32c368c..af34ffc 100644 --- a/sound/soc/codecs/rt5677.c +++ b/sound/soc/codecs/rt5677.c @@ -4123,6 +4123,7 @@ static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, val |= (1 << 8); break; case 24: + case 25: val |= (2 << 8); break; case 32: @@ -4136,9 +4137,14 @@ static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, switch (dai->id) { case RT5677_AIF1: snd_soc_update_bits(codec, RT5677_TDM1_CTRL1, 0x1f00, val); + if (slot_width == 25) + snd_soc_update_bits(codec, RT5677_DIG_MISC, 0x8000, + 0x8000); break; case RT5677_AIF2: snd_soc_update_bits(codec, RT5677_TDM2_CTRL1, 0x1f00, val); + if (slot_width == 25) + snd_soc_update_bits(codec, RT5677_DIG_MISC, 0x80, 0x80); break; default: break;
On Mon, Jan 12, 2015 at 01:34:55PM +0800, Oder Chiou wrote:
Add the slot_width "25" support in the TDM mode for the Intel platform.
case RT5677_AIF2: snd_soc_update_bits(codec, RT5677_TDM2_CTRL1, 0x1f00, val);
if (slot_width == 25)
break;snd_soc_update_bits(codec, RT5677_DIG_MISC, 0x80, 0x80);
This looks good but I'd expect to see something which clears this bit if we're not using a slot width of 25 in case someone comes up with a use case that changes formats at runtime (relatively unlikely, but better safe than sorry).
participants (2)
-
Mark Brown
-
Oder Chiou