dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/14] HDMI YCBCR output handling in DRM layer
@ 2017-06-14 17:47 Shashank Sharma
  2017-06-14 17:47 ` [PATCH v3 01/14] drm: add HDMI 2.0 VIC support for AVI info-frames Shashank Sharma
                   ` (13 more replies)
  0 siblings, 14 replies; 28+ messages in thread
From: Shashank Sharma @ 2017-06-14 17:47 UTC (permalink / raw)
  To: dri-devel, intel-gfx, ville.syrjala; +Cc: ander.conselvan.de.oliveira

This patch series adds support for YCBCR HDMI output handling in DRM layer.
The main aim of this patch series was to handle YCBCR 4:2:0 output for
HDMI 2.0 displays. But while providing a framework to handle non-RGB
outputs, support for YCBCR 4:4:4 and 4:2:2 was also added.

First 2 patches, complete the CEA mode-db in drm driver, by adding
new 4k modes. Current CEA mode-db contains 64 modes only (VIC 1-64),
whereas CEA-861-F defined VICs up to 107, including 4k modes, from VIC range
93-107. First patch makes sure that inclusion of these modes doesn't break
existing HDMI 1.4 monitors, across various drivers.

Next 3 patches focus on parsing new YCBCR 4:2:0 EDID blocks, and adding
YCBCR 4:2:0 modes in connector (only for connectors who declare themselves
as HDMI 2.0 compliant during init)

Next 6 patch create a property (hdmi_output_format) and add the framework
to handle the HDMI output type defined in the property. There are also some
helper functions provided, to help with the YCBCR HDMI output, like adding
deep color information, set color space and get the appropriate YCBCR output
based on source + sink capabilities.

A User can set the HDMI output property, and select the desired output
from YCBCR 4:4:4, 4:2:2 or 4:2:0. A driver can use framework's helper
functions to check if this source + sink + mode combination can drive
the desired output, or what would be the best suitable output.

By default the value of the property is default RGB, so if you don't
set the property, there is no change in the regular functionality of
an existing source.

More details are available with respective patches.

Last 6 patches add the I915 core implementation of the HDMI output handling.
This patch series was tested with a GLK device, ACER S277HK monitor and
ASTRO VA-1844A HDMI analyzer.

Shashank Sharma (14):
  drm: add HDMI 2.0 VIC support for AVI info-frames
  drm/edid: Complete CEA modedb(VIC 1-107)
  drm: add hdmi 2.0 source identifier
  drm/edid: parse YCBCR 420 videomodes from EDID
  drm: parse ycbcr 420 deep color information
  drm: create hdmi output property
  drm: set output colorspace in AVI infoframe
  drm: add helper functions for YCBCR output handling
  drm/i915: add compute_config for YCBCR outputs
  drm/i915: prepare scaler for YCBCR420 modeset
  drm/i915: prepare pipe for YCBCR output
  drm/i915: prepare csc unit for YCBCR HDMI output
  drm/i915: set colorspace for ycbcr outputs
  drm/i915/glk: set HDMI 2.0 identifier

 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c    |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c    |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c     |   2 +-
 drivers/gpu/drm/bridge/analogix-anx78xx.c |   3 +-
 drivers/gpu/drm/bridge/sii902x.c          |   2 +-
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |   2 +-
 drivers/gpu/drm/drm_atomic.c              |   2 +
 drivers/gpu/drm/drm_atomic_helper.c       |   4 +
 drivers/gpu/drm/drm_connector.c           |  32 ++
 drivers/gpu/drm/drm_edid.c                | 477 +++++++++++++++++++++++++++++-
 drivers/gpu/drm/drm_modes.c               | 306 +++++++++++++++++++
 drivers/gpu/drm/exynos/exynos_hdmi.c      |   2 +-
 drivers/gpu/drm/i2c/tda998x_drv.c         |   2 +-
 drivers/gpu/drm/i915/i915_reg.h           |   3 +
 drivers/gpu/drm/i915/intel_atomic.c       |   6 +
 drivers/gpu/drm/i915/intel_color.c        |  47 ++-
 drivers/gpu/drm/i915/intel_display.c      |  68 +++++
 drivers/gpu/drm/i915/intel_drv.h          |  13 +-
 drivers/gpu/drm/i915/intel_hdmi.c         | 131 +++++++-
 drivers/gpu/drm/i915/intel_panel.c        |   3 +-
 drivers/gpu/drm/i915/intel_sdvo.c         |   3 +-
 drivers/gpu/drm/mediatek/mtk_hdmi.c       |   2 +-
 drivers/gpu/drm/omapdrm/omap_encoder.c    |   3 +-
 drivers/gpu/drm/radeon/radeon_audio.c     |   2 +-
 drivers/gpu/drm/rockchip/inno_hdmi.c      |   2 +-
 drivers/gpu/drm/sti/sti_hdmi.c            |   2 +-
 drivers/gpu/drm/tegra/hdmi.c              |   2 +-
 drivers/gpu/drm/tegra/sor.c               |   2 +-
 drivers/gpu/drm/vc4/vc4_hdmi.c            |   2 +-
 drivers/gpu/drm/zte/zx_hdmi.c             |   2 +-
 include/drm/drm_connector.h               |  50 ++++
 include/drm/drm_edid.h                    |  14 +-
 include/drm/drm_mode_config.h             |   5 +
 include/drm/drm_modes.h                   |   5 +
 34 files changed, 1172 insertions(+), 33 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-06-16 21:15 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-14 17:47 [PATCH v3 00/14] HDMI YCBCR output handling in DRM layer Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 01/14] drm: add HDMI 2.0 VIC support for AVI info-frames Shashank Sharma
2017-06-14 20:20   ` Thierry Reding
2017-06-15  4:11     ` Sharma, Shashank
2017-06-14 17:47 ` [PATCH v3 02/14] drm/edid: Complete CEA modedb(VIC 1-107) Shashank Sharma
2017-06-15 13:29   ` Ville Syrjälä
2017-06-15 13:31     ` Sharma, Shashank
2017-06-15 14:51       ` Ville Syrjälä
2017-06-14 17:47 ` [PATCH v3 03/14] drm: add hdmi 2.0 source identifier Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 04/14] drm/edid: parse YCBCR 420 videomodes from EDID Shashank Sharma
2017-06-15 14:43   ` Ville Syrjälä
2017-06-15 15:35     ` Sharma, Shashank
2017-06-15 16:12       ` Ville Syrjälä
2017-06-15 16:48         ` Sharma, Shashank
2017-06-15 16:59           ` Ville Syrjälä
2017-06-15 17:02             ` Sharma, Shashank
2017-06-16 18:55   ` kbuild test robot
2017-06-14 17:47 ` [PATCH v3 05/14] drm: parse ycbcr 420 deep color information Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 06/14] drm: create hdmi output property Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 07/14] drm: set output colorspace in AVI infoframe Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 08/14] drm: add helper functions for YCBCR output handling Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 09/14] drm/i915: add compute_config for YCBCR outputs Shashank Sharma
2017-06-16 21:15   ` kbuild test robot
2017-06-14 17:47 ` [PATCH v3 10/14] drm/i915: prepare scaler for YCBCR420 modeset Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 11/14] drm/i915: prepare pipe for YCBCR output Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 12/14] drm/i915: prepare csc unit for YCBCR HDMI output Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 13/14] drm/i915: set colorspace for ycbcr outputs Shashank Sharma
2017-06-14 17:47 ` [PATCH v3 14/14] drm/i915/glk: set HDMI 2.0 identifier Shashank Sharma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).