From: Greg Kroah-Hartman Date: Wed, 6 Apr 2022 12:27:53 +0000 (+0200) Subject: drop asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch X-Git-Tag: v5.17.2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=16a61d2b4e531974b25c5f6924b4521f905e96ad;p=thirdparty%2Fkernel%2Fstable-queue.git drop asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch from 5.16 and 5.17 queues --- diff --git a/queue-5.16/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch b/queue-5.16/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch deleted file mode 100644 index 47f64bd8682..00000000000 --- a/queue-5.16/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 74f8e20c85e01c5efd9b056ce74c99a1f545e6fc Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 8 Mar 2022 13:26:04 -0600 -Subject: ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Pierre-Louis Bossart - -[ Upstream commit 651c304df7f6e3fbb4779527efa3eb128ef91329 ] - -Since we see a proliferation of devices with various configurations, -we want to automatically set the DMIC and SSP information. This patch -relies on the information extracted from NHLT and partially reverts -existing DMI quirks added by commit a164137ce91a ("ASoC: Intel: add -machine driver for SOF+ES8336") - -Note that NHLT can report multiple SSPs, choosing from the -ssp_link_mask in an MSB-first manner was found experimentally to work -fine. - -The only thing that cannot be detected is the GPIO type, and users may -want to use the quirk override parameter if the 'wrong' solution is -provided. - -Tested-by: Mauro Carvalho Chehab -Signed-off-by: Pierre-Louis Bossart -Reviewed-by: Bard Liao -Reviewed-by: Péter Ujfalusi -Link: https://lore.kernel.org/r/20220308192610.392950-15-pierre-louis.bossart@linux.intel.com -Signed-off-by: Mark Brown -Signed-off-by: Sasha Levin ---- - sound/soc/intel/boards/sof_es8336.c | 56 +++++++++++++++++++++-------- - 1 file changed, 41 insertions(+), 15 deletions(-) - -diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c -index 20d577eaab6d..46e453915f82 100644 ---- a/sound/soc/intel/boards/sof_es8336.c -+++ b/sound/soc/intel/boards/sof_es8336.c -@@ -228,24 +228,25 @@ static int sof_es8336_quirk_cb(const struct dmi_system_id *id) - return 1; - } - -+/* -+ * this table should only be used to add GPIO or jack-detection quirks -+ * that cannot be detected from ACPI tables. The SSP and DMIC -+ * information are providing by the platform driver and are aligned -+ * with the topology used. -+ * -+ * If the GPIO support is missing, the quirk parameter can be used to -+ * enable speakers. In that case it's recommended to keep the SSP and DMIC -+ * information consistent, overriding the SSP and DMIC can only be done -+ * if the topology file is modified as well. -+ */ - static const struct dmi_system_id sof_es8336_quirk_table[] = { -- { -- .callback = sof_es8336_quirk_cb, -- .matches = { -- DMI_MATCH(DMI_SYS_VENDOR, "CHUWI Innovation And Technology"), -- DMI_MATCH(DMI_BOARD_NAME, "Hi10 X"), -- }, -- .driver_data = (void *)SOF_ES8336_SSP_CODEC(2) -- }, - { - .callback = sof_es8336_quirk_cb, - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "IP3 tech"), - DMI_MATCH(DMI_BOARD_NAME, "WN1"), - }, -- .driver_data = (void *)(SOF_ES8336_SSP_CODEC(0) | -- SOF_ES8336_TGL_GPIO_QUIRK | -- SOF_ES8336_ENABLE_DMIC) -+ .driver_data = (void *)(SOF_ES8336_TGL_GPIO_QUIRK) - }, - {} - }; -@@ -470,11 +471,33 @@ static int sof_es8336_probe(struct platform_device *pdev) - card = &sof_es8336_card; - card->dev = dev; - -- if (!dmi_check_system(sof_es8336_quirk_table)) -- quirk = SOF_ES8336_SSP_CODEC(2); -+ /* check GPIO DMI quirks */ -+ dmi_check_system(sof_es8336_quirk_table); - -- if (quirk & SOF_ES8336_ENABLE_DMIC) -- dmic_be_num = 2; -+ if (!mach->mach_params.i2s_link_mask) { -+ dev_warn(dev, "No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter\n"); -+ } else { -+ /* -+ * Set configuration based on platform NHLT. -+ * In this machine driver, we can only support one SSP for the -+ * ES8336 link, the else-if below are intentional. -+ * In some cases multiple SSPs can be reported by NHLT, starting MSB-first -+ * seems to pick the right connection. -+ */ -+ unsigned long ssp = 0; -+ -+ if (mach->mach_params.i2s_link_mask & BIT(2)) -+ ssp = SOF_ES8336_SSP_CODEC(2); -+ else if (mach->mach_params.i2s_link_mask & BIT(1)) -+ ssp = SOF_ES8336_SSP_CODEC(1); -+ else if (mach->mach_params.i2s_link_mask & BIT(0)) -+ ssp = SOF_ES8336_SSP_CODEC(0); -+ -+ quirk |= ssp; -+ } -+ -+ if (mach->mach_params.dmic_num) -+ quirk |= SOF_ES8336_ENABLE_DMIC; - - if (quirk_override != -1) { - dev_info(dev, "Overriding quirk 0x%lx => 0x%x\n", -@@ -483,6 +506,9 @@ static int sof_es8336_probe(struct platform_device *pdev) - } - log_quirks(dev); - -+ if (quirk & SOF_ES8336_ENABLE_DMIC) -+ dmic_be_num = 2; -+ - sof_es8336_card.num_links += dmic_be_num + hdmi_num; - dai_links = sof_card_dai_links_create(dev, - SOF_ES8336_SSP_CODEC(quirk), --- -2.34.1 - diff --git a/queue-5.16/series b/queue-5.16/series index 1c56be154a4..5149abab9c4 100644 --- a/queue-5.16/series +++ b/queue-5.16/series @@ -846,7 +846,6 @@ media-hdpvr-initialize-dev-worker-at-hdpvr_register_.patch asoc-intel-sof_sdw-fix-quirks-for-2022-hp-spectre-x3.patch asoc-intel-soc-acpi-add-more-acpi-hids-for-es83x6-de.patch asoc-intel-revert-asoc-intel-sof_es8336-add-quirk-fo.patch -asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch asoc-intel-sof_es8336-log-all-quirks.patch tracing-have-trace_define_enum-affect-trace-event-ty.patch mmc-host-return-an-error-when-enable_sdio_irq-ops-is.patch diff --git a/queue-5.17/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch b/queue-5.17/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch deleted file mode 100644 index d402312ef99..00000000000 --- a/queue-5.17/asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch +++ /dev/null @@ -1,129 +0,0 @@ -From ce347d8cb5afbf80ad3daaa8fe2f7bdf76c5b9e6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 8 Mar 2022 13:26:04 -0600 -Subject: ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Pierre-Louis Bossart - -[ Upstream commit 651c304df7f6e3fbb4779527efa3eb128ef91329 ] - -Since we see a proliferation of devices with various configurations, -we want to automatically set the DMIC and SSP information. This patch -relies on the information extracted from NHLT and partially reverts -existing DMI quirks added by commit a164137ce91a ("ASoC: Intel: add -machine driver for SOF+ES8336") - -Note that NHLT can report multiple SSPs, choosing from the -ssp_link_mask in an MSB-first manner was found experimentally to work -fine. - -The only thing that cannot be detected is the GPIO type, and users may -want to use the quirk override parameter if the 'wrong' solution is -provided. - -Tested-by: Mauro Carvalho Chehab -Signed-off-by: Pierre-Louis Bossart -Reviewed-by: Bard Liao -Reviewed-by: Péter Ujfalusi -Link: https://lore.kernel.org/r/20220308192610.392950-15-pierre-louis.bossart@linux.intel.com -Signed-off-by: Mark Brown -Signed-off-by: Sasha Levin ---- - sound/soc/intel/boards/sof_es8336.c | 56 +++++++++++++++++++++-------- - 1 file changed, 41 insertions(+), 15 deletions(-) - -diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c -index 20d577eaab6d..46e453915f82 100644 ---- a/sound/soc/intel/boards/sof_es8336.c -+++ b/sound/soc/intel/boards/sof_es8336.c -@@ -228,24 +228,25 @@ static int sof_es8336_quirk_cb(const struct dmi_system_id *id) - return 1; - } - -+/* -+ * this table should only be used to add GPIO or jack-detection quirks -+ * that cannot be detected from ACPI tables. The SSP and DMIC -+ * information are providing by the platform driver and are aligned -+ * with the topology used. -+ * -+ * If the GPIO support is missing, the quirk parameter can be used to -+ * enable speakers. In that case it's recommended to keep the SSP and DMIC -+ * information consistent, overriding the SSP and DMIC can only be done -+ * if the topology file is modified as well. -+ */ - static const struct dmi_system_id sof_es8336_quirk_table[] = { -- { -- .callback = sof_es8336_quirk_cb, -- .matches = { -- DMI_MATCH(DMI_SYS_VENDOR, "CHUWI Innovation And Technology"), -- DMI_MATCH(DMI_BOARD_NAME, "Hi10 X"), -- }, -- .driver_data = (void *)SOF_ES8336_SSP_CODEC(2) -- }, - { - .callback = sof_es8336_quirk_cb, - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "IP3 tech"), - DMI_MATCH(DMI_BOARD_NAME, "WN1"), - }, -- .driver_data = (void *)(SOF_ES8336_SSP_CODEC(0) | -- SOF_ES8336_TGL_GPIO_QUIRK | -- SOF_ES8336_ENABLE_DMIC) -+ .driver_data = (void *)(SOF_ES8336_TGL_GPIO_QUIRK) - }, - {} - }; -@@ -470,11 +471,33 @@ static int sof_es8336_probe(struct platform_device *pdev) - card = &sof_es8336_card; - card->dev = dev; - -- if (!dmi_check_system(sof_es8336_quirk_table)) -- quirk = SOF_ES8336_SSP_CODEC(2); -+ /* check GPIO DMI quirks */ -+ dmi_check_system(sof_es8336_quirk_table); - -- if (quirk & SOF_ES8336_ENABLE_DMIC) -- dmic_be_num = 2; -+ if (!mach->mach_params.i2s_link_mask) { -+ dev_warn(dev, "No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter\n"); -+ } else { -+ /* -+ * Set configuration based on platform NHLT. -+ * In this machine driver, we can only support one SSP for the -+ * ES8336 link, the else-if below are intentional. -+ * In some cases multiple SSPs can be reported by NHLT, starting MSB-first -+ * seems to pick the right connection. -+ */ -+ unsigned long ssp = 0; -+ -+ if (mach->mach_params.i2s_link_mask & BIT(2)) -+ ssp = SOF_ES8336_SSP_CODEC(2); -+ else if (mach->mach_params.i2s_link_mask & BIT(1)) -+ ssp = SOF_ES8336_SSP_CODEC(1); -+ else if (mach->mach_params.i2s_link_mask & BIT(0)) -+ ssp = SOF_ES8336_SSP_CODEC(0); -+ -+ quirk |= ssp; -+ } -+ -+ if (mach->mach_params.dmic_num) -+ quirk |= SOF_ES8336_ENABLE_DMIC; - - if (quirk_override != -1) { - dev_info(dev, "Overriding quirk 0x%lx => 0x%x\n", -@@ -483,6 +506,9 @@ static int sof_es8336_probe(struct platform_device *pdev) - } - log_quirks(dev); - -+ if (quirk & SOF_ES8336_ENABLE_DMIC) -+ dmic_be_num = 2; -+ - sof_es8336_card.num_links += dmic_be_num + hdmi_num; - dai_links = sof_card_dai_links_create(dev, - SOF_ES8336_SSP_CODEC(quirk), --- -2.34.1 - diff --git a/queue-5.17/series b/queue-5.17/series index 539443503dd..a50a210e87f 100644 --- a/queue-5.17/series +++ b/queue-5.17/series @@ -939,7 +939,6 @@ alsa-intel-dsp-config-add-more-acpi-hids-for-es83x6-.patch asoc-intel-soc-acpi-add-more-acpi-hids-for-es83x6-de.patch alsa-intel-dspconfig-add-es8336-support-for-cnl.patch asoc-intel-revert-asoc-intel-sof_es8336-add-quirk-fo.patch -asoc-intel-sof_es8336-use-nhlt-information-to-set-dm.patch asoc-intel-sof_es8336-log-all-quirks.patch tracing-have-trace_define_enum-affect-trace-event-ty.patch mmc-host-return-an-error-when-enable_sdio_irq-ops-is.patch