[alsa-devel] about ALC203 linux driver

Mark Brown broonie at opensource.wolfsonmicro.com
Sun May 9 19:52:03 CEST 2010

On Sun, May 09, 2010 at 11:34:28PM +0800, Wan ZongShun wrote:

> here, I used the file named ac97.c which is located in
> linux-2.6\sound\soc\codecs.
> I am sure that it can call the '\sound\pci\ac97ac97_codec.c' file and
> identify the
> ALC203 (like the log file shows 'nuc900 AC'97 codec is  ALC203',but sometimes
> the return value by reading one AC97 register, which is not same as
> the writing value to the
> AC97 register, that is not my expected result, but sometimes they are same.

> any suggestions?

Not all AC97 registers are writable so check that you're writing to
registers that the CODEC supports writing to but in general you're going
to need to debug your controller driver here.  Make sure you're
interacting well with any cache the controller has and that you are
properly synchronising with the controller during reads (which are
fairly slow operations on AC97).

Also make sure that the CODEC is properly clocked.

More information about the Alsa-devel mailing list