Re: [PATCH v5 00/11] drm/bridge: dw-hdmi: implement bus-format negotiation and YUV420 support
From: Neil Armstrong
Date: Tue Mar 10 2020 - 06:08:20 EST
On 04/03/2020 11:40, Neil Armstrong wrote:
> Hi Philippe, Heiko, Maxime, Laurent,
>
> A bad negociation was detected on platforms not implementing a bridge on the
> encoder side, which has been fixed in this version.
>
> Could you check it doesn't break your platforms using dw-hdmi ? Especially
> patches 1-5.
>
> Thanks,
> Neil
>
> This patchset is based on Boris's merged "drm: Add support for bus-format negotiation"
> patchset to implement full bus-format negotiation for DW-HDMI, including YUV420 support and
> 10/12/16bit YUV444, YUV422 and RGB. The Color Space Converter support is already implemented.
>
> And the counterpart implementation in the Amlogic Meson VPU dw-hdmi glue :
> - basic bus-format negotiation to select YUV444 bus-format as DW-HDMI input
> - YUV420 support when HDMI2.0 YUV420 modeset
>
> This is a follow-up from the previous attempts :
> - "drm/meson: Add support for HDMI2.0 YUV420 4k60" at [2]
> - "drm/meson: Add support for HDMI2.0 4k60" at [3]
>
> Changes since v4 at [7]:
> - Cleaned up patch 1
> - Added comment on patch 2
> - Added commit message on patch 3
> - Fixed invalid negociation when encoder is not yet a bridge (seen on allwinner & rockchip platforms) on patch 4
> - Fixed invalid defines, handled MEDIA_BUS_FMT_FIXED and cleaned negociation debug on patch 4
> - Added tags on patch 5, 6
> - Removed meson_venc_hdmi_encoder_get_out_bus_fmts on patch 7
> - Add off-list r-b from Jernej
>
> Changes since v3 at [6]:
> - Added "Plug atomic state hooks to the default implementation" on drm/bridge: dw-hdmi
> - Also added these atomic state hooks in meson-dw-hdmi in patch 7
> - Rebased on latest drm-misc-next including patches 1-7 of [1]
>
> Changes since RFC v2 at [5]:
> - Added fixes from Jonas, who tested and integrated it for Rockchip SoCs
> - Added support for 10/12/16bit tmds clock calculation
> - Added support for max_bcp connector property
> - Adapted to Boris's v4 patchset
> - Fixed typos reported by boris
>
> Changes since RFC v1 at [4]:
> - Rewrote negociation using the v2 patchset, including full DW-HDMI fmt negociation
>
> [2] https://patchwork.freedesktop.org/patch/msgid/20190520133753.23871-1-narmstrong@xxxxxxxxxxxx
> [3] https://patchwork.freedesktop.org/patch/msgid/1549022873-40549-1-git-send-email-narmstrong@xxxxxxxxxxxx
> [4] https://patchwork.freedesktop.org/patch/msgid/20190820084109.24616-1-narmstrong@xxxxxxxxxxxx
> [5] https://patchwork.freedesktop.org/patch/msgid/20190827081425.15011-1-narmstrong@xxxxxxxxxxxx
> [6] https://patchwork.freedesktop.org/patch/msgid/20191218154637.17509-1-narmstrong@xxxxxxxxxxxx
> [7] https://patchwork.freedesktop.org/patch/msgid/20200206191834.6125-1-narmstrong@xxxxxxxxxxxx
>
> Jonas Karlman (2):
> drm/bridge: dw-hdmi: set mtmdsclock for deep color
> drm/bridge: dw-hdmi: add max bpc connector property
>
> Neil Armstrong (9):
> drm/bridge: dw-hdmi: Plug atomic state hooks to the default
> implementation
> drm/bridge: synopsys: dw-hdmi: add bus format negociation
> drm/bridge: synopsys: dw-hdmi: allow ycbcr420 modes for >= 0x200a
> drm/meson: venc: make drm_display_mode const
> drm/meson: meson_dw_hdmi: add bridge and switch to drm_bridge_funcs
> drm/meson: dw-hdmi: stop enforcing input_bus_format
> drm/meson: venc: add support for YUV420 setup
> drm/meson: vclk: add support for YUV420 setup
> drm/meson: Add YUV420 output support
>
> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 319 +++++++++++++++++++++-
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 180 +++++++++---
> drivers/gpu/drm/meson/meson_vclk.c | 93 +++++--
> drivers/gpu/drm/meson/meson_vclk.h | 7 +-
> drivers/gpu/drm/meson/meson_venc.c | 10 +-
> drivers/gpu/drm/meson/meson_venc.h | 4 +-
> drivers/gpu/drm/meson/meson_venc_cvbs.c | 6 +-
> include/drm/bridge/dw_hdmi.h | 1 +
> 8 files changed, 544 insertions(+), 76 deletions(-)
>
Pushed to drm-misc-next
Neil