linux-stable/drivers/gpu/drm/meson
Neil Armstrong 8496a2172d drm/meson: Add YUV420 output support
This patch adds support for the YUV420 output from the Amlogic Meson SoCs
Video Processing Unit to the HDMI Controller.

The YUV420 is obtained by generating a YUV444 pixel stream like
the classic HDMI display modes, but then the Video Encoder output
can be configured to down-sample the YUV444 pixel stream to a YUV420
stream.
In addition if pixel stream down-sampling, the Y Cb Cr components must
also be mapped differently to align with the HDMI2.0 specifications.

This mode needs a different clock generation scheme since the TMDS PHY
clock must match the 10x ratio with the YUV420 pixel clock, but
the video encoder must run at 2x the pixel clock.

This patch enables the bridge bus format negociation, and handles
the YUV420 case if selected by the negociation.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Jernej Škrabec <jernej.skrabec@siol.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20200304104052.17196-12-narmstrong@baylibre.com
2020-03-10 10:51:24 +01:00
..
Kconfig Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-28 09:39:08 +02:00
Makefile drm/meson: Add AFBCD module driver 2019-12-10 10:09:01 +01:00
meson_crtc.c drm: meson: Remove unneeded semicolon 2020-01-06 15:56:23 +01:00
meson_crtc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
meson_drv.c drm/meson: Add AFBCD module driver 2019-12-10 10:09:01 +01:00
meson_drv.h drm: meson: fix address type confusion 2020-01-08 13:51:56 +01:00
meson_dw_hdmi.c drm/meson: Add YUV420 output support 2020-03-10 10:51:24 +01:00
meson_dw_hdmi.h drm: meson: global clean-up 2019-08-09 12:06:14 +02:00
meson_osd_afbcd.c drm/meson: Add AFBCD module driver 2019-12-10 10:09:01 +01:00
meson_osd_afbcd.h drm/meson: Add AFBCD module driver 2019-12-10 10:09:01 +01:00
meson_overlay.c drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
meson_overlay.h
meson_plane.c drm: meson: Remove unneeded semicolon 2020-01-06 15:56:23 +01:00
meson_plane.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
meson_rdma.c drm: meson: fix address type confusion 2020-01-08 13:51:56 +01:00
meson_rdma.h drm/meson: add RDMA module driver 2019-12-10 10:08:45 +01:00
meson_registers.h drm/meson: add RDMA register bits defines 2019-12-10 10:08:25 +01:00
meson_vclk.c drm/meson: vclk: add support for YUV420 setup 2020-03-10 10:51:24 +01:00
meson_vclk.h drm/meson: vclk: add support for YUV420 setup 2020-03-10 10:51:24 +01:00
meson_venc.c drm/meson: venc: add support for YUV420 setup 2020-03-10 10:51:24 +01:00
meson_venc.h drm/meson: venc: add support for YUV420 setup 2020-03-10 10:51:24 +01:00
meson_venc_cvbs.c drm/meson: vclk: add support for YUV420 setup 2020-03-10 10:51:24 +01:00
meson_venc_cvbs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
meson_viu.c drm/meson: hold 32 lines after vsync to give time for AFBC start 2019-12-10 10:09:56 +01:00
meson_viu.h drm/meson: viu: add AFBC modules routing functions 2019-12-10 10:09:38 +01:00
meson_vpp.c drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
meson_vpp.h drm/meson: drop use of drmP.h 2019-07-17 12:47:57 +02:00