[alsa-devel] [PATCH v4 2/5] ASoC: Move standard kcontrol helpers to the component level

Shawn Guo shawn.guo at linaro.org
Sat May 10 11:12:11 CEST 2014

On Sat, May 10, 2014 at 10:37:28AM +0200, Lars-Peter Clausen wrote:
> On 05/10/2014 10:31 AM, Shawn Guo wrote:
> >On Sat, May 10, 2014 at 09:11:04AM +0200, Lars-Peter Clausen wrote:
> >>On 05/10/2014 09:04 AM, Lars-Peter Clausen wrote:
> >>[..]
> >>>>The error message only shows up with Debian wheezy and does not with
> >>>>yocto rootfs.  And even when the error message shows, the audio still
> >>>>functions well on Debian wheezy.  So it's just a noisy error message
> >>>>for me which is only seen after your kernel patch.
> >>>
> >>>The keyword here is "seen". The error quite likely predated the commit, but
> >>>it was silently discarded.
> >>>
> >>>regmap_read() returns -EBUSY when there is no cached register value and
> >>>cache_only is set to true. But I'm not sure why that would happen, try to
> >>>add some printks to _regmap_read() to see if this is the source and if it is
> >>>why it is.
> >>
> >>Both SGTL5000_CHIP_ANA_ADC_CTRL and SGTL5000_CHIP_MIC_CTRL don't
> >>have an entry in sgtl5000_reg_defaults. So if cache_only is true,
> >>controls which use these registers will return -EBUSY when you try
> >>to read or write them.
> >
> >Hmm, it's a wm8962 than sgtl5000 on board imx6q-sabresd.
> Ok, misread the boardname. But the issue will be the same.
> cache_only = true and trying to read/update a register that is not
> in the cache.

Yea, you're right.  When the error message shows up, _regmap_read()
returns -EBUSY for reg WM8962_CLASS_D_CONTROL_1.  But how do I find out
why the reg is not in the cache?


More information about the Alsa-devel mailing list