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

Reply via email to