On Wed, 28 Jan 2026, Atharva Tiwari <[email protected]> wrote: > Disable display on iMacs, as they can't do link training > on the internal display.
I'd expand on that a bit, based on the previous discussion. > > (tested on iMac20,1) > > Signed-off-by: Atharva Tiwari <[email protected]> I can't test this, but if nobody chimes in to oppose, I'll take it. Reviewed-by: Jani Nikula <[email protected]> > --- > .../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
