ALSA: oxygen: modify adjust_dg_dac_routing function
commit 1f91ecc14deea9461aca93273d78871ec4d98fcd upstream. When selecting the audio output destinations (headphones, FP headphones, multichannel output), the channel routing should be changed depending on what destination selected. Also unnecessary I2S channels are digitally muted. This function called when the user selects the destination in the ALSA mixer. Signed-off-by: Roman Volkov <v1ron@mail.ru> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0e48f06cf0
commit
4010fe8e33
|
@ -294,6 +294,16 @@ static int output_switch_put(struct snd_kcontrol *ctl,
|
|||
oxygen_write16_masked(chip, OXYGEN_GPIO_DATA,
|
||||
data->output_sel == 1 ? GPIO_HP_REAR : 0,
|
||||
GPIO_HP_REAR);
|
||||
oxygen_write8_masked(chip, OXYGEN_PLAY_ROUTING,
|
||||
data->output_sel == 0 ?
|
||||
OXYGEN_PLAY_MUTE01 :
|
||||
OXYGEN_PLAY_MUTE23 |
|
||||
OXYGEN_PLAY_MUTE45 |
|
||||
OXYGEN_PLAY_MUTE67,
|
||||
OXYGEN_PLAY_MUTE01 |
|
||||
OXYGEN_PLAY_MUTE23 |
|
||||
OXYGEN_PLAY_MUTE45 |
|
||||
OXYGEN_PLAY_MUTE67);
|
||||
}
|
||||
mutex_unlock(&chip->mutex);
|
||||
return changed;
|
||||
|
|
Loading…
Reference in New Issue