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