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