drm/connector: Add enum documentation to drm_colorspace

To match the other enums, and add more information about these values.

v2:
 - Specify where an enum entry comes from
 - Clarify DEFAULT and NO_DATA behavior
 - BT.2020 CYCC is "constant luminance"
 - correct type for BT.601

v4:
- drop DP/HDMI clarifications that might create
  more questions than answers

v5:
- Add note on YCC and RGB variants

Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>

Cc: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Sebastian Wick <sebastian.wick@redhat.com>
Cc: Vitaly.Prosyak@amd.com
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Joshua Ashton <joshua@froggi.es>
Cc: Simon Ser <contact@emersion.fr>
Cc: Melissa Wen <mwen@igalia.com>
Cc: dri-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Joshua Ashton 2023-02-03 02:07:43 +00:00 committed by Alex Deucher
parent 1626761ee4
commit f96c61fe03

View file

@ -419,13 +419,79 @@ enum drm_privacy_screen_status {
PRIVACY_SCREEN_ENABLED_LOCKED,
};
/*
* This is a consolidated colorimetry list supported by HDMI and
/**
* enum drm_colorspace - color space
*
* This enum is a consolidated colorimetry list supported by HDMI and
* DP protocol standard. The respective connectors will register
* a property with the subset of this list (supported by that
* respective protocol). Userspace will set the colorspace through
* a colorspace property which will be created and exposed to
* userspace.
*
* DP definitions come from the DP v2.0 spec
* HDMI definitions come from the CTA-861-H spec
*
* A note on YCC and RGB variants:
*
* Since userspace is not aware of the encoding on the wire
* (RGB or YCbCr), drivers are free to pick the appropriate
* variant, regardless of what userspace selects. E.g., if
* BT2020_RGB is selected by userspace a driver will pick
* BT2020_YCC if the encoding on the wire is YUV444 or YUV420.
*
* @DRM_MODE_COLORIMETRY_DEFAULT:
* Driver specific behavior.
* @DRM_MODE_COLORIMETRY_NO_DATA:
* Driver specific behavior.
* @DRM_MODE_COLORIMETRY_SMPTE_170M_YCC:
* (HDMI)
* SMPTE ST 170M colorimetry format
* @DRM_MODE_COLORIMETRY_BT709_YCC:
* (HDMI, DP)
* ITU-R BT.709 colorimetry format
* @DRM_MODE_COLORIMETRY_XVYCC_601:
* (HDMI, DP)
* xvYCC601 colorimetry format
* @DRM_MODE_COLORIMETRY_XVYCC_709:
* (HDMI, DP)
* xvYCC709 colorimetry format
* @DRM_MODE_COLORIMETRY_SYCC_601:
* (HDMI, DP)
* sYCC601 colorimetry format
* @DRM_MODE_COLORIMETRY_OPYCC_601:
* (HDMI, DP)
* opYCC601 colorimetry format
* @DRM_MODE_COLORIMETRY_OPRGB:
* (HDMI, DP)
* opRGB colorimetry format
* @DRM_MODE_COLORIMETRY_BT2020_CYCC:
* (HDMI, DP)
* ITU-R BT.2020 Y'c C'bc C'rc (constant luminance) colorimetry format
* @DRM_MODE_COLORIMETRY_BT2020_RGB:
* (HDMI, DP)
* ITU-R BT.2020 R' G' B' colorimetry format
* @DRM_MODE_COLORIMETRY_BT2020_YCC:
* (HDMI, DP)
* ITU-R BT.2020 Y' C'b C'r colorimetry format
* @DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65:
* (HDMI)
* SMPTE ST 2113 P3D65 colorimetry format
* @DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER:
* (HDMI)
* SMPTE ST 2113 P3DCI colorimetry format
* @DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED:
* (DP)
* RGB wide gamut fixed point colorimetry format
* @DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT:
* (DP)
* RGB wide gamut floating point
* (scRGB (IEC 61966-2-2)) colorimetry format
* @DRM_MODE_COLORIMETRY_BT601_YCC:
* (DP)
* ITU-R BT.601 colorimetry format
* The DP spec does not say whether this is the 525 or the 625
* line version.
*/
enum drm_colorspace {
/* For Default case, driver will set the colorspace */