From: Simon Ser Date: Thu, 22 Oct 2020 10:34:44 +0000 (+0000) Subject: drm: document that user-space should avoid parsing EDIDs X-Git-Tag: v5.15~303^2~28^2~1572 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12767469edfad756491e4a95e86934b5c89b9685;p=platform%2Fkernel%2Flinux-starfive.git drm: document that user-space should avoid parsing EDIDs 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 Suggested-by: Daniel Vetter Reviewed-by: Daniel Vetter Reviewed-by: Brian Starkey Acked-by: Thomas Zimmermann Cc: Pekka Paalanen Cc: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/V_APW3gKRhljvcmT28tGV3JkP7qW9Z7h45I-s2wiJvYhaaveCpYpg3tztZPsZVV2KV1NC7rUx08IUUgCJXzdRrWCsEGB0czq4ZozpdyVFLs=@emersion.fr --- diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 717c4e7..1913d8b 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -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