[alsa-devel] [PATCH v4 2/5] ASoC: Move standard kcontrol helpers to the component level
Charles Keepax
ckeepax at opensource.wolfsonmicro.com
Mon May 12 12:52:57 CEST 2014
On Sat, May 10, 2014 at 05:12:11PM +0800, Shawn Guo wrote:
> 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?
Looking at this a bit more can you let me know when it is
failing, I assume it is in relation to setting the "Speaker
Switch" control?
Thanks,
Charles
More information about the Alsa-devel
mailing list