On Wed, Sep 28, 2022 at 02:44:30AM +0000, Wang, Xiaolei wrote:
Hi Jaroslav
When I tested the audio, I found that some registers in the codec of wm8962.c will fail to read in the mainline kernel. I found that wm8962_i2c_probe will enter runtime suspend after startup, but in the following program:
snd_soc_bind_card snd_soc_dapm_new_widgets soc_dapm_read snd_soc_component_read(dapm->component, reg);
There is no runtime resume, which cannot perform normal reading and writing for volatile reg, because it has been switched to regcache only in the process of runtime suspend. I can't find the right place to resume, can you give me any advice?
I think the first step would be could you clarify which register is being read here? Reading a volatile register as part of setting up the widgets does feel rather problematic.
Thanks, Charles