[alsa-devel] [PATCH 2/2] ALSA: ca0106: Fix mixer and dac channel assignments.

Andy Owen andy-alsa at ultra-premium.com
Tue Sep 21 16:24:56 CEST 2010

On Tue, 2010-09-21 at 16:00 +0200, Takashi Iwai wrote:
> I wonder whether this can regress on other boards.
> The front channel is the obvious channel so this must have been
> tested.  Maybe we should change the mapping only for your specific
> model by adding some flag.

The behaviour I was seeing was that if I just added the device id, then
the front channel would work fine, but I would get no sound from the
rears, and the mixer controls didn't quite match the labels. 

I was a bit suspect of this change:

> -     if (chip->details->spi_dac && channel_id != PCM_FRONT_CHANNEL) {
> +     if (chip->details->spi_dac) {

But I convinced myself that it was a hack to work around the registers
being wrong in other places, and the card in its default state had the
front dac already powered up. Looking at the code, I can see similar
logic in the snd_ca0106_pcm_close_playback() function, which has a
special case for the front channel, and I think should also be modified.

I'll put together some revised patches (with sign offs and the proposed
fix) hopefully tomorrow.

If anyone has a ca0106 card that they can test this with, it would be
much appreciated.


More information about the Alsa-devel mailing list