|
@@ -3095,6 +3095,16 @@ static struct snd_kcontrol_new ad1984_thinkpad_mixers[] = {
|
|
.get = ad198x_mux_enum_get,
|
|
.get = ad198x_mux_enum_get,
|
|
.put = ad198x_mux_enum_put,
|
|
.put = ad198x_mux_enum_put,
|
|
},
|
|
},
|
|
|
|
+ /* SPDIF controls */
|
|
|
|
+ HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT),
|
|
|
|
+ {
|
|
|
|
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
|
|
|
+ .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
|
|
|
|
+ /* identical with ad1983 */
|
|
|
|
+ .info = ad1983_spdif_route_info,
|
|
|
|
+ .get = ad1983_spdif_route_get,
|
|
|
|
+ .put = ad1983_spdif_route_put,
|
|
|
|
+ },
|
|
{ } /* end */
|
|
{ } /* end */
|
|
};
|
|
};
|
|
|
|
|
|
@@ -3197,7 +3207,7 @@ static int patch_ad1984(struct hda_codec *codec)
|
|
codec->patch_ops.build_pcms = ad1984_build_pcms;
|
|
codec->patch_ops.build_pcms = ad1984_build_pcms;
|
|
break;
|
|
break;
|
|
case AD1984_THINKPAD:
|
|
case AD1984_THINKPAD:
|
|
- spec->multiout.dig_out_nid = 0;
|
|
|
|
|
|
+ spec->multiout.dig_out_nid = AD1884_SPDIF_OUT;
|
|
spec->input_mux = &ad1984_thinkpad_capture_source;
|
|
spec->input_mux = &ad1984_thinkpad_capture_source;
|
|
spec->mixers[0] = ad1984_thinkpad_mixers;
|
|
spec->mixers[0] = ad1984_thinkpad_mixers;
|
|
spec->init_verbs[spec->num_init_verbs++] = ad1984_thinkpad_init_verbs;
|
|
spec->init_verbs[spec->num_init_verbs++] = ad1984_thinkpad_init_verbs;
|