linux/drivers/gpu/drm/meson
Neil Armstrong 68e2f64ee4 drm/meson: plane: add support for AFBC mode for OSD1 plane
This adds all the OSD configuration plumbing to support the AFBC decoders
path to display of the OSD1 plane.

The Amlogic GXM and G12A AFBC decoders are integrated very differently.

The Amlogic GXM has a direct output path to the OSD1 VIU pixel input,
because the GXM AFBC decoder seem to be a custom IP developed by Amlogic.

On the other side, the Amlogic G12A AFBC decoder seems to be an external
IP that emit pixels on an AXI master hooked to a "Mali Unpack" block
feeding the OSD1 VIU pixel input.
This uses a weird "0x1000000" internal HW physical address on both
sides to transfer the pixels.

For Amlogic GXM, the supported pixel formats are the same as the normal
linear OSD1 mode.

On the other side, Amlogic added support for all AFBC v1.2 formats for
the G12A AFBC integration.

For simplicity, we stick to the already supported formats for now.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191021091509.3864-7-narmstrong@baylibre.com
2019-12-10 10:09: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: plane: add support for AFBC mode for OSD1 plane 2019-12-10 10:09:24 +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: plane: add support for AFBC mode for OSD1 plane 2019-12-10 10:09:24 +01:00
meson_dw_hdmi.c drm/meson: Enable DRM InfoFrame support on GXL, GXM and G12A 2019-10-10 12:50:02 +02: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 drm/meson: Support Overlay plane for video rendering 2018-11-13 13:27:51 +01:00
meson_plane.c drm/meson: plane: add support for AFBC mode for OSD1 plane 2019-12-10 10:09:24 +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: add RDMA module driver 2019-12-10 10:08:45 +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: use the correct G12A frac max value 2019-09-30 15:22:09 +02:00
meson_vclk.h drm/meson: drop use of drmP.h 2019-07-17 12:47:57 +02:00
meson_venc_cvbs.c drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
meson_venc_cvbs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
meson_venc.c drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
meson_venc.h drm/meson: drop use of drmP.h 2019-07-17 12:47:57 +02:00
meson_viu.c drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
meson_viu.h drm/meson: add AFBC decoder registers for GXM and G12A 2019-12-10 10:08:09 +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