From: Hans de Goede <hdegoede@redhat.com> To: Lee Jones <lee.jones@linaro.org>, Cezary Rojewski <cezary.rojewski@intel.com>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, Liam Girdwood <liam.r.girdwood@linux.intel.com>, Jie Yang <yang.jie@linux.intel.com>, Mark Brown <broonie@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com>, patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, Andy Shevchenko <andy.shevchenko@gmail.com>, Charles Keepax <ckeepax@opensource.cirrus.com>, alsa-devel@alsa-project.org Subject: [PATCH v4 4/5] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Date: Wed, 20 Jan 2021 22:49:56 +0100 [thread overview] Message-ID: <20210120214957.140232-5-hdegoede@redhat.com> (raw) In-Reply-To: <20210120214957.140232-1-hdegoede@redhat.com> Some Bay Trail systems: 1. Use a non CR version of the Bay Trail SoC 2. Contain at least 6 interrupt resources so that the platform_get_resource(pdev, IORESOURCE_IRQ, 5) check to workaround non CR systems which list their IPC IRQ at index 0 despite being non CR does not work 3. Despite 1. and 2. still have their IPC IRQ at index 0 rather then 5 Add a DMI quirk table to check for the few known models with this issue, so that the right IPC IRQ index is used on these systems. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- sound/soc/intel/common/soc-intel-quirks.h | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sound/soc/intel/common/soc-intel-quirks.h b/sound/soc/intel/common/soc-intel-quirks.h index b07df3059926..a93987ab7f4d 100644 --- a/sound/soc/intel/common/soc-intel-quirks.h +++ b/sound/soc/intel/common/soc-intel-quirks.h @@ -11,6 +11,7 @@ #if IS_ENABLED(CONFIG_X86) +#include <linux/dmi.h> #include <asm/cpu_device_id.h> #include <asm/intel-family.h> #include <asm/iosf_mbi.h> @@ -38,12 +39,36 @@ SOC_INTEL_IS_CPU(cml, KABYLAKE_L); static inline bool soc_intel_is_byt_cr(struct platform_device *pdev) { + /* + * List of systems which: + * 1. Use a non CR version of the Bay Trail SoC + * 2. Contain at least 6 interrupt resources so that the + * platform_get_resource(pdev, IORESOURCE_IRQ, 5) check below + * succeeds + * 3. Despite 1. and 2. still have their IPC IRQ at index 0 rather then 5 + * + * This needs to be here so that it can be shared between the SST and + * SOF drivers. We rely on the compiler to optimize this out in files + * where soc_intel_is_byt_cr is not used. + */ + static const struct dmi_system_id force_bytcr_table[] = { + { /* Lenovo Yoga Tablet 2 series */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"), + }, + }, + {} + }; struct device *dev = &pdev->dev; int status = 0; if (!soc_intel_is_byt()) return false; + if (dmi_check_system(force_bytcr_table)) + return true; + if (iosf_mbi_available()) { u32 bios_status; -- 2.28.0
WARNING: multiple messages have this Message-ID (diff)
From: Hans de Goede <hdegoede@redhat.com> To: Lee Jones <lee.jones@linaro.org>, Cezary Rojewski <cezary.rojewski@intel.com>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, Liam Girdwood <liam.r.girdwood@linux.intel.com>, Jie Yang <yang.jie@linux.intel.com>, Mark Brown <broonie@kernel.org> Cc: alsa-devel@alsa-project.org, Charles Keepax <ckeepax@opensource.cirrus.com>, patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, Hans de Goede <hdegoede@redhat.com>, Andy Shevchenko <andy.shevchenko@gmail.com> Subject: [PATCH v4 4/5] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Date: Wed, 20 Jan 2021 22:49:56 +0100 [thread overview] Message-ID: <20210120214957.140232-5-hdegoede@redhat.com> (raw) In-Reply-To: <20210120214957.140232-1-hdegoede@redhat.com> Some Bay Trail systems: 1. Use a non CR version of the Bay Trail SoC 2. Contain at least 6 interrupt resources so that the platform_get_resource(pdev, IORESOURCE_IRQ, 5) check to workaround non CR systems which list their IPC IRQ at index 0 despite being non CR does not work 3. Despite 1. and 2. still have their IPC IRQ at index 0 rather then 5 Add a DMI quirk table to check for the few known models with this issue, so that the right IPC IRQ index is used on these systems. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- sound/soc/intel/common/soc-intel-quirks.h | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sound/soc/intel/common/soc-intel-quirks.h b/sound/soc/intel/common/soc-intel-quirks.h index b07df3059926..a93987ab7f4d 100644 --- a/sound/soc/intel/common/soc-intel-quirks.h +++ b/sound/soc/intel/common/soc-intel-quirks.h @@ -11,6 +11,7 @@ #if IS_ENABLED(CONFIG_X86) +#include <linux/dmi.h> #include <asm/cpu_device_id.h> #include <asm/intel-family.h> #include <asm/iosf_mbi.h> @@ -38,12 +39,36 @@ SOC_INTEL_IS_CPU(cml, KABYLAKE_L); static inline bool soc_intel_is_byt_cr(struct platform_device *pdev) { + /* + * List of systems which: + * 1. Use a non CR version of the Bay Trail SoC + * 2. Contain at least 6 interrupt resources so that the + * platform_get_resource(pdev, IORESOURCE_IRQ, 5) check below + * succeeds + * 3. Despite 1. and 2. still have their IPC IRQ at index 0 rather then 5 + * + * This needs to be here so that it can be shared between the SST and + * SOF drivers. We rely on the compiler to optimize this out in files + * where soc_intel_is_byt_cr is not used. + */ + static const struct dmi_system_id force_bytcr_table[] = { + { /* Lenovo Yoga Tablet 2 series */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"), + }, + }, + {} + }; struct device *dev = &pdev->dev; int status = 0; if (!soc_intel_is_byt()) return false; + if (dmi_check_system(force_bytcr_table)) + return true; + if (iosf_mbi_available()) { u32 bios_status; -- 2.28.0
next prev parent reply other threads:[~2021-01-20 22:21 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-20 21:49 [PATCH v4 0/5] MFD/ASoC: Add support for Intel Bay Trail boards with WM5102 codec Hans de Goede 2021-01-20 21:49 ` Hans de Goede 2021-01-20 21:49 ` [PATCH v4 1/5] mfd: arizona: Add MODULE_SOFTDEP("pre: arizona_ldo1") Hans de Goede 2021-01-20 21:49 ` Hans de Goede 2021-02-04 13:55 ` Lee Jones 2021-02-04 13:55 ` Lee Jones 2021-01-20 21:49 ` [PATCH v4 2/5] mfd: arizona: Replace arizona_of_get_type() with device_get_match_data() Hans de Goede 2021-01-20 21:49 ` Hans de Goede 2021-02-04 13:55 ` Lee Jones 2021-02-04 13:55 ` Lee Jones 2021-01-20 21:49 ` [PATCH v4 3/5] mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI Hans de Goede 2021-01-20 21:49 ` Hans de Goede 2021-01-21 10:34 ` Charles Keepax 2021-01-21 10:34 ` Charles Keepax 2021-02-04 13:55 ` Lee Jones 2021-02-04 13:55 ` Lee Jones 2021-01-20 21:49 ` Hans de Goede [this message] 2021-01-20 21:49 ` [PATCH v4 4/5] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Hans de Goede 2021-02-04 13:56 ` Lee Jones 2021-02-04 13:56 ` Lee Jones 2021-02-04 14:05 ` Mark Brown 2021-02-04 14:05 ` Mark Brown 2021-02-04 15:04 ` Lee Jones 2021-02-04 15:04 ` Lee Jones 2021-02-04 15:11 ` Mark Brown 2021-02-04 15:11 ` Mark Brown 2021-02-04 15:40 ` Lee Jones 2021-02-04 15:40 ` Lee Jones 2021-02-04 19:42 ` Mark Brown 2021-02-04 19:42 ` Mark Brown 2021-02-05 8:34 ` Lee Jones 2021-02-05 8:34 ` Lee Jones 2021-02-05 21:11 ` Mark Brown 2021-02-05 21:11 ` Mark Brown 2021-02-08 8:33 ` Lee Jones 2021-02-08 8:33 ` Lee Jones 2021-02-08 15:24 ` Mark Brown 2021-02-08 15:24 ` Mark Brown 2021-01-20 21:49 ` [PATCH v4 5/5] ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 Hans de Goede 2021-01-20 21:49 ` Hans de Goede 2021-01-21 10:37 ` Charles Keepax 2021-01-21 10:37 ` Charles Keepax 2021-02-04 13:56 ` Lee Jones 2021-02-04 13:56 ` Lee Jones 2021-02-04 10:25 ` [PATCH v4 0/5] MFD/ASoC: Add support for Intel Bay Trail boards with WM5102 codec Hans de Goede 2021-02-04 10:25 ` Hans de Goede 2021-02-04 10:57 ` Lee Jones 2021-02-04 10:57 ` Lee Jones 2021-02-04 11:07 ` Hans de Goede 2021-02-04 11:07 ` Hans de Goede 2021-02-04 12:43 ` Mark Brown 2021-02-04 12:43 ` Mark Brown 2021-02-04 13:18 ` Hans de Goede 2021-02-04 13:18 ` Hans de Goede 2021-02-04 14:04 ` Mark Brown 2021-02-04 14:04 ` Mark Brown 2021-02-04 13:46 ` Lee Jones 2021-02-04 13:46 ` Lee Jones 2021-02-04 15:09 ` Mark Brown 2021-02-04 15:09 ` Mark Brown 2021-02-04 15:21 ` Lee Jones 2021-02-04 15:21 ` Lee Jones 2021-02-04 16:48 ` Mark Brown 2021-02-04 16:48 ` Mark Brown 2021-02-08 13:52 ` [GIT PULL] Immutable branch from MFD due for the v5.12 merge window Lee Jones 2021-02-08 13:52 ` Lee Jones 2021-02-08 18:38 ` (subset) [PATCH v4 0/5] MFD/ASoC: Add support for Intel Bay Trail boards with WM5102 codec Mark Brown 2021-02-08 18:38 ` Mark Brown 2021-02-08 19:12 ` Hans de Goede 2021-02-08 19:12 ` Hans de Goede
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210120214957.140232-5-hdegoede@redhat.com \ --to=hdegoede@redhat.com \ --cc=alsa-devel@alsa-project.org \ --cc=andy.shevchenko@gmail.com \ --cc=broonie@kernel.org \ --cc=cezary.rojewski@intel.com \ --cc=ckeepax@opensource.cirrus.com \ --cc=lee.jones@linaro.org \ --cc=liam.r.girdwood@linux.intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=patches@opensource.cirrus.com \ --cc=pierre-louis.bossart@linux.intel.com \ --cc=yang.jie@linux.intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.