diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2011-01-31 11:47:52 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-31 12:00:02 +0100 |
commit | efbeb0718126d277c9d7e902eec8da956acf4bd6 (patch) | |
tree | 5d577ecf2ac6a55759d361856de1e8d05bc1b95a /sound/pci/oxygen/oxygen_mixer.c | |
parent | fdbc5d1b32e195b7775e103abd6263370f11af11 (diff) | |
download | talos-obmc-linux-efbeb0718126d277c9d7e902eec8da956acf4bd6.tar.gz talos-obmc-linux-efbeb0718126d277c9d7e902eec8da956acf4bd6.zip |
ALSA: oxygen: fix output routing on Xonar DG
This card uses separate I2S outputs for the front speakers and
headphones, and reverses the order of the three speaker outputs.
To work around this, add a model-specific callback to adjust the
controller's playback routing.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen/oxygen_mixer.c')
-rw-r--r-- | sound/pci/oxygen/oxygen_mixer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c index 9bff14d5895d..26c7e8bcb229 100644 --- a/sound/pci/oxygen/oxygen_mixer.c +++ b/sound/pci/oxygen/oxygen_mixer.c @@ -180,6 +180,8 @@ void oxygen_update_dac_routing(struct oxygen *chip) (1 << OXYGEN_PLAY_DAC1_SOURCE_SHIFT) | (2 << OXYGEN_PLAY_DAC2_SOURCE_SHIFT) | (3 << OXYGEN_PLAY_DAC3_SOURCE_SHIFT); + if (chip->model.adjust_dac_routing) + reg_value = chip->model.adjust_dac_routing(chip, reg_value); oxygen_write16_masked(chip, OXYGEN_PLAY_ROUTING, reg_value, OXYGEN_PLAY_DAC0_SOURCE_MASK | OXYGEN_PLAY_DAC1_SOURCE_MASK | |