History

[ALSA] hda-codec - Add SPDIF support to Thinkpad T/X/Z60

Added IEC958 (SPDIF) output support to Thinkpad T/X/Z60 with AD1981HD codec. The spdif jack is on docking station. Also, renamed 'IEC958 Playback Route' to 'IEC958 Playback Source' to avoid the mixer name confliction with IEC958 switch.

Takashi Iwai committed 20 years ago

Commit 6540dff1 parent 70c5acb1 file · +10 −3Browse files

Unified · Split

sound/pci/hda/patch_analog.c+10−3
@@ -963,7 +963,7 @@ static struct snd_kcontrol_new ad1983_mixers[] = { · 962 unmodified lines
963 },963 },
964 {964 {
965 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,965 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
966 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",966 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
967 .info = ad1983_spdif_route_info,967 .info = ad1983_spdif_route_info,
968 .get = ad1983_spdif_route_get,968 .get = ad1983_spdif_route_get,
969 .put = ad1983_spdif_route_put,969 .put = ad1983_spdif_route_put,
@@ -1103,7 +1103,7 @@ static struct snd_kcontrol_new ad1981_mixers[] = { · 133 unmodified lines
1103 /* identical with AD1983 */1103 /* identical with AD1983 */
1104 {1104 {
1105 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,1105 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1106 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",1106 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
1107 .info = ad1983_spdif_route_info,1107 .info = ad1983_spdif_route_info,
1108 .get = ad1983_spdif_route_get,1108 .get = ad1983_spdif_route_get,
1109 .put = ad1983_spdif_route_put,1109 .put = ad1983_spdif_route_put,
@@ -1349,6 +1349,14 @@ static struct snd_kcontrol_new ad1981_thinkpad_mixers[] = { · 239 unmodified lines
1349 .get = ad198x_mux_enum_get,1349 .get = ad198x_mux_enum_get,
1350 .put = ad198x_mux_enum_put,1350 .put = ad198x_mux_enum_put,
1351 },1351 },
1352 /* identical with AD1983 */
1353 {
1354 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1355 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
1356 .info = ad1983_spdif_route_info,
1357 .get = ad1983_spdif_route_get,
1358 .put = ad1983_spdif_route_put,
1359 },
1352 { } /* end */1360 { } /* end */
1353};1361};
1354 1362
@@ -1422,7 +1430,6 @@ static int patch_ad1981(struct hda_codec *codec) · 67 unmodified lines
1422 break;1430 break;
1423 case AD1981_THINKPAD:1431 case AD1981_THINKPAD:
1424 spec->mixers[0] = ad1981_thinkpad_mixers;1432 spec->mixers[0] = ad1981_thinkpad_mixers;
1425 spec->multiout.dig_out_nid = 0;
1426 spec->input_mux = &ad1981_thinkpad_capture_source;1433 spec->input_mux = &ad1981_thinkpad_capture_source;
1427 break;1434 break;
1428 }1435 }