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@intel.com>
Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
---
.../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
On Tue, 3 Feb 2026, at 08:31, Atharva Tiwari wrote: > Disable display on iMacs, as they can't do link training > on the internal display. > > (tested on iMac20,1) > How will you use the iMac if you disable the display? If this is not in fact what you are doing, please explain in the commit log what exactly you are disabling and why.
On Tue, 03 Feb 2026, Atharva Tiwari <atharvatiwarilinuxdev@gmail.com> wrote:
> Disable display on iMacs, as they can't do link training
> on the internal display.
>
> (tested on iMac20,1)
I thought there were open review comments about this. Why are you
resending the same thing?
BR,
Jani.
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
> ---
> .../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) }
--
Jani Nikula, Intel
© 2016 - 2026 Red Hat, Inc.