Loading sound/x86/intel_hdmi_audio.c +23 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <sound/pcm_params.h> #include <sound/initval.h> #include <sound/control.h> #include <sound/jack.h> #include <drm/drm_edid.h> #include <drm/intel_lpe_audio.h> #include "intel_hdmi_audio.h" Loading Loading @@ -1382,6 +1383,8 @@ static void had_process_hot_plug(struct snd_intelhad *intelhaddata) } had_build_channel_allocation_map(intelhaddata); snd_jack_report(intelhaddata->jack, SND_JACK_AVOUT); } /* process hot unplug, called from wq with mutex locked */ Loading Loading @@ -1414,6 +1417,7 @@ static void had_process_hot_unplug(struct snd_intelhad *intelhaddata) snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP); out: snd_jack_report(intelhaddata->jack, 0); if (substream) had_substream_put(intelhaddata); kfree(intelhaddata->chmap->chmap); Loading Loading @@ -1608,6 +1612,21 @@ static void had_audio_wq(struct work_struct *work) pm_runtime_put(ctx->dev); } /* * Jack interface */ static int had_create_jack(struct snd_intelhad *ctx) { int err; err = snd_jack_new(ctx->card, "HDMI/DP", SND_JACK_AVOUT, &ctx->jack, true, false); if (err < 0) return err; ctx->jack->private_data = ctx; return 0; } /* * PM callbacks */ Loading Loading @@ -1780,6 +1799,10 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev) if (ret < 0) goto err; ret = had_create_jack(ctx); if (ret < 0) goto err; ret = snd_card_register(card); if (ret) goto err; Loading sound/x86/intel_hdmi_audio.h +1 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ struct snd_intelhad { struct work_struct hdmi_audio_wq; struct mutex mutex; /* for protecting chmap and eld */ bool need_reset; struct snd_jack *jack; }; #endif /* _INTEL_HDMI_AUDIO_ */ Loading
sound/x86/intel_hdmi_audio.c +23 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <sound/pcm_params.h> #include <sound/initval.h> #include <sound/control.h> #include <sound/jack.h> #include <drm/drm_edid.h> #include <drm/intel_lpe_audio.h> #include "intel_hdmi_audio.h" Loading Loading @@ -1382,6 +1383,8 @@ static void had_process_hot_plug(struct snd_intelhad *intelhaddata) } had_build_channel_allocation_map(intelhaddata); snd_jack_report(intelhaddata->jack, SND_JACK_AVOUT); } /* process hot unplug, called from wq with mutex locked */ Loading Loading @@ -1414,6 +1417,7 @@ static void had_process_hot_unplug(struct snd_intelhad *intelhaddata) snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP); out: snd_jack_report(intelhaddata->jack, 0); if (substream) had_substream_put(intelhaddata); kfree(intelhaddata->chmap->chmap); Loading Loading @@ -1608,6 +1612,21 @@ static void had_audio_wq(struct work_struct *work) pm_runtime_put(ctx->dev); } /* * Jack interface */ static int had_create_jack(struct snd_intelhad *ctx) { int err; err = snd_jack_new(ctx->card, "HDMI/DP", SND_JACK_AVOUT, &ctx->jack, true, false); if (err < 0) return err; ctx->jack->private_data = ctx; return 0; } /* * PM callbacks */ Loading Loading @@ -1780,6 +1799,10 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev) if (ret < 0) goto err; ret = had_create_jack(ctx); if (ret < 0) goto err; ret = snd_card_register(card); if (ret) goto err; Loading
sound/x86/intel_hdmi_audio.h +1 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ struct snd_intelhad { struct work_struct hdmi_audio_wq; struct mutex mutex; /* for protecting chmap and eld */ bool need_reset; struct snd_jack *jack; }; #endif /* _INTEL_HDMI_AUDIO_ */