[alsa-devel] Register cache different from the real register values

Leon Romanovsky leon at leon.nu
Sun Oct 23 16:14:07 CEST 2011


On Sun, Oct 23, 2011 at 15:51, Mark Brown
<broonie at opensource.wolfsonmicro.com> wrote:
> On Sun, Oct 23, 2011 at 03:09:18PM +0200, Leon Romanovsky wrote:
>> Hi, I need your suggestions, I'm trying to add new codec to use the
>> asoc subsystem, all read/write operations done via standard snd_soc_*
>> functions with cache enabled, but register cache is different from the
>> real register values. Can you point me to what can I check?
>
> Always CC maintainers on mails...
Sorry, I didn't know it.

> Post your code for review and we
> might be able to spot something.
Our code is located at
http://gitorious.org/~marvin24/ac100/marvin24s-kernel/blobs/chromeos-ac100-2.6.38/sound/soc/codecs/alc5632.c

>  At a guess you're doing cache_only and
> something's going wrong there
I also tried to add codec->cache_sync = 1 to the _probe function, but
without luck.
http://gitorious.org/~marvin24/ac100/marvin24s-kernel/blobs/chromeos-ac100-2.6.38/sound/soc/codecs/alc5632.c#line998

> the register defaults are wrong or the
Our style is a little different, because it is a port from the
android, we will be change it later, before merging into the mainline
to be more convenient.
http://gitorious.org/~marvin24/ac100/marvin24s-kernel/blobs/chromeos-ac100-2.6.38/sound/soc/codecs/alc5632.c#line1023

> register word size is wrong.
the register word size is 16 bits (ALC5632 specification).

-- 
Leon Romanovsky | Independent Linux Consultant
        www.leon.nu | leon at leon.nu


More information about the Alsa-devel mailing list