Disable display on iMacs, as they can't do link training on the internal display.
(tested on iMac20,1) Signed-off-by: Atharva Tiwari <[email protected]> --- 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
