summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorSugar Zhang <sugar.zhang@rock-chips.com>2018-12-03 15:10:48 +0800
committerTao Huang <huangtao@rock-chips.com>2018-12-05 18:16:28 +0800
commita5d947fe00ddb10d7b09fd5795980057cd48ab1a (patch)
treed3db9bbc48721cca1b560420f25a435eb557a981 /sound
parent81901bd3afb16f744c5c6214c7438218f00ae7d0 (diff)
ASoC: rockchip: spdifrx: Mark SPDIFRX_SMPDR as volatile and precious
This patch marks SPDIFRX_SMPDR as precious to avoid being read outside a call from the driver, such as regmap debugfs. Change-Id: Icc5398e0e192b86e191770b9ebd1251f97e6a048 Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/rockchip/rockchip_spdifrx.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/rockchip/rockchip_spdifrx.c b/sound/soc/rockchip/rockchip_spdifrx.c
index d5e7455c809a..0e457232116d 100644
--- a/sound/soc/rockchip/rockchip_spdifrx.c
+++ b/sound/soc/rockchip/rockchip_spdifrx.c
@@ -216,6 +216,7 @@ static bool rk_spdifrx_volatile_reg(struct device *dev, unsigned int reg)
case SPDIFRX_FIFOCTRL:
case SPDIFRX_INTSR:
case SPDIFRX_INTCLR:
+ case SPDIFRX_SMPDR:
case SPDIFRX_BURSTINFO:
return true;
default:
@@ -223,6 +224,16 @@ static bool rk_spdifrx_volatile_reg(struct device *dev, unsigned int reg)
}
}
+static bool rk_spdifrx_precious_reg(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case SPDIFRX_SMPDR:
+ return true;
+ default:
+ return false;
+ }
+}
+
static const struct regmap_config rk_spdifrx_regmap_config = {
.reg_bits = 32,
.reg_stride = 4,
@@ -231,6 +242,7 @@ static const struct regmap_config rk_spdifrx_regmap_config = {
.writeable_reg = rk_spdifrx_wr_reg,
.readable_reg = rk_spdifrx_rd_reg,
.volatile_reg = rk_spdifrx_volatile_reg,
+ .precious_reg = rk_spdifrx_precious_reg,
.cache_type = REGCACHE_FLAT,
};