diff options
Diffstat (limited to 'alsa-5.5.patch')
-rw-r--r-- | alsa-5.5.patch | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/alsa-5.5.patch b/alsa-5.5.patch index e2edd3d9e..350d0a186 100644 --- a/alsa-5.5.patch +++ b/alsa-5.5.patch @@ -4431,162 +4431,6 @@ index 6b1bd4f428e7..e145cec085b8 100644 2.20.1 -From 669fa4378c36f288936e3bdc52dfba7b245ea9fe Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen <kai.vehmanen@linux.intel.com> -Date: Tue, 29 Oct 2019 15:40:13 +0200 -Subject: [PATCH 046/130] ASoC: SOF: Intel: add support for snd-hda-codec-hdmi - -Add support to implement HDMI/DP audio by using the common -snd-hda-codec-hdmi driver. - -Change of codec driver affects user-space as the two -drivers expose different mixer controls. A new kernel -module option "use_common_hdmi" is added to user-space -to indicate which interface should be used. The default -driver can be selected via a Kconfig option. - -Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> -Reviewed-by: Takashi Iwai <tiwai@suse.de> -Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Link: https://lore.kernel.org/r/20191029134017.18901-6-kai.vehmanen@linux.intel.com -Signed-off-by: Mark Brown <broonie@kernel.org> - -Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> -(cherry picked from commit 139c7febad1afa221c687f3314560284e482a1f4) -Bugzilla: 1772498 ---- - sound/soc/sof/intel/Kconfig | 10 ++++++++++ - sound/soc/sof/intel/hda-codec.c | 22 ++++++++++++++++++---- - sound/soc/sof/intel/hda.c | 6 ++++++ - sound/soc/sof/intel/hda.h | 6 ++++-- - 4 files changed, 38 insertions(+), 6 deletions(-) - -diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig -index aac8d5deba3d..95a2d1708dd9 100644 ---- a/sound/soc/sof/intel/Kconfig -+++ b/sound/soc/sof/intel/Kconfig -@@ -299,6 +299,16 @@ config SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 - Say Y if you want to enable DMI Link L1 - If unsure, select "N". - -+config SND_SOC_SOF_HDA_COMMON_HDMI_CODEC -+ bool "SOF common HDA HDMI codec driver" -+ depends on SND_SOC_SOF_HDA_LINK -+ depends on SND_HDA_CODEC_HDMI -+ help -+ This adds support for HDMI audio by using the common HDA -+ HDMI/DisplayPort codec driver. -+ Say Y if you want to use the common codec driver with SOF. -+ If unsure select "Y". -+ - endif ## SND_SOC_SOF_HDA_COMMON - - config SND_SOC_SOF_HDA_LINK_BASELINE -diff --git a/sound/soc/sof/intel/hda-codec.c b/sound/soc/sof/intel/hda-codec.c -index 3ca6795a89ba..827f84a0722e 100644 ---- a/sound/soc/sof/intel/hda-codec.c -+++ b/sound/soc/sof/intel/hda-codec.c -@@ -84,6 +84,8 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address) - { - #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC) - struct hdac_hda_priv *hda_priv; -+ struct snd_soc_acpi_mach_params *mach_params = NULL; -+ struct snd_sof_pdata *pdata = sdev->pdata; - #endif - struct hda_bus *hbus = sof_to_hbus(sdev); - struct hdac_device *hdev; -@@ -113,8 +115,19 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address) - if (ret < 0) - return ret; - -- /* use legacy bus only for HDA codecs, idisp uses ext bus */ -- if ((resp & 0xFFFF0000) != IDISP_VID_INTEL) { -+ if (pdata->machine) -+ mach_params = (struct snd_soc_acpi_mach_params *) -+ &pdata->machine->mach_params; -+ -+ if ((resp & 0xFFFF0000) == IDISP_VID_INTEL) -+ hda_priv->need_display_power = true; -+ -+ /* -+ * if common HDMI codec driver is not used, codec load -+ * is skipped here and hdac_hdmi is used instead -+ */ -+ if ((mach_params && mach_params->common_hdmi_codec_drv) || -+ (resp & 0xFFFF0000) != IDISP_VID_INTEL) { - hdev->type = HDA_DEV_LEGACY; - hda_codec_load_module(&hda_priv->codec); - } -@@ -155,7 +168,8 @@ int hda_codec_probe_bus(struct snd_sof_dev *sdev) - } - EXPORT_SYMBOL(hda_codec_probe_bus); - --#if IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) -+#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI) || \ -+ IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) - - void hda_codec_i915_get(struct snd_sof_dev *sdev) - { -@@ -204,6 +218,6 @@ int hda_codec_i915_exit(struct snd_sof_dev *sdev) - } - EXPORT_SYMBOL(hda_codec_i915_exit); - --#endif /* CONFIG_SND_SOC_HDAC_HDMI */ -+#endif - - MODULE_LICENSE("Dual BSD/GPL"); -diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c -index 103f4273c4d3..7dc0018dc4c3 100644 ---- a/sound/soc/sof/intel/hda.c -+++ b/sound/soc/sof/intel/hda.c -@@ -53,6 +53,11 @@ MODULE_PARM_DESC(use_msi, "SOF HDA use PCI MSI mode"); - static int hda_dmic_num = -1; - module_param_named(dmic_num, hda_dmic_num, int, 0444); - MODULE_PARM_DESC(dmic_num, "SOF HDA DMIC number"); -+ -+static bool hda_codec_use_common_hdmi = -+ IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC); -+module_param_named(use_common_hdmi, hda_codec_use_common_hdmi, bool, 0444); -+MODULE_PARM_DESC(use_common_hdmi, "SOF HDA use common HDMI codec driver"); - #endif - - static const struct hda_dsp_msg_code hda_dsp_rom_msg[] = { -@@ -459,6 +464,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) - &pdata->machine->mach_params; - mach_params->codec_mask = bus->codec_mask; - mach_params->platform = dev_name(sdev->dev); -+ mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi; - } - - /* create codec instances */ -diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h -index 8e03d876a0ac..d6ef657b8900 100644 ---- a/sound/soc/sof/intel/hda.h -+++ b/sound/soc/sof/intel/hda.h -@@ -565,7 +565,9 @@ void hda_codec_jack_check(struct snd_sof_dev *sdev); - - #endif /* CONFIG_SND_SOC_SOF_HDA */ - --#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) && IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) -+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) && \ -+ (IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI) || \ -+ IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) - - void hda_codec_i915_get(struct snd_sof_dev *sdev); - void hda_codec_i915_put(struct snd_sof_dev *sdev); -@@ -579,7 +581,7 @@ static inline void hda_codec_i915_put(struct snd_sof_dev *sdev) { } - static inline int hda_codec_i915_init(struct snd_sof_dev *sdev) { return 0; } - static inline int hda_codec_i915_exit(struct snd_sof_dev *sdev) { return 0; } - --#endif /* CONFIG_SND_SOC_SOF_HDA && CONFIG_SND_SOC_HDAC_HDMI */ -+#endif - - /* - * Trace Control. --- -2.20.1 - - From 480f07ccb82555912594c2b6d560fdeb35176b40 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Date: Fri, 1 Nov 2019 12:30:35 -0500 |