Re: [PATCH v2] drm/edid/firmware: Remove built-in EDIDs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 21 Feb 2024 10:26:36 +0100
Maxime Ripard <mripard@xxxxxxxxxx> wrote:

> The EDID firmware loading mechanism introduced a few built-in EDIDs that
> could be forced on any connector, bypassing the EDIDs it exposes.
> 
> While convenient, this limited set of EDIDs doesn't take into account
> the connector type, and we can end up with an EDID that is completely
> invalid for a given connector.
> 
> For example, the edid/800x600.bin file matches the following EDID:

...

> 
> So, an analog monitor EDID. However, if the connector was an HDMI
> monitor for example, it breaks the HDMI specification that requires,
> among other things, a digital display, the VIC 1 mode and an HDMI Forum
> Vendor Specific Data Block in an CTA-861 extension.
> 
> We thus end up with a completely invalid EDID, which thus might confuse
> HDMI-related code that could parse it.
> 
> After some discussions on IRC, we identified mainly two ways to fix
> this:
> 
>   - We can either create more EDIDs for each connector type to provide
>     a built-in EDID that matches the resolution passed in the name, and
>     still be a sensible EDID for that connector type;
> 
>   - Or we can just prevent the EDID to be exposed to userspace if it's
>     built-in.
> 
> Or possibly both.
> 
> However, the conclusion was that maybe we just don't need the built-in
> EDIDs at all and we should just get rid of them. So here we are.

Sounds good to me.

Acked-by: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxx>

If it turns out that these cannot be completely removed, then yet
another option would to refuse to use these on digital connectors.


Thanks,
pq

> 
> Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
> Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx>
> ---
>  Documentation/admin-guide/edid.rst            |  35 +--
>  .../admin-guide/kernel-parameters.txt         |  14 +-
>  drivers/gpu/drm/drm_edid_load.c               | 160 +---------
>  tools/edid/1024x768.S                         |  43 ---
>  tools/edid/1280x1024.S                        |  43 ---
>  tools/edid/1600x1200.S                        |  43 ---
>  tools/edid/1680x1050.S                        |  43 ---
>  tools/edid/1920x1080.S                        |  43 ---
>  tools/edid/800x600.S                          |  40 ---
>  tools/edid/Makefile                           |  37 ---
>  tools/edid/edid.S                             | 274 ------------------
>  tools/edid/hex                                |   1 -
>  12 files changed, 18 insertions(+), 758 deletions(-)
>  delete mode 100644 tools/edid/1024x768.S
>  delete mode 100644 tools/edid/1280x1024.S
>  delete mode 100644 tools/edid/1600x1200.S
>  delete mode 100644 tools/edid/1680x1050.S
>  delete mode 100644 tools/edid/1920x1080.S
>  delete mode 100644 tools/edid/800x600.S
>  delete mode 100644 tools/edid/Makefile
>  delete mode 100644 tools/edid/edid.S
>  delete mode 100644 tools/edid/hex

Attachment: pgpoi2MsLjbB_.pgp
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux