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 77acd790ea4796b94c779fd72c1a8be861c4aa9e..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;
@@ -596,7 +606,7 @@ struct oxygen_model model_xonar_dg = {
        .model_data_size = sizeof(struct dg),
        .device_config = PLAYBACK_0_TO_I2S |
                         PLAYBACK_1_TO_SPDIF |
-                        CAPTURE_0_FROM_I2S_2 |
+                        CAPTURE_0_FROM_I2S_1 |
                         CAPTURE_1_FROM_SPDIF,
        .dac_channels_pcm = 6,
        .dac_channels_mixer = 0,