On 9/29/2022 5:24 PM, Charles Keepax wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]
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.
Yes, this is reading the 0x30 register of the wm8962, it can adjust Microphone Bias Voltage.
thanks
xiaolei
Thanks, Charles