mbox series

[v3,0/3] Add Colorspace connector property interface

Message ID 1542723731-20075-1-git-send-email-uma.shankar@intel.com (mailing list archive)
Headers show
Series Add Colorspace connector property interface | expand

Message

Shankar, Uma Nov. 20, 2018, 2:22 p.m. UTC
This patch series creates a new connector property to program
colorspace to sink devices. Modern sink devices support more
than 1 type of colorspace like 601, 709, BT2020 etc. This helps
to switch based on content type which is to be displayed. The
decision lies with compositors as to in which scenarios, a
particular colorspace will be picked.

This will be helpful mostly to switch to higher gamut colorspaces
like BT2020 when the media content is encoded as BT2020. Thereby
giving a good visual experience to users.

The expectation from userspace is that it should parse the EDID
and get supported colorspaces. Use this property and switch to the
one supported. Kernel will not give the supported colorspaces since
this is panel dependent and our curremt property infrastructure is
not supporting it.

This can be tested by using xrandr with below command:
xrandr --output HDMI2 --set "HDMI_Colorspace" "BT2020_rgb"
Note: Haven't tested this version. Wanted to get feedback if this
approach looks ok. Will test and refloat next version along with
review fixes if any.

v2: Addressed Ville and Maarten's review comments. Merged the 2nd
and 3rd patch into one common logical patch.

v3: Removed Adobe references from enum definitions as per
Ville, Hans Verkuil and Jonas Karlman suggestions. Changed
default to an unset state where driver will assign the colorspace
when not chosen by user, suggested by Ville and Maarten. Addressed
other misc review comments from Maarten. Split the changes to
have separate colorspace property for DP and HDMI.

Uma Shankar (3):
  drm: Add HDMI colorspace property
  drm: Add DP colorspace property
  drm/i915: Attach colorspace property and enable modeset

 drivers/gpu/drm/drm_atomic_uapi.c      |  8 +++
 drivers/gpu/drm/drm_connector.c        | 97 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_atomic.c    |  2 +
 drivers/gpu/drm/i915/intel_connector.c |  8 +++
 drivers/gpu/drm/i915/intel_drv.h       |  1 +
 drivers/gpu/drm/i915/intel_hdmi.c      |  7 +++
 include/drm/drm_connector.h            | 15 ++++++
 include/drm/drm_mode_config.h          | 12 +++++
 include/uapi/drm/drm_mode.h            | 35 ++++++++++++
 9 files changed, 185 insertions(+)