aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMarcus Cooper <codekipper@gmail.com>2019-06-03 17:47:28 (GMT)
committerMark Brown <broonie@kernel.org>2019-06-04 14:34:08 (GMT)
commitf9927000cb35f250051f0f1878db12ee2626eea1 (patch)
tree467ed49cfdb3a6fe61c00eabfdd9d768316a193c /sound
parent7e46169a5f35762f335898a75d1b8a242f2ae0f5 (diff)
downloadkernel_replicant_linux-f9927000cb35f250051f0f1878db12ee2626eea1.zip
kernel_replicant_linux-f9927000cb35f250051f0f1878db12ee2626eea1.tar.gz
kernel_replicant_linux-f9927000cb35f250051f0f1878db12ee2626eea1.tar.bz2
ASoC: sun4i-i2s: Add offset to RX channel select
Whilst testing the capture functionality of the i2s on the newer SoCs it was noticed that the recording was somewhat distorted. This was due to the offset not being set correctly on the receiver side. Signed-off-by: Marcus Cooper <codekipper@gmail.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/sunxi/sun4i-i2s.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 8162e10..bc128e2 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -460,6 +460,10 @@ static int sun4i_i2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
regmap_update_bits(i2s->regmap, SUN8I_I2S_TX_CHAN_SEL_REG,
SUN8I_I2S_TX_CHAN_OFFSET_MASK,
SUN8I_I2S_TX_CHAN_OFFSET(offset));
+
+ regmap_update_bits(i2s->regmap, SUN8I_I2S_RX_CHAN_SEL_REG,
+ SUN8I_I2S_TX_CHAN_OFFSET_MASK,
+ SUN8I_I2S_TX_CHAN_OFFSET(offset));
}
regmap_field_write(i2s->field_fmt_mode, val);