Blob Blame History Raw
From 80b9fa4dead406f9a0aef5b364eb237872986c2c Mon Sep 17 00:00:00 2001
From: Pavel Dobias <dobias@2n.cz>
Date: Wed, 20 May 2020 09:19:03 +0200
Subject: [PATCH] ASoC: max9867: add mono playback switch
Git-commit: 80b9fa4dead406f9a0aef5b364eb237872986c2c
Patch-mainline: v5.8-rc1
References: jsc#SLE-16518

Add Mono Playback switch to codec controls which enables codec's
capability of mixing left and right channel at the DAC output.

Signed-off-by: Pavel Dobias <dobias@2n.cz>
Link: https://lore.kernel.org/r/20200520071904.15801-5-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 sound/soc/codecs/max9867.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/max9867.c b/sound/soc/codecs/max9867.c
index 22e06a795042..f100070a59ca 100644
--- a/sound/soc/codecs/max9867.c
+++ b/sound/soc/codecs/max9867.c
@@ -79,6 +79,7 @@ static const struct snd_kcontrol_new max9867_snd_controls[] = {
 	SOC_ENUM("DSP Filter", max9867_filter),
 	SOC_ENUM("ADC Filter", max9867_adc_filter),
 	SOC_ENUM("DAC Filter", max9867_dac_filter),
+	SOC_SINGLE("Mono Playback Switch", MAX9867_IFC1B, 3, 1, 0),
 };
 
 /* Input mixer */
@@ -361,7 +362,8 @@ static int max9867_dai_set_fmt(struct snd_soc_dai *codec_dai,
 	}
 
 	regmap_write(max9867->regmap, MAX9867_IFC1A, iface1A);
-	regmap_write(max9867->regmap, MAX9867_IFC1B, iface1B);
+	regmap_update_bits(max9867->regmap, MAX9867_IFC1B,
+			   MAX9867_IFC1B_BCLK_MASK, iface1B);
 
 	return 0;
 }
-- 
2.16.4