All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iommu/vt-d: Disable IOMMU on Lenovo ThinkPad P50s
@ 2026-06-20 19:22 Oliver Lin
  2026-06-21  1:29 ` Baolu Lu
  0 siblings, 1 reply; 2+ messages in thread
From: Oliver Lin @ 2026-06-20 19:22 UTC (permalink / raw)
  To: baolu.lu, dwmw2; +Cc: joro, will, robin.murphy, iommu, linux-kernel, Oliver Lin

On Lenovo ThinkPad P50s, enabling Intel IOMMU causes TPM
initialization failures, suspend/resume issues, and prevents the
system from powering off completely.

The system works correctly with intel_iommu=off. A locally tested
kernel with this DMI quirk also works correctly without requiring the
kernel parameter.

Add a DMI quirk to disable Intel IOMMU on this platform.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221674
Signed-off-by: Oliver Lin <oliver@liuxiaozhen.dev>
---
 drivers/iommu/intel/iommu.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 849d06dfe1ae..a072e9ef63ef 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -278,6 +278,19 @@ static int __init intel_iommu_setup(char *str)
 
 	return 1;
 }
+
+static const struct dmi_system_id intel_iommu_broken_dmar_table[] __initconst = {
+	{
+		.ident = "Lenovo ThinkPad P50s",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "20FLCTO1WW"),
+			DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad P50s"),
+		},
+	},
+	{}
+};
+
 __setup("intel_iommu=", intel_iommu_setup);
 
 /*
@@ -2565,6 +2578,12 @@ int __init intel_iommu_init(void)
 	force_on = (!intel_iommu_tboot_noforce && tboot_force_iommu()) ||
 		    platform_optin_force_iommu();
 
+	if (!force_on && dmi_check_system(intel_iommu_broken_dmar_table)) {
+		dmar_disabled = 1;
+		no_platform_optin = 1;
+		pr_info("DMAR: IOMMU disabled on Lenovo ThinkPad P50s due to firmware issue\n");
+	}
+
 	down_write(&dmar_global_lock);
 	if (dmar_table_init()) {
 		if (force_on)
-- 
2.53.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-21  1:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-20 19:22 [PATCH] iommu/vt-d: Disable IOMMU on Lenovo ThinkPad P50s Oliver Lin
2026-06-21  1:29 ` Baolu Lu

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.