ASoC: Intel: Skylake: Add jack port initialize in rt286 machine
After the pcm jack is created, create and initialize the pin switch widget for each port. Pin switch is to enable/disable the pin when monitor is connected/disconnected. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -95,10 +95,6 @@ static const struct snd_soc_dapm_route skylake_rt286_map[] = {
|
|||||||
{"DMIC1 Pin", NULL, "DMIC2"},
|
{"DMIC1 Pin", NULL, "DMIC2"},
|
||||||
{"DMic", NULL, "SoC DMIC"},
|
{"DMic", NULL, "SoC DMIC"},
|
||||||
|
|
||||||
{"HDMI1", NULL, "hif5-0 Output"},
|
|
||||||
{"HDMI2", NULL, "hif6-0 Output"},
|
|
||||||
{"HDMI3", NULL, "hif7-0 Output"},
|
|
||||||
|
|
||||||
/* CODEC BE connections */
|
/* CODEC BE connections */
|
||||||
{ "AIF1 Playback", NULL, "ssp0 Tx"},
|
{ "AIF1 Playback", NULL, "ssp0 Tx"},
|
||||||
{ "ssp0 Tx", NULL, "codec0_out"},
|
{ "ssp0 Tx", NULL, "codec0_out"},
|
||||||
@@ -464,10 +460,12 @@ static int skylake_card_late_probe(struct snd_soc_card *card)
|
|||||||
{
|
{
|
||||||
struct skl_rt286_private *ctx = snd_soc_card_get_drvdata(card);
|
struct skl_rt286_private *ctx = snd_soc_card_get_drvdata(card);
|
||||||
struct skl_hdmi_pcm *pcm;
|
struct skl_hdmi_pcm *pcm;
|
||||||
|
struct snd_soc_codec *codec = NULL;
|
||||||
int err, i = 0;
|
int err, i = 0;
|
||||||
char jack_name[NAME_SIZE];
|
char jack_name[NAME_SIZE];
|
||||||
|
|
||||||
list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
|
list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
|
||||||
|
codec = pcm->codec_dai->codec;
|
||||||
snprintf(jack_name, sizeof(jack_name),
|
snprintf(jack_name, sizeof(jack_name),
|
||||||
"HDMI/DP, pcm=%d Jack", pcm->device);
|
"HDMI/DP, pcm=%d Jack", pcm->device);
|
||||||
err = snd_soc_card_jack_new(card, jack_name,
|
err = snd_soc_card_jack_new(card, jack_name,
|
||||||
@@ -485,7 +483,10 @@ static int skylake_card_late_probe(struct snd_soc_card *card)
|
|||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
if (!codec)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return hdac_hdmi_jack_port_init(codec, &card->dapm);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* skylake audio machine driver for SPT + RT286S */
|
/* skylake audio machine driver for SPT + RT286S */
|
||||||
|
|||||||
Reference in New Issue
Block a user