[PATCH v8 0/9] VOP Support for rk3576

From: Andy Yan
Date: Tue Dec 31 2024 - 04:08:49 EST


From: Andy Yan <andy.yan@xxxxxxxxxxxxxx>

Here is the V8

Patches that have already been merged in V6 are dropped.

PATCH 1~7 are preparations for rk3576 support
PATCH 8~9 are real support for rk376

I test it with a 1080P/4K HDMI output with modetest and weston
output.

If there are some one want to have a try, I have a tree based on
Linux 6.13-rc2 here[1]

[0]https://lore.kernel.org/linux-rockchip/20241115151131.416830-1-heiko@xxxxxxxxx/
[1]https://github.com/andyshrk/linux/tree/rk3576-vop2-upstream-v6

Changes in v8:
- Remove redundant blank line before drm_bus_format_enum_list
- Add a blank line before DRM_ENUM_NAME_FN
- Fix dt_binding_check errors of vop2
- ordered by soc name of vop2 ymal

Changes in v7:
- Fix rk3588 dp+dsi maxclk verification

Changes in v6:
- Add a blank line after hardware version check code
- More specific explanation about the AXI_BUS_ID register bit of
cluster window.

Changes in v5:
- Add axi id configuration
- Remove the non-existent CBCR scale register.

Changes in v4:
- Typo fix: selet->select
- describe constraint SOC by SOC, as interrupts of rk3576 is very
different from others
- Drop Krzysztof's Reviewed-by, as this version changed a lot.

Changes in v3:
- Add comments for why we should treat rk3566 with special care.
- Add hardware version check
- Add comments for why we should treat rk3566 with special care.
- ordered by soc name
- Add description for newly added interrupt
- Share the alpha setup function with rk3568
- recoder the code block by soc

Changes in v2:
- split it from main patch add support for rk3576
- Add platform specific callback
- Introduce vop hardware version
- Add dt bindings
- Add platform specific callback

Andy Yan (9):
drm/rockchip: vop2: Support 32x8 superblock afbc
drm/rockchip: vop2: Add platform specific callback
drm/rockchip: vop2: Support for different layer select configuration
between VPs
drm/rockchip: vop2: Introduce vop hardware version
drm/rockchip: vop2: Register the primary plane and overlay plane
separately
drm/rockchip: vop2: Set plane possible crtcs by possible vp mask
drm/rockchip: vop2: Add uv swap for cluster window
dt-bindings: display: vop2: Add rk3576 support
drm/rockchip: vop2: Add support for rk3576

.../display/rockchip/rockchip-vop2.yaml | 81 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 1454 +++----------
drivers/gpu/drm/rockchip/rockchip_drm_vop2.h | 271 ++-
drivers/gpu/drm/rockchip/rockchip_vop2_reg.c | 1797 ++++++++++++++++-
4 files changed, 2361 insertions(+), 1242 deletions(-)

--
2.34.1