|
@@ -131,9 +131,6 @@ static const struct snd_soc_dapm_route skylake_map[] = {
|
|
{ "MIC", NULL, "Headset Mic" },
|
|
{ "MIC", NULL, "Headset Mic" },
|
|
{ "DMic", NULL, "SoC DMIC" },
|
|
{ "DMic", NULL, "SoC DMIC" },
|
|
|
|
|
|
- {"DP1", NULL, "hif5-0 Output"},
|
|
|
|
- {"DP2", NULL, "hif6-0 Output"},
|
|
|
|
-
|
|
|
|
/* CODEC BE connections */
|
|
/* CODEC BE connections */
|
|
{ "HiFi Playback", NULL, "ssp0 Tx" },
|
|
{ "HiFi Playback", NULL, "ssp0 Tx" },
|
|
{ "ssp0 Tx", NULL, "codec0_out" },
|
|
{ "ssp0 Tx", NULL, "codec0_out" },
|
|
@@ -609,10 +606,12 @@ static int skylake_card_late_probe(struct snd_soc_card *card)
|
|
{
|
|
{
|
|
struct skl_nau8825_private *ctx = snd_soc_card_get_drvdata(card);
|
|
struct skl_nau8825_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,
|
|
@@ -631,7 +630,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 + NAU88L25 */
|
|
/* skylake audio machine driver for SPT + NAU88L25 */
|