25 May
2020
25 May
'20
8:18 a.m.
On Mon, May 25, 2020 at 02:11:18PM +0800, Shengjiu Wang wrote:
@@ -1135,6 +1137,24 @@ static int fsl_asrc_runtime_resume(struct device *dev) goto disable_asrck_clk; }
/* Stop all pairs provisionally */
regmap_read(asrc->regmap, REG_ASRCTR, &asrctr);
regmap_update_bits(asrc->regmap, REG_ASRCTR,
ASRCTR_ASRCEi_ALL_MASK, 0);
/* Restore all registers */
regcache_cache_only(asrc->regmap, false);
regcache_mark_dirty(asrc->regmap);
I see you doing regcache_mark_dirty() in the resume() now, being different from previously doing in suspend()?
Which is for probe -> runtime_resume case. After probe, the power may be disabled, so move mark_dirtry to runtime_resume, then regcache can re-write all the registers.
I see. Just noticed that you add a regcache_cache_only in probe(). Acked already. Thanks.