OSDN Git Service

drm/rockchip: Add VOP2 driver
authorAndy Yan <andy.yan@rock-chips.com>
Fri, 22 Apr 2022 07:28:39 +0000 (09:28 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 4 May 2022 12:05:47 +0000 (14:05 +0200)
commit604be85547ce4d61b89292d2f9a78c721b778c16
tree664525ef33fa0c2841fa50cd5da7468c01f39e86
parentb382406a2cf4afaa7320a7ad4b298ed6e2675437
drm/rockchip: Add VOP2 driver

The VOP2 unit is found on Rockchip SoCs beginning with rk3566/rk3568.
It replaces the VOP unit found in the older Rockchip SoCs.

This driver has been derived from the downstream Rockchip Kernel and
heavily modified:

- All nonstandard DRM properties have been removed
- dropped struct vop2_plane_state and pass around less data between
  functions
- Dropped all DRM_FORMAT_* not known on upstream
- rework register access to get rid of excessively used macros
- Drop all waiting for framesyncs

The driver is tested with HDMI and MIPI-DSI display on a RK3568-EVB
board. Overlay support is tested with the modetest utility. AFBC support
on the cluster windows is tested with weston-simple-dmabuf-egl on
weston using the (yet to be upstreamed) panfrost driver support.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Co-Developed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Michael Riesch <michael.riesch@wolfvision.net>
[dt-binding-header:]
Acked-by: Rob Herring <robh@kernel.org>
[moved dt-binding header from dt-nodes patch to here
 and made checkpatch --strict happier]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220422072841.2206452-23-s.hauer@pengutronix.de
drivers/gpu/drm/rockchip/Kconfig
drivers/gpu/drm/rockchip/Makefile
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
drivers/gpu/drm/rockchip/rockchip_drm_drv.h
drivers/gpu/drm/rockchip/rockchip_drm_fb.c
drivers/gpu/drm/rockchip/rockchip_drm_vop.h
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c [new file with mode: 0644]
drivers/gpu/drm/rockchip/rockchip_drm_vop2.h [new file with mode: 0644]
drivers/gpu/drm/rockchip/rockchip_vop2_reg.c [new file with mode: 0644]
include/dt-bindings/soc/rockchip,vop2.h [new file with mode: 0644]