From: Andy Owen andy-alsa@ultra-premium.com
--- 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)