From 6c92a6c587ea30abd4eeab4e787ec537ce7f4279 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 17 Sep 2025 11:17:20 +0000 Subject: [PATCH 004/113] LOCAL: drm/rockchip: vop2: rk3568: change Esmart/Cluster/Smart ordering Order Esmart planes before Cluster planes and Smart planes so Kodi (which currently lacks the ability to dymanically order planes using zpos) can show the OSD on-top of Video rather then behind. Suggested-by: Jonas Karlman Signed-off-by: Christian Hewitt --- drivers/gpu/drm/rockchip/rockchip_vop2_reg.c | 58 ++++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c index 42a4833a90a3..e11df91b90a6 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c @@ -594,35 +594,6 @@ static const struct vop2_video_port_data rk3568_vop_video_ports[] = { */ static const struct vop2_win_data rk3568_vop_win_data[] = { { - .name = "Smart0-win0", - .phys_id = ROCKCHIP_VOP2_SMART0, - .base = 0x1c00, - .possible_vp_mask = BIT(0) | BIT(1) | BIT(2), - .formats = formats_smart, - .nformats = ARRAY_SIZE(formats_smart), - .format_modifiers = format_modifiers, - /* 0xf means this layer can't attached to this VP */ - .layer_sel_id = { 3, 3, 3, 0xf }, - .supported_rotations = DRM_MODE_REFLECT_Y, - .type = DRM_PLANE_TYPE_PRIMARY, - .max_upscale_factor = 8, - .max_downscale_factor = 8, - .dly = { 20, 47, 41 }, - }, { - .name = "Smart1-win0", - .phys_id = ROCKCHIP_VOP2_SMART1, - .possible_vp_mask = BIT(0) | BIT(1) | BIT(2), - .formats = formats_smart, - .nformats = ARRAY_SIZE(formats_smart), - .format_modifiers = format_modifiers, - .base = 0x1e00, - .layer_sel_id = { 7, 7, 7, 0xf }, - .supported_rotations = DRM_MODE_REFLECT_Y, - .type = DRM_PLANE_TYPE_PRIMARY, - .max_upscale_factor = 8, - .max_downscale_factor = 8, - .dly = { 20, 47, 41 }, - }, { .name = "Esmart1-win0", .phys_id = ROCKCHIP_VOP2_ESMART1, .possible_vp_mask = BIT(0) | BIT(1) | BIT(2), @@ -682,6 +653,35 @@ static const struct vop2_win_data rk3568_vop_win_data[] = { .max_downscale_factor = 4, .dly = { 0, 27, 21 }, .feature = WIN_FEATURE_AFBDC | WIN_FEATURE_CLUSTER, + }, { + .name = "Smart0-win0", + .phys_id = ROCKCHIP_VOP2_SMART0, + .base = 0x1c00, + .possible_vp_mask = BIT(0) | BIT(1) | BIT(2), + .formats = formats_smart, + .nformats = ARRAY_SIZE(formats_smart), + .format_modifiers = format_modifiers, + /* 0xf means this layer can't attached to this VP */ + .layer_sel_id = { 3, 3, 3, 0xf }, + .supported_rotations = DRM_MODE_REFLECT_Y, + .type = DRM_PLANE_TYPE_PRIMARY, + .max_upscale_factor = 8, + .max_downscale_factor = 8, + .dly = { 20, 47, 41 }, + }, { + .name = "Smart1-win0", + .phys_id = ROCKCHIP_VOP2_SMART1, + .possible_vp_mask = BIT(0) | BIT(1) | BIT(2), + .formats = formats_smart, + .nformats = ARRAY_SIZE(formats_smart), + .format_modifiers = format_modifiers, + .base = 0x1e00, + .layer_sel_id = { 7, 7, 7, 0xf }, + .supported_rotations = DRM_MODE_REFLECT_Y, + .type = DRM_PLANE_TYPE_PRIMARY, + .max_upscale_factor = 8, + .max_downscale_factor = 8, + .dly = { 20, 47, 41 }, }, }; -- 2.34.1