summaryrefslogtreecommitdiffstats
path: root/sound/soc/sof/intel/hda-codec.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-03-27 18:29:20 +0100
committerMark Brown <broonie@kernel.org>2020-03-27 18:29:20 +0100
commit1c521d7e62262793789845989edca57dea24eb7d (patch)
treedd891362188494b9d665229696ffb72187998a00 /sound/soc/sof/intel/hda-codec.c
parentMerge branch 'asoc-5.6' into asoc-linus (diff)
parentMerge series "ASoC: Intel: add SoundWire machine driver" from Pierre-Louis Bo... (diff)
downloadlinux-1c521d7e62262793789845989edca57dea24eb7d.tar.xz
linux-1c521d7e62262793789845989edca57dea24eb7d.zip
Merge branch 'asoc-5.7' into asoc-next
Diffstat (limited to 'sound/soc/sof/intel/hda-codec.c')
-rw-r--r--sound/soc/sof/intel/hda-codec.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/soc/sof/intel/hda-codec.c b/sound/soc/sof/intel/hda-codec.c
index ff45075ef720..3041fbbb010a 100644
--- a/sound/soc/sof/intel/hda-codec.c
+++ b/sound/soc/sof/intel/hda-codec.c
@@ -113,8 +113,14 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address,
if (ret < 0)
return ret;
- if ((resp & 0xFFFF0000) == IDISP_VID_INTEL)
+ if ((resp & 0xFFFF0000) == IDISP_VID_INTEL) {
+ if (!hdev->bus->audio_component) {
+ dev_dbg(sdev->dev,
+ "iDisp hw present but no driver\n");
+ return -ENOENT;
+ }
hda_priv->need_display_power = true;
+ }
/*
* if common HDMI codec driver is not used, codec load
@@ -203,6 +209,9 @@ int hda_codec_i915_exit(struct snd_sof_dev *sdev)
struct hdac_bus *bus = sof_to_bus(sdev);
int ret;
+ if (!bus->audio_component)
+ return 0;
+
/* power down unconditionally */
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);