[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>
This commit is contained in:
parent
c2353a0826
commit
e005954934
2 changed files with 3 additions and 3 deletions
|
@ -214,7 +214,7 @@ static void __devinit oxygen_init(struct oxygen *chip)
|
||||||
oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, 0x010a);
|
oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, 0x010a);
|
||||||
oxygen_set_bits32(chip, OXYGEN_SPDIF_CONTROL, OXYGEN_SPDIF_RATE_MASK);
|
oxygen_set_bits32(chip, OXYGEN_SPDIF_CONTROL, OXYGEN_SPDIF_RATE_MASK);
|
||||||
oxygen_write32(chip, OXYGEN_SPDIF_OUTPUT_BITS, chip->spdif_bits);
|
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_REC_ROUTING, 0x10);
|
||||||
oxygen_write8(chip, OXYGEN_ADC_MONITOR, 0x00);
|
oxygen_write8(chip, OXYGEN_ADC_MONITOR, 0x00);
|
||||||
oxygen_write8(chip, OXYGEN_A_MONITOR_ROUTING, 0xe4);
|
oxygen_write8(chip, OXYGEN_A_MONITOR_ROUTING, 0xe4);
|
||||||
|
|
|
@ -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)
|
void oxygen_update_dac_routing(struct oxygen *chip)
|
||||||
{
|
{
|
||||||
static const unsigned int reg_values[3] = {
|
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 */
|
0xe000, /* front <- 0, surround <- 0, center <- 2, back <- 3 */
|
||||||
0x2000 /* front <- 0, surround <- 0, center <- 2, back <- 0 */
|
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)
|
else if (channels == OXYGEN_PLAY_CHANNELS_8)
|
||||||
reg_value = 0x6c00; /* surround <- 3, back <- 1 */
|
reg_value = 0x6c00; /* surround <- 3, back <- 1 */
|
||||||
else
|
else
|
||||||
reg_value = 0xe100;
|
reg_value = 0xe400;
|
||||||
oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, 0xff00);
|
oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, 0xff00);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue