clear-pkgs-linux-iot-lts2018/0749-ASoC-Intel-Skylake-Wor...

72 lines
2.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pawel Furtak <pawel.furtak@intel.com>
Date: Sun, 25 Nov 2018 17:56:29 +0100
Subject: [PATCH] ASoC: Intel: Skylake: Workarounds for virtualization
Virtualized system does not configure BE DAIs, instead
this is done on Service OS side. This patch adds workarounds
to prevent Guest OS from accessing such configuration.
Change-Id: I97efbff2398b7dfafc90d36eefbc719a12e4e1c3
Signed-off-by: Pawel Furtak <pawel.furtak@intel.com>
Tracked-On: OAM-72189
Reviewed-by: Rojewski, Cezary <cezary.rojewski@intel.com>
Tested-by: Rojewski, Cezary <cezary.rojewski@intel.com>
---
sound/soc/intel/skylake/Makefile | 2 ++
sound/soc/intel/skylake/skl-pcm.c | 2 ++
sound/soc/intel/skylake/skl-topology.c | 10 ++++++++++
3 files changed, 14 insertions(+)
diff --git a/sound/soc/intel/skylake/Makefile b/sound/soc/intel/skylake/Makefile
index f36c0bb6e6c2..66d2fd14f2c5 100644
--- a/sound/soc/intel/skylake/Makefile
+++ b/sound/soc/intel/skylake/Makefile
@@ -2,6 +2,8 @@
snd-soc-skl-objs := skl.o skl-sdw-pcm.o skl-pcm.o skl-nhlt.o skl-messages.o \
skl-topology.o skl-compress.o skl-probe.o
+include sound/soc/intel/skylake/virtio/Makefile
+
ifdef CONFIG_DEBUG_FS
snd-soc-skl-objs += skl-debug.o
endif
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
index 7969d6b7a85e..7e0d0657f478 100644
--- a/sound/soc/intel/skylake/skl-pcm.c
+++ b/sound/soc/intel/skylake/skl-pcm.c
@@ -959,7 +959,9 @@ static const struct snd_soc_dai_ops skl_dmic_dai_ops = {
};
static const struct snd_soc_dai_ops skl_be_ssp_dai_ops = {
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_SKYLAKE_VIRTIO_FE)
.hw_params = skl_be_hw_params,
+#endif
};
static const struct snd_soc_dai_ops skl_link_dai_ops = {
diff --git a/sound/soc/intel/skylake/skl-topology.c b/sound/soc/intel/skylake/skl-topology.c
index 17efe6fce345..573d78bdd7f0 100644
--- a/sound/soc/intel/skylake/skl-topology.c
+++ b/sound/soc/intel/skylake/skl-topology.c
@@ -668,6 +668,16 @@ static int skl_tplg_update_be_blob(struct snd_soc_dapm_widget *w,
return 0;
dev_dbg(ctx->dev, "Applying default cfg blob\n");
+
+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKYLAKE_VIRTIO_FE)
+ /*
+ * FIXME: dev_type from topology for should be SKL_DEVICE_VIRTUAL
+ * and the if should be removed
+ * FE does not need information about BE dais/blobs so exit
+ */
+ return 0;
+#endif
+
switch (m_cfg->dev_type) {
case SKL_DEVICE_DMIC:
link_type = NHLT_LINK_DMIC;
--
https://clearlinux.org