52 lines
1.5 KiB
Diff
52 lines
1.5 KiB
Diff
From baf7bdf5a0188204b97f1656c076691648e10682 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= <peron.clem@gmail.com>
|
|
Date: Sun, 27 Sep 2020 21:28:59 +0200
|
|
Subject: [PATCH 284/351] 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.
|
|
|
|
Signed-off-by: Clément Péron <peron.clem@gmail.com>
|
|
Acked-by: Maxime Ripard <mripard@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 60b2fec1bbe9..3f9110d70941 100644
|
|
--- a/sound/soc/sunxi/sun4i-i2s.c
|
|
+++ b/sound/soc/sunxi/sun4i-i2s.c
|
|
@@ -1152,12 +1152,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[] = {
|
|
--
|
|
2.34.0
|
|
|