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

Lars-Peter Clausen lars at metafoo.de
Sat May 10 09:04:15 CEST 2014


On 05/10/2014 07:07 AM, Shawn Guo wrote:
> On Fri, May 09, 2014 at 06:01:43PM +0200, Lars-Peter Clausen wrote:
>> On 05/09/2014 05:34 PM, Fabio Estevam wrote:
>>> On Fri, May 9, 2014 at 12:17 PM, Lars-Peter Clausen <lars at metafoo.de> wrote:
>>>
>>>> The changes in the patch should mostly be transparent. But what changed is
>>>> how error reporting is handled. If there is a error reading/writing a
>>>> register in the kcontrol callbacks that error is passed on to userspace
>>>> whereas previously it was silently ignored.
>>>>
>>>> There is also the possibility that there is a bug somewhere in the patch
>>>> causing this.
>>>>
>>>> Does the board otherwise work fine?
>>>>
>>>> I actually have the board here, if you tell me which devictree/defconfig I
>>>> can use with an upstream kernel I can give things a try.
>>>
>>> make imx_v6_v7_defconfig
>>> make imx6q-sabresd.dtb
>>
>> I just tried 907fe36a2c, e2c330b9b5 and next/master. I get the same
>> behavior with all 3, no errors when loading a state file and audio
>> out on the headphones works.
>
> For me, e2c330b9b5 is good while 907fe36a2c and next/master expose this
> error message.
>
>> I disabled DRM though since it
>> deadlocked the system, maybe that makes a difference.
>
> It does not make a difference.
>
>>
>> Is it possible that the error is coming from the I2C driver? Can you
>> build the I2C driver with #define DEBUG and take a look at the
>> output?
>
> I tried to turn on DEBUG in I2C driver, and did not notice any I2C
> message when above error appears.
>
> 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.

- Lars



More information about the Alsa-devel mailing list