aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2008-01-18 03:18:32 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:30:04 -0500
commite0059549345903195d6eb796c22048204c40a785 (patch)
tree42ad0eda51c80842101c2223fb307f6ffe0e5c2e /sound/pci/oxygen
parentc2353a0826d2b8fe9f5c6a6aca99149e4ee7b196 (diff)
[ALSA] oxygen: fix playback routing
The default playback routing must be 0xe4, not 0xe1; the front and surround DACs were exchanged. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r--sound/pci/oxygen/oxygen_lib.c2
-rw-r--r--sound/pci/oxygen/oxygen_mixer.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c
index 79e7c16c71ff..3e61f94ec2e3 100644
--- a/sound/pci/oxygen/oxygen_lib.c
+++ b/sound/pci/oxygen/oxygen_lib.c
@@ -214,7 +214,7 @@ static void __devinit oxygen_init(struct oxygen *chip)
214 oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, 0x010a); 214 oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, 0x010a);
215 oxygen_set_bits32(chip, OXYGEN_SPDIF_CONTROL, OXYGEN_SPDIF_RATE_MASK); 215 oxygen_set_bits32(chip, OXYGEN_SPDIF_CONTROL, OXYGEN_SPDIF_RATE_MASK);
216 oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits); 216 oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits);
217 oxygen_write16(chip, OXYGEN_PLAY_ROUTING, 0xe100); 217 oxygen_write16(chip, OXYGEN_PLAY_ROUTING, 0xe400);
218 oxygen_write8(chip, OXYGEN_REC_ROUTING, 0x10); 218 oxygen_write8(chip, OXYGEN_REC_ROUTING, 0x10);
219 oxygen_write8(chip, OXYGEN_ADC_MONITOR, 0x00); 219 oxygen_write8(chip, OXYGEN_ADC_MONITOR, 0x00);
220 oxygen_write8(chip, OXYGEN_A_MONITOR_ROUTING, 0xe4); 220 oxygen_write8(chip, OXYGEN_A_MONITOR_ROUTING, 0xe4);
diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index fae7c0f060a0..6fd2a594e89e 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -121,7 +121,7 @@ static int upmix_get(struct snd_kcontrol *ctl, struct snd_ctl_elem_value *value)
121void oxygen_update_dac_routing(struct oxygen *chip) 121void oxygen_update_dac_routing(struct oxygen *chip)
122{ 122{
123 static const unsigned int reg_values[3] = { 123 static const unsigned int reg_values[3] = {
124 0xe100, /* front <- 0, surround <- 1, center <- 2, back <- 3 */ 124 0xe400, /* front <- 0, surround <- 1, center <- 2, back <- 3 */
125 0xe000, /* front <- 0, surround <- 0, center <- 2, back <- 3 */ 125 0xe000, /* front <- 0, surround <- 0, center <- 2, back <- 3 */
126 0x2000 /* front <- 0, surround <- 0, center <- 2, back <- 0 */ 126 0x2000 /* front <- 0, surround <- 0, center <- 2, back <- 0 */
127 }; 127 };
@@ -135,7 +135,7 @@ void oxygen_update_dac_routing(struct oxygen *chip)
135 else if (channels == OXYGEN_PLAY_CHANNELS_8) 135 else if (channels == OXYGEN_PLAY_CHANNELS_8)
136 reg_value = 0x6c00; /* surround <- 3, back <- 1 */ 136 reg_value = 0x6c00; /* surround <- 3, back <- 1 */
137 else 137 else
138 reg_value = 0xe100; 138 reg_value = 0xe400;
139 oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, 0xff00); 139 oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, 0xff00);
140} 140}
141 141