[PATCH v3 2/2] drm/i915/display: Disable display for iMac's

From: Atharva Tiwari

Date: Tue Feb 03 2026 - 02:35:05 EST


Disable display on iMacs, as they can't do link training
on the internal display.

(tested on iMac20,1)

Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@xxxxxxxxx>
---
.../gpu/drm/i915/display/intel_display_device.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 1170afaa8680..b1fec1018d7e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -3,6 +3,7 @@
* Copyright © 2023 Intel Corporation
*/

+#include <linux/dmi.h>
#include <linux/pci.h>

#include <drm/drm_color_mgmt.h>
@@ -1435,7 +1436,18 @@ static bool has_no_display(struct pci_dev *pdev)
{}
};

- return pci_match_id(ids, pdev);
+ static const struct dmi_system_id dmi_ids[] = {
+ {
+ .ident = "Apple Inc. iMac",
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Apple Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "iMac"),
+ }
+ },
+ {}
+ };
+
+ return pci_match_id(ids, pdev) || dmi_check_system(dmi_ids);
}

#define INTEL_DISPLAY_DEVICE(_id, _desc) { .devid = (_id), .desc = (_desc) }
--
2.43.0