[PATCH v7 11/22] drm/rockchip: vop2: Add RK3576 to the RG swap special case

Nicolas Frattaroli posted 22 patches 2 weeks, 4 days ago
[PATCH v7 11/22] drm/rockchip: vop2: Add RK3576 to the RG swap special case
Posted by Nicolas Frattaroli 2 weeks, 4 days ago
Much like RK3588, RK3576 requires an RG swap to be performed for YUV444
8-bit and YUV444 10-bit bus formats.

Add its version to the already existing check for RK3588, so that YUV444
output is correct on this platform.

Fixes: 944757a4cba6 ("drm/rockchip: vop2: Add support for rk3576")
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
index 469c63dd97d5..f21efbca42e6 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -354,7 +354,8 @@ static bool vop2_output_uv_swap(u32 bus_format, u32 output_mode)
 
 static bool vop2_output_rg_swap(struct vop2 *vop2, u32 bus_format)
 {
-	if (vop2->version == VOP_VERSION_RK3588) {
+	if (vop2->version == VOP_VERSION_RK3588 ||
+	    vop2->version == VOP_VERSION_RK3576) {
 		if (bus_format == MEDIA_BUS_FMT_YUV8_1X24 ||
 		    bus_format == MEDIA_BUS_FMT_YUV10_1X30)
 			return true;

-- 
2.52.0
Re:[PATCH v7 11/22] drm/rockchip: vop2: Add RK3576 to the RG swap special case
Posted by Andy Yan 2 weeks, 3 days ago
Hello Nicolas,

At 2026-01-21 22:45:18, "Nicolas Frattaroli" <nicolas.frattaroli@collabora.com> wrote:
>Much like RK3588, RK3576 requires an RG swap to be performed for YUV444
>8-bit and YUV444 10-bit bus formats.
>
>Add its version to the already existing check for RK3588, so that YUV444
>output is correct on this platform.
>
>Fixes: 944757a4cba6 ("drm/rockchip: vop2: Add support for rk3576")
>Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>


   Reviewed-by: Andy Yan <andyshrk@163.com>

>---
> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>index 469c63dd97d5..f21efbca42e6 100644
>--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>@@ -354,7 +354,8 @@ static bool vop2_output_uv_swap(u32 bus_format, u32 output_mode)
> 
> static bool vop2_output_rg_swap(struct vop2 *vop2, u32 bus_format)
> {
>-	if (vop2->version == VOP_VERSION_RK3588) {
>+	if (vop2->version == VOP_VERSION_RK3588 ||
>+	    vop2->version == VOP_VERSION_RK3576) {
> 		if (bus_format == MEDIA_BUS_FMT_YUV8_1X24 ||
> 		    bus_format == MEDIA_BUS_FMT_YUV10_1X30)
> 			return true;
>
>-- 
>2.52.0
>