Commit 2297bd6e authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda - Check HDMI jack types in the auto configuration



Add dig_out_type and dig_in_type fields to autocfg struct.
A proper HDA_PCM_TYPE_* value is assigned to these fields according
to the pin-jack location type value.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 41b5b01a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3392,10 +3392,18 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
		case AC_JACK_SPDIF_OUT:
		case AC_JACK_DIG_OTHER_OUT:
			cfg->dig_out_pin = nid;
			if (loc == AC_JACK_LOC_HDMI)
				cfg->dig_out_type = HDA_PCM_TYPE_HDMI;
			else
				cfg->dig_out_type = HDA_PCM_TYPE_SPDIF;
			break;
		case AC_JACK_SPDIF_IN:
		case AC_JACK_DIG_OTHER_IN:
			cfg->dig_in_pin = nid;
			if (loc == AC_JACK_LOC_HDMI)
				cfg->dig_in_type = HDA_PCM_TYPE_HDMI;
			else
				cfg->dig_in_type = HDA_PCM_TYPE_SPDIF;
			break;
		}
	}
+2 −0
Original line number Diff line number Diff line
@@ -355,6 +355,8 @@ struct auto_pin_cfg {
	hda_nid_t dig_out_pin;
	hda_nid_t dig_in_pin;
	hda_nid_t mono_out_pin;
	int dig_out_type; /* HDA_PCM_TYPE_XXX */
	int dig_in_type; /* HDA_PCM_TYPE_XXX */
};

#define get_defcfg_connect(cfg) \