All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Chatard <tchatard@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org, platform-driver-x86@vger.kernel.org,
	lee@kernel.org, djrscally@gmail.com, hansg@kernel.org,
	ilpo.jarvinen@linux.intel.com, mchehab@kernel.org,
	sakari.ailus@linux.intel.com, jacopo.mondi@ideasonboard.com,
	nicholas@rothemail.net, Thierry Chatard <tchatard@gmail.com>
Subject: [PATCH v2 1/3] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285
Date: Tue, 24 Mar 2026 14:41:25 -0700	[thread overview]
Message-ID: <20260324214129.17300-2-tchatard@gmail.com> (raw)
In-Reply-To: <20260324214129.17300-1-tchatard@gmail.com>

The Dell Latitude 5285 2-in-1 has a BIOS bug where the ACPI GEXP device
and the I2C4 controller (INT3446) both claim the same MMIO region via the
shared SB04 variable. This causes intel_lpss_acpi to fail binding to I2C4
with -EBUSY, preventing the front camera (OV5670) sensor from being
registered.

Add a DMI quirk that selects IGNORE_RESOURCE_CONFLICTS for INT3446 on this
machine, matching the existing pattern used by other LPSS quirks.

Signed-off-by: Thierry Chatard <tchatard@gmail.com>
---
 drivers/mfd/intel-lpss-acpi.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/mfd/intel-lpss-acpi.c b/drivers/mfd/intel-lpss-acpi.c
index 63406026d..7d0964848 100644
--- a/drivers/mfd/intel-lpss-acpi.c
+++ b/drivers/mfd/intel-lpss-acpi.c
@@ -13,6 +13,8 @@
 #include <linux/ioport.h>
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
+#include <linux/acpi.h>
+#include <linux/dmi.h>
 #include <linux/pm.h>
 #include <linux/pm_runtime.h>
 #include <linux/platform_device.h>
@@ -52,6 +54,15 @@ static const struct intel_lpss_platform_info spt_i2c_info = {
 	.swnode = &spt_i2c_node,
 };
 
+/* Same as spt_i2c_info but with QUIRK_IGNORE_RESOURCE_CONFLICTS for Dell 5285
+ * where ACPI GEXP device conflicts with I2C4 (INT3446) MMIO resources.
+ */
+static const struct intel_lpss_platform_info spt_i2c_info_ignore_conflicts = {
+	.clk_rate = 120000000,
+	.swnode = &spt_i2c_node,
+	.quirks = QUIRK_IGNORE_RESOURCE_CONFLICTS,
+};
+
 static const struct property_entry uart_properties[] = {
 	PROPERTY_ENTRY_U32("reg-io-width", 4),
 	PROPERTY_ENTRY_U32("reg-shift", 2),
@@ -172,6 +183,16 @@ static const struct acpi_device_id intel_lpss_acpi_ids[] = {
 };
 MODULE_DEVICE_TABLE(acpi, intel_lpss_acpi_ids);
 
+static const struct dmi_system_id dell5285_lpss_dmi[] = {
+	{
+		.matches = {
+			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Latitude 5285"),
+		},
+	},
+	{ }
+};
+
 static int intel_lpss_acpi_probe(struct platform_device *pdev)
 {
 	const struct intel_lpss_platform_info *data;
@@ -182,6 +203,17 @@ static int intel_lpss_acpi_probe(struct platform_device *pdev)
 	if (!data)
 		return -ENODEV;
 
+	/* Apply IGNORE_RESOURCE_CONFLICTS for I2C4 on Dell Latitude 5285.
+	 * The ACPI GEXP device conflicts with I2C4 (INT3446) MMIO resources
+	 * due to a BIOS bug where both use the same SB04 variable.
+	 */
+	if (data == &spt_i2c_info &&
+	    acpi_dev_hid_uid_match(ACPI_COMPANION(&pdev->dev), "INT3446", NULL) &&
+	    dmi_check_system(dell5285_lpss_dmi)) {
+		dev_info(&pdev->dev, "Dell 5285: applying IGNORE_RESOURCE_CONFLICTS for I2C4\n");
+		data = &spt_i2c_info_ignore_conflicts;
+	}
+
 	info = devm_kmemdup(&pdev->dev, data, sizeof(*info), GFP_KERNEL);
 	if (!info)
 		return -ENOMEM;
-- 
2.51.0


  reply	other threads:[~2026-03-24 21:42 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-20  0:09 [PATCH 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-03-20  0:09 ` [PATCH 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-29  9:29   ` Andy Shevchenko
2026-03-20  0:09 ` [PATCH 2/5] platform/x86: int3472: tps68470: fix GNVS clock fields " Thierry Chatard
2026-03-21  9:44   ` kernel test robot
2026-03-20  0:09 ` [PATCH 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-03-20  0:09 ` [PATCH 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-03-20  0:09 ` [PATCH 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-03-24 21:41 ` [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-03-24 21:41   ` Thierry Chatard [this message]
2026-04-13  9:48     ` [PATCH v2 1/3] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Hans de Goede
2026-03-24 21:41   ` [PATCH v2 2/3] platform/x86: int3472: tps68470: fix GNVS clock fields " Thierry Chatard
2026-04-13 11:02     ` Hans de Goede
2026-04-17 16:32       ` [PATCH v3 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-17 16:32         ` [PATCH v3 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-17 17:35           ` Hans de Goede
2026-04-18  6:31           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-17 17:40           ` Hans de Goede
2026-04-18  6:29           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-17 18:54           ` Hans de Goede
2026-04-18  7:16             ` Sakari Ailus
2026-04-21 22:52               ` [PATCH v4 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-21 22:52                 ` [PATCH v4 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-22  6:54                   ` Sakari Ailus
2026-04-21 22:52                 ` [PATCH v4 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-22  7:07                   ` Sakari Ailus
2026-04-25  5:13                     ` [PATCH v5 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-25 16:31                     ` [PATCH v6 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-27  7:48                         ` Sakari Ailus
2026-04-25 16:31                       ` [PATCH v6 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-27  7:49                         ` Sakari Ailus
2026-04-27 12:06                         ` Hans de Goede
2026-04-21 22:52                 ` [PATCH v4 3/5] platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 Thierry Chatard
2026-04-22  7:11                   ` Sakari Ailus
2026-04-22  7:13                     ` Sakari Ailus
2026-04-21 22:52                 ` [PATCH v4 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-21 22:52                 ` [PATCH v4 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-22  7:15                   ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-17 18:56           ` Hans de Goede
2026-04-18  7:18           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-04-17 18:59           ` Hans de Goede
2026-04-17 16:35       ` [PATCH v2 2/3] platform/x86: int3472: tps68470: fix GNVS clock fields for Dell Latitude 5285 tchatard
2026-03-24 21:41   ` [PATCH v2 3/3] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-03-24 21:41   ` [PATCH v2 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-03-24 21:41   ` [PATCH v2 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-04-13  9:45   ` [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 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=20260324214129.17300-2-tchatard@gmail.com \
    --to=tchatard@gmail.com \
    --cc=djrscally@gmail.com \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicholas@rothemail.net \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=sakari.ailus@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: link
Be 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.