diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2008-01-18 09:18:32 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 17:30:04 +0100 |
commit | e0059549345903195d6eb796c22048204c40a785 (patch) | |
tree | 42ad0eda51c80842101c2223fb307f6ffe0e5c2e /sound | |
parent | [ALSA] oxygen: add register definitions (diff) | |
download | linux-e0059549345903195d6eb796c22048204c40a785.tar.xz linux-e0059549345903195d6eb796c22048204c40a785.zip |
[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')
-rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 2 | ||||
-rw-r--r-- | sound/pci/oxygen/oxygen_mixer.c | 4 |
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) oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, 0x010a); oxygen_set_bits32(chip, OXYGEN_SPDIF_CONTROL, OXYGEN_SPDIF_RATE_MASK); oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits); - oxygen_write16(chip, OXYGEN_PLAY_ROUTING, 0xe100); + oxygen_write16(chip, OXYGEN_PLAY_ROUTING, 0xe400); oxygen_write8(chip, OXYGEN_REC_ROUTING, 0x10); oxygen_write8(chip, OXYGEN_ADC_MONITOR, 0x00); 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) void oxygen_update_dac_routing(struct oxygen *chip) { static const unsigned int reg_values[3] = { - 0xe100, /* front <- 0, surround <- 1, center <- 2, back <- 3 */ + 0xe400, /* front <- 0, surround <- 1, center <- 2, back <- 3 */ 0xe000, /* front <- 0, surround <- 0, center <- 2, back <- 3 */ 0x2000 /* front <- 0, surround <- 0, center <- 2, back <- 0 */ }; @@ -135,7 +135,7 @@ void oxygen_update_dac_routing(struct oxygen *chip) else if (channels == OXYGEN_PLAY_CHANNELS_8) reg_value = 0x6c00; /* surround <- 3, back <- 1 */ else - reg_value = 0xe100; + reg_value = 0xe400; oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, 0xff00); } |