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

Ville Syrjälä
2026-01-28T15:37:25Z

On Wed, Jan 28, 2026 at 05:23:51PM +0200, Jani Nikula wrote:
> On Wed, 28 Jan 2026, Atharva Tiwari <atharvatiwarilinuxdev@gmail.com> 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 <atharvatiwarilinuxdev@gmail.com>
>
> I can't test this, but if nobody chimes in to oppose, I'll take it.

I guess the main problem with a hack like this is that you won't
be able to get deep pkgC states due to the display hardware not
going into DC5/6.

But I can't immediately think of other issues due this being an
iGPU, so eg. runtime PCI D3 doesn't really do anything meaningful
and thus the display hardware remaining powered on shouldn't
matter that much (apart from the increased power usage).

>
> Reviewed-by: Jani Nikula <jani.nikula@intel.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

--
Ville Syrjälä
Intel