drm: document that user-space should avoid parsing EDIDs
authorSimon Ser <contact@emersion.fr>
Thu, 22 Oct 2020 10:34:44 +0000 (10:34 +0000)
committerSimon Ser <contact@emersion.fr>
Thu, 22 Oct 2020 11:49:14 +0000 (13:49 +0200)
User-space should avoid parsing EDIDs for metadata already exposed via
other KMS interfaces and properties. For instance, user-space should not
try to extract a list of modes from the EDID: the kernel might mutate
the mode list (because of link capabilities or quirks for instance).

Other metadata not exposed by KMS can be parsed by user-space. This
includes for instance monitor identification (make/model/serial) and
supported color-spaces.

v2: add short explanation why user-space shouldn't do this (Brian)

Signed-off-by: Simon Ser <contact@emersion.fr>
Suggested-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Brian Starkey <brian.starkey@arm.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/V_APW3gKRhljvcmT28tGV3JkP7qW9Z7h45I-s2wiJvYhaaveCpYpg3tztZPsZVV2KV1NC7rUx08IUUgCJXzdRrWCsEGB0czq4ZozpdyVFLs=@emersion.fr
drivers/gpu/drm/drm_connector.c

index 717c4e7..1913d8b 100644 (file)
@@ -960,6 +960,11 @@ static const struct drm_prop_enum_list dp_colorspaces[] = {
  *     drm_connector_update_edid_property(), usually after having parsed
  *     the EDID using drm_add_edid_modes(). Userspace cannot change this
  *     property.
+ *
+ *     User-space should not parse the EDID to obtain information exposed via
+ *     other KMS properties (because the kernel might apply limits, quirks or
+ *     fixups to the EDID). For instance, user-space should not try to parse
+ *     mode lists from the EDID.
  * DPMS:
  *     Legacy property for setting the power state of the connector. For atomic
  *     drivers this is only provided for backwards compatibility with existing