[lkml]   [2019]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/5] drm/meson: Add support for HDMI2.0 YUV420 4k60
The Synopsys DW-HDMI CSC does not support downsampling to YUV420, so
the encoder must downsamle before, feeding the controller with a YUV420
pixel stream.

The encoder must declare the new bus format enc encoding the bridge, in
order to take it in account.

To solve this, a new format_set() bridge op is added, permitting setting
a new input bus format and encoding to the bridge chain.

This solves YUV420 setup, but also solved setting 10bit, 12bit or 16bit
input bus format in order to support HDMI >8bit depths.

The DW-HDMI controller is updated to dynamically select a coherent output
bus format depending on the input bus format and on the internal CSC
supported modes.

The DW-HDMI is also updated to support the connector display_info bus_formats
entry to permit forcing a specific output bus format to force, for example,
an YUV444 output format instead of the default RGB output bus format.

Only the meson DRM dw_hdmi glue allows ycbcr420 modes, so no breakage
is expected here.

The remaining patches adds support for 4:2:0 output and clock setup for
the meson DW-HDMI glue, and how YUV444 output can be forced.

Changes since rfc:
* Fixed small logic error in drm_bridge_format_set()
* rebased on v5.2-rc1

Neil Armstrong (5):
drm/bridge: dw-hdmi: allow ycbcr420 modes for >= 0x200a
drm/bridge: add encoder support to specify bridge input format
drm/bridge: dw-hdmi: Add support for dynamic output format setup
drm/meson: Add YUV420 output support
drm/meson: Output in YUV444 if sink supports it

drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 127 ++++++++++++++++++++--
drivers/gpu/drm/drm_bridge.c | 35 ++++++
drivers/gpu/drm/meson/meson_dw_hdmi.c | 111 ++++++++++++++++---
drivers/gpu/drm/meson/meson_vclk.c | 93 ++++++++++++----
drivers/gpu/drm/meson/meson_vclk.h | 7 +-
drivers/gpu/drm/meson/meson_venc.c | 6 +-
drivers/gpu/drm/meson/meson_venc.h | 11 ++
drivers/gpu/drm/meson/meson_venc_cvbs.c | 3 +-
include/drm/bridge/dw_hdmi.h | 1 +
include/drm/drm_bridge.h | 19 ++++
10 files changed, 358 insertions(+), 55 deletions(-)


 \ /
  Last update: 2019-05-20 15:38    [W:0.066 / U:6.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site