diff mbox

ASoC: rt5677: Add the slot_width "25" support in the TDM mode

Message ID 1421040895-15345-1-git-send-email-oder_chiou@realtek.com (mailing list archive)
State New, archived
Headers show

Commit Message

Oder Chiou Jan. 12, 2015, 5:34 a.m. UTC
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(+)

Comments

Mark Brown Jan. 12, 2015, 7:13 p.m. UTC | #1
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)
> +			snd_soc_update_bits(codec, RT5677_DIG_MISC, 0x80, 0x80);
>  		break;

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).
diff mbox

Patch

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;