Re: [PATCH 2/2] ALSA: ca0106: Fix mixer and dac channel assignments.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Tue, 21 Sep 2010 23:51:19 +1000,
andy-alsa@xxxxxxxxxxxxxxxxx wrote:
> 
> From: Andy Owen <andy-alsa@xxxxxxxxxxxxxxxxx>

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.


thanks,

Takashi

> ---
>  sound/pci/ca0106/ca0106_main.c  |   14 +++++++-------
>  sound/pci/ca0106/ca0106_mixer.c |    6 +++---
>  2 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
> index 6dc9a5d..a98df19 100644
> --- a/sound/pci/ca0106/ca0106_main.c
> +++ b/sound/pci/ca0106/ca0106_main.c
> @@ -493,16 +493,16 @@ static void snd_ca0106_pcm_free_substream(struct snd_pcm_runtime *runtime)
>  }
>  
>  static const int spi_dacd_reg[] = {
> -	[PCM_FRONT_CHANNEL]	= SPI_DACD4_REG,
> -	[PCM_REAR_CHANNEL]	= SPI_DACD0_REG,
> +	[PCM_FRONT_CHANNEL]	= SPI_DACD0_REG,
> +	[PCM_REAR_CHANNEL]	= SPI_DACD1_REG,
>  	[PCM_CENTER_LFE_CHANNEL]= SPI_DACD2_REG,
> -	[PCM_UNKNOWN_CHANNEL]	= SPI_DACD1_REG,
> +	[PCM_UNKNOWN_CHANNEL]	= SPI_DACD4_REG,
>  };
>  static const int spi_dacd_bit[] = {
> -	[PCM_FRONT_CHANNEL]	= SPI_DACD4_BIT,
> -	[PCM_REAR_CHANNEL]	= SPI_DACD0_BIT,
> +	[PCM_FRONT_CHANNEL]	= SPI_DACD0_BIT,
> +	[PCM_REAR_CHANNEL]	= SPI_DACD1_BIT,
>  	[PCM_CENTER_LFE_CHANNEL]= SPI_DACD2_BIT,
> -	[PCM_UNKNOWN_CHANNEL]	= SPI_DACD1_BIT,
> +	[PCM_UNKNOWN_CHANNEL]	= SPI_DACD4_BIT,
>  };
>  
>  static void restore_spdif_bits(struct snd_ca0106 *chip, int idx)
> @@ -553,7 +553,7 @@ static int snd_ca0106_pcm_open_playback_channel(struct snd_pcm_substream *substr
>                  return err;
>  	snd_pcm_set_sync(substream);
>  
> -	if (chip->details->spi_dac && channel_id != PCM_FRONT_CHANNEL) {
> +	if (chip->details->spi_dac) {
>  		const int reg = spi_dacd_reg[channel_id];
>  
>  		/* Power up dac */
> diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c
> index 85fd315..bafb9c8 100644
> --- a/sound/pci/ca0106/ca0106_mixer.c
> +++ b/sound/pci/ca0106/ca0106_mixer.c
> @@ -689,13 +689,13 @@ static struct snd_kcontrol_new snd_ca0106_volume_i2c_adc_ctls[] __devinitdata =
>  static struct snd_kcontrol_new snd_ca0106_volume_spi_dac_ctls[]
>  __devinitdata = {
>  	SPI_SWITCH("Analog Front Playback Switch",
> -		   SPI_DMUTE4_REG, SPI_DMUTE4_BIT),
> -	SPI_SWITCH("Analog Rear Playback Switch",
>  		   SPI_DMUTE0_REG, SPI_DMUTE0_BIT),
> +	SPI_SWITCH("Analog Rear Playback Switch",
> +		   SPI_DMUTE1_REG, SPI_DMUTE1_BIT),
>  	SPI_SWITCH("Analog Center/LFE Playback Switch",
>  		   SPI_DMUTE2_REG, SPI_DMUTE2_BIT),
>  	SPI_SWITCH("Analog Side Playback Switch",
> -		   SPI_DMUTE1_REG, SPI_DMUTE1_BIT),
> +		   SPI_DMUTE4_REG, SPI_DMUTE4_BIT),
>  };
>  
>  static int __devinit remove_ctl(struct snd_card *card, const char *name)
> -- 
> 1.7.0.4
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@xxxxxxxxxxxxxxxx
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux