aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/clk/clk-renesas-pcie.c
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@ew.tq-group.com>2023-03-10 08:49:40 +0100
committerStephen Boyd <sboyd@kernel.org>2023-03-21 10:47:06 -0700
commit632e04739c8f45c2d9ca4d4c5bd18d80c2ac9296 (patch)
tree7797477883b09fe735f1c48e62c37ae9846ebc3c /drivers/clk/clk-renesas-pcie.c
parentclk: imx6ul: fix "failed to get parent" error (diff)
downloadwireguard-linux-632e04739c8f45c2d9ca4d4c5bd18d80c2ac9296.tar.xz
wireguard-linux-632e04739c8f45c2d9ca4d4c5bd18d80c2ac9296.zip
clk: rs9: Fix suspend/resume
Disabling the cache in commit 2ff4ba9e3702 ("clk: rs9: Fix I2C accessors") without removing cache synchronization in resume path results in a kernel panic as map->cache_ops is unset, due to REGCACHE_NONE. Enable flat cache again to support resume again. num_reg_defaults_raw is necessary to read the cache defaults from hardware. Some registers are strapped in hardware and cannot be provided in software. Fixes: 2ff4ba9e3702 ("clk: rs9: Fix I2C accessors") Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Link: https://lore.kernel.org/r/20230310074940.3475703-1-alexander.stein@ew.tq-group.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/clk-renesas-pcie.c')
-rw-r--r--drivers/clk/clk-renesas-pcie.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clk/clk-renesas-pcie.c b/drivers/clk/clk-renesas-pcie.c
index f91f30560820..ff3a52d48479 100644
--- a/drivers/clk/clk-renesas-pcie.c
+++ b/drivers/clk/clk-renesas-pcie.c
@@ -143,8 +143,9 @@ static int rs9_regmap_i2c_read(void *context,
static const struct regmap_config rs9_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
- .cache_type = REGCACHE_NONE,
+ .cache_type = REGCACHE_FLAT,
.max_register = RS9_REG_BCP,
+ .num_reg_defaults_raw = 0x8,
.rd_table = &rs9_readable_table,
.wr_table = &rs9_writeable_table,
.reg_write = rs9_regmap_i2c_write,