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

Atharva Tiwari
2026-01-26T13:55:56Z

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

(tested on iMac20,1)

Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
---
drivers/gpu/drm/i915/display/intel_display_device.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 1170afaa8680..3fb47232e7a4 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>
@@ -1657,6 +1658,7 @@ struct intel_display *intel_display_device_probe(struct pci_dev *pdev,
const struct platform_desc *desc;
const struct subplatform_desc *subdesc;
enum intel_step step;
+ const char *product_name = dmi_get_system_info(DMI_PRODUCT_NAME);

display = kzalloc(sizeof(*display), GFP_KERNEL);
if (!display)
@@ -1674,6 +1676,11 @@ struct intel_display *intel_display_device_probe(struct pci_dev *pdev,
goto no_display;
}

+ if (dmi_match(DMI_BOARD_VENDOR, "Apple Inc.") && !strncmp(product_name, "iMac", 4)) {
+ drm_dbg_kms(display->drm, "iMac Detected, Disabling display\n");
+ goto no_display;
+ }
+
desc = find_platform_desc(pdev);
if (!desc) {
drm_dbg_kms(display->drm,
--
2.43.0