From 830026294181c96c65634a2bd314bcd34f92805f Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Thu, 6 Feb 2020 09:29:47 -0500 Subject: Linux v5.4.18 --- ...gy-fix-soc_tplg_fe_link_create-link-dobj-.patch | 60 -------- alsa-5.5.patch | 156 --------------------- alsa-5.6.patch | 73 ---------- kernel.spec | 8 +- sources | 2 +- 5 files changed, 5 insertions(+), 294 deletions(-) delete mode 100644 ASoC-topology-fix-soc_tplg_fe_link_create-link-dobj-.patch diff --git a/ASoC-topology-fix-soc_tplg_fe_link_create-link-dobj-.patch b/ASoC-topology-fix-soc_tplg_fe_link_create-link-dobj-.patch deleted file mode 100644 index f86069ab9..000000000 --- a/ASoC-topology-fix-soc_tplg_fe_link_create-link-dobj-.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 29bc8978342b2d94a65801904c44dc7b0ef88da2 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 22 Jan 2020 20:07:52 +0100 -Subject: [PATCH] ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj - initialization order - -The code which checks the return value for snd_soc_add_dai_link() call -in soc_tplg_fe_link_create() moved the snd_soc_add_dai_link() call before -link->dobj members initialization. - -While it does not affect the latest kernels, the old soc-core.c code -in the stable kernels is affected. The snd_soc_add_dai_link() function uses -the link->dobj.type member to check, if the link structure is valid. - -Reorder the link->dobj initialization to make things work again. -It's harmless for the recent code (and the structure should be properly -initialized before other calls anyway). - -The problem is in stable linux-5.4.y since version 5.4.11 when the -upstream commit 76d270364932 was applied. - -Fixes: 76d270364932 ("ASoC: topology: Check return value for snd_soc_add_dai_link()") -Cc: Dragos Tarcatu -Cc: Pierre-Louis Bossart -Cc: Ranjani Sridharan -Cc: Mark Brown -Cc: -Signed-off-by: Jaroslav Kysela ---- - sound/soc/soc-topology.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c -index fd2d22ddc81b..1c143a00633f 100644 ---- a/sound/soc/soc-topology.c -+++ b/sound/soc/soc-topology.c -@@ -1891,6 +1891,10 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg, - link->num_codecs = 1; - link->num_platforms = 1; - -+ link->dobj.index = tplg->index; -+ link->dobj.ops = tplg->ops; -+ link->dobj.type = SND_SOC_DOBJ_DAI_LINK; -+ - if (strlen(pcm->pcm_name)) { - link->name = kstrdup(pcm->pcm_name, GFP_KERNEL); - link->stream_name = kstrdup(pcm->pcm_name, GFP_KERNEL); -@@ -1927,9 +1931,6 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg, - goto err; - } - -- link->dobj.index = tplg->index; -- link->dobj.ops = tplg->ops; -- link->dobj.type = SND_SOC_DOBJ_DAI_LINK; - list_add(&link->dobj.list, &tplg->comp->dobj_list); - - return 0; --- -2.24.1 - 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 -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 -Reviewed-by: Takashi Iwai -Reviewed-by: Pierre-Louis Bossart -Link: https://lore.kernel.org/r/20191029134017.18901-6-kai.vehmanen@linux.intel.com -Signed-off-by: Mark Brown - -Signed-off-by: Jaroslav Kysela -(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 Date: Fri, 1 Nov 2019 12:30:35 -0500 diff --git a/alsa-5.6.patch b/alsa-5.6.patch index 181525102..b5436a7b2 100644 --- a/alsa-5.6.patch +++ b/alsa-5.6.patch @@ -1,76 +1,3 @@ -From 4ef91c45a5a283dc8899402bc68adfe0aa9a026d Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 4 Dec 2019 15:15:44 -0600 -Subject: [PATCH 1/4] ASoC: intel/skl/hda - export number of digital - microphones via control components - -It is required for the auto-detection in the user space (for UCM). - -Signed-off-by: Jaroslav Kysela -Signed-off-by: Pierre-Louis Bossart -Cc: Mark Brown -Link: https://lore.kernel.org/r/20191204211556.12671-2-pierre-louis.bossart@linux.intel.com -Signed-off-by: Mark Brown - -Signed-off-by: Jaroslav Kysela -(cherry picked from commit 8cd9956f61c65022209ce6d1e55ed12aea12357d) -Bugzilla: 1772498 ---- - sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++ - sound/soc/sof/intel/hda.c | 3 ++- - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c -index 4e45901e3a2f..11eaee9ae41f 100644 ---- a/sound/soc/intel/boards/skl_hda_dsp_generic.c -+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c -@@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { - .late_probe = skl_hda_card_late_probe, - }; - -+static char hda_soc_components[30]; -+ - #define IDISP_DAI_COUNT 3 - #define HDAC_DAI_COUNT 2 - #define DMIC_DAI_COUNT 2 -@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) - hda_soc_card.dev = &pdev->dev; - snd_soc_card_set_drvdata(&hda_soc_card, ctx); - -+ if (mach->mach_params.dmic_num > 0) { -+ snprintf(hda_soc_components, sizeof(hda_soc_components), -+ "cfg-dmics:%d", mach->mach_params.dmic_num); -+ hda_soc_card.components = hda_soc_components; -+ } -+ - return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); - } - -diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c -index 91bd88fddac7..eea01f75d23d 100644 ---- a/sound/soc/sof/intel/hda.c -+++ b/sound/soc/sof/intel/hda.c -@@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) - const char *tplg_filename; - const char *idisp_str; - const char *dmic_str; -- int dmic_num; -+ int dmic_num = 0; - int codec_num = 0; - int i; - #endif -@@ -472,6 +472,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) - 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; -+ mach_params->dmic_num = dmic_num; - } - - /* create codec instances */ --- -2.20.1 - - From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 4 Dec 2019 15:15:45 -0600 diff --git a/kernel.spec b/kernel.spec index 9d4d03a6a..a895fb2af 100644 --- a/kernel.spec +++ b/kernel.spec @@ -89,7 +89,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 17 +%define stable_update 18 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -816,9 +816,6 @@ Patch600: alsa-5.5.patch # ALSA code from v5.6 (Intel ASoC Sound Open Firmware driver support) Patch601: alsa-5.6.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1772498#c101 -Patch602: ASoC-topology-fix-soc_tplg_fe_link_create-link-dobj-.patch - # This is already in 5.5 rhbz 1794369 Patch603: 0001-e1000e-Add-support-for-Comet-Lake.patch @@ -2519,6 +2516,9 @@ fi # # %changelog +* Thu Feb 06 2020 Jeremy Cline - 5.4.18-200 +- Linux v5.4.18 + * Sat Feb 01 2020 Jeremy Cline - 5.4.17-200 - Linux v5.4.17 diff --git a/sources b/sources index 51cbbe1e3..3cac76848 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (linux-5.4.tar.xz) = 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f -SHA512 (patch-5.4.17.xz) = 751b3d46f3d3b6bb994a793bb74ca12abe1f9b6d4e45bff6eaab4e3839b8f37a1e4d4dec28ba68648a5c25098ac027995eaebbab13bdebb1f490da379bbaa079 +SHA512 (patch-5.4.18.xz) = 25e8ca187add056d9275002eded1bcd400e8d216f6db8d15179fda0bf6da934ef5d351ae73b81e9fa6295d784095dd83afe772b38c02bbb72ffb808937dedf93 -- cgit