linux/drivers/gpu/drm/meson
Neil Armstrong 7db647aa8b drm/meson: Add primary plane scaling
This patch adds support for the Primary Plane scaling.

On the Amlogic GX SoCs, the primary plane is used as On-Screen-Display
layer on top of video, and it's needed to keep the OSD layer to a lower
size as the physical display size to :
- lower the memory bandwidth
- lower the OSD rendering
- lower the memory usage

This use-case is used when setting the display mode to 3840x2160 and the
OSD layer is rendered using the GPU. In this case, the GXBB & GXL cannot
work on more than 2000x2000 buffer, thus needing the OSD layer to be kept
at 1920x1080 and upscaled to 3840x2160 in hardware.

The primary plane atomic check still allow 1:1 scaling, allowing native
3840x2160 if needed by user-space applications.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[narmstrong: fixed apply from malformed patch]
Link: https://patchwork.freedesktop.org/patch/msgid/1541497202-20570-4-git-send-email-narmstrong@baylibre.com
2018-11-13 13:27:51 +01:00
..
Kconfig drm/meson: Use optional canvas provider 2018-11-13 11:51:34 +01:00
Makefile drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_canvas.c drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_canvas.h drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_crtc.c drm/meson: move OSD scaler management into plane atomic update 2018-11-13 13:27:51 +01:00
meson_crtc.h
meson_drv.c drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_drv.h drm/meson: move OSD scaler management into plane atomic update 2018-11-13 13:27:51 +01:00
meson_dw_hdmi.c drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
meson_dw_hdmi.h drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY 2017-04-04 17:49:31 +02:00
meson_overlay.c drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_overlay.h drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_plane.c drm/meson: Add primary plane scaling 2018-11-13 13:27:51 +01:00
meson_plane.h
meson_registers.h drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_vclk.c drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
meson_vclk.h drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
meson_venc.c drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
meson_venc.h drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
meson_venc_cvbs.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
meson_venc_cvbs.h
meson_viu.c drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_viu.h
meson_vpp.c drm/meson: move OSD scaler management into plane atomic update 2018-11-13 13:27:51 +01:00
meson_vpp.h drm/meson: Add support for HDMI venc modes and settings 2017-04-04 17:49:31 +02:00