Merge remote-tracking branch 'lsk/v3.10/topic/gator' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / sound / pci / oxygen / xonar_dg.c
index 5519b8f0dad0d8de27383b4da9c211bc40e20877..eb7ad7706205a3e28076eb99f9b5ee9d16e7b777 100644 (file)
@@ -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;