52 lines
1.7 KiB
Diff
52 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= <peron.clem@gmail.com>
|
|
Date: Fri, 30 Oct 2020 15:46:40 +0100
|
|
Subject: [PATCH] ASoC: sun4i-i2s: Fix sun8i volatile regs
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
The FIFO TX reg is volatile and sun8i i2s register
|
|
mapping is different from sun4i.
|
|
|
|
Even if in this case it's doesn't create an issue,
|
|
Avoid setting some regs that are undefined in sun8i.
|
|
|
|
Acked-by: Maxime Ripard <mripard@kernel.org>
|
|
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
|
|
Signed-off-by: Clément Péron <peron.clem@gmail.com>
|
|
Link: https://lore.kernel.org/r/20201030144648.397824-8-peron.clem@gmail.com
|
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
---
|
|
sound/soc/sunxi/sun4i-i2s.c | 15 +++++++++++----
|
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
|
|
index 786731191d90..003610c0badf 100644
|
|
--- a/sound/soc/sunxi/sun4i-i2s.c
|
|
+++ b/sound/soc/sunxi/sun4i-i2s.c
|
|
@@ -1162,12 +1162,19 @@ static bool sun8i_i2s_rd_reg(struct device *dev, unsigned int reg)
|
|
|
|
static bool sun8i_i2s_volatile_reg(struct device *dev, unsigned int reg)
|
|
{
|
|
- if (reg == SUN8I_I2S_INT_STA_REG)
|
|
+ switch (reg) {
|
|
+ case SUN4I_I2S_FIFO_CTRL_REG:
|
|
+ case SUN4I_I2S_FIFO_RX_REG:
|
|
+ case SUN4I_I2S_FIFO_STA_REG:
|
|
+ case SUN4I_I2S_RX_CNT_REG:
|
|
+ case SUN4I_I2S_TX_CNT_REG:
|
|
+ case SUN8I_I2S_FIFO_TX_REG:
|
|
+ case SUN8I_I2S_INT_STA_REG:
|
|
return true;
|
|
- if (reg == SUN8I_I2S_FIFO_TX_REG)
|
|
- return false;
|
|
|
|
- return sun4i_i2s_volatile_reg(dev, reg);
|
|
+ default:
|
|
+ return false;
|
|
+ }
|
|
}
|
|
|
|
static const struct reg_default sun4i_i2s_reg_defaults[] = {
|