From ce0d012e79719310e4a49b61ce0e7c9501b21169 Mon Sep 17 00:00:00 2001 From: XiaoTan Luo Date: Fri, 29 Apr 2022 14:37:04 +0800 Subject: [PATCH] ASoC: rockchip: pdm: Fix record error at the 2nd time Signed-off-by: XiaoTan Luo Change-Id: Ifd239c8a467fc4d77ff354ff724d9bb83db046ce --- sound/soc/rockchip/rockchip_pdm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/rockchip/rockchip_pdm.c b/sound/soc/rockchip/rockchip_pdm.c index 67f426f2e074..b30145033a77 100644 --- a/sound/soc/rockchip/rockchip_pdm.c +++ b/sound/soc/rockchip/rockchip_pdm.c @@ -418,6 +418,7 @@ static int rockchip_pdm_runtime_suspend(struct device *dev) { struct rk_pdm_dev *pdm = dev_get_drvdata(dev); + regcache_cache_only(pdm->regmap, true); clk_disable_unprepare(pdm->clk); clk_disable_unprepare(pdm->hclk); @@ -441,6 +442,13 @@ static int rockchip_pdm_runtime_resume(struct device *dev) return ret; } + regcache_cache_only(pdm->regmap, false); + regcache_mark_dirty(pdm->regmap); + ret = regcache_sync(pdm->regmap); + if (ret) { + clk_disable_unprepare(pdm->clk); + clk_disable_unprepare(pdm->hclk); + } return 0; }