aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Nikula <jarkko.nikula@nokia.com>2008-06-25 14:58:45 +0300
committerJaroslav Kysela <perex@perex.cz>2008-06-26 09:02:17 +0200
commit81971a14947b344ee7f6e3781f7ef36d8996f57a (patch)
tree8914ad0f3d26222fdccf250adac92c76204434f7
parent0bd72a3d49fc9fcac0202e4a2f394c7ee82af914 (diff)
ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt
Those two serial data interface control register bits have also other functions and they can be set before aic3x_set_dai_fmt is called. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--sound/soc/codecs/tlv320aic3x.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 0c7452f932e..29dc0ec3dd2 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -809,8 +809,10 @@ static int aic3x_set_dai_fmt(struct snd_soc_codec_dai *codec_dai,
{
struct snd_soc_codec *codec = codec_dai->codec;
struct aic3x_priv *aic3x = codec->private_data;
- u8 iface_areg = 0;
- u8 iface_breg = 0;
+ u8 iface_areg, iface_breg;
+
+ iface_areg = aic3x_read_reg_cache(codec, AIC3X_ASD_INTF_CTRLA) & 0x3f;
+ iface_breg = aic3x_read_reg_cache(codec, AIC3X_ASD_INTF_CTRLB) & 0x3f;
/* set master/slave audio interface */
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {