From 5b995473e187f069d5bf46d01e90e0283d91f596 Mon Sep 17 00:00:00 2001 From: Yu Qiaowei Date: Mon, 19 Apr 2021 10:25:47 +0800 Subject: [PATCH] video/rockchip/rga: Fix the error of dst R2Y color space abnormality. This commit must be updated when using im2d api. Signed-off-by: Yu Qiaowei Change-Id: I0cd8e53323f45c3410703f149587ea884cdbe624 --- drivers/video/rockchip/rga/rga_reg_info.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/rockchip/rga/rga_reg_info.c b/drivers/video/rockchip/rga/rga_reg_info.c index 3175a06926f5..94a6305b870b 100644 --- a/drivers/video/rockchip/rga/rga_reg_info.c +++ b/drivers/video/rockchip/rga/rga_reg_info.c @@ -724,7 +724,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg) case RK_FORMAT_YCbCr_422_SP : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off) * pw); *bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + (y_off * stride) + x_off; - *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (0 << 3) | (0 << 1) | 1; + *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (0 << 3) | (0 << 1) | 1; break; case RK_FORMAT_YCbCr_422_P : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off>>1) * pw); @@ -733,7 +733,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg) case RK_FORMAT_YCbCr_420_SP : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off) * pw); *bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + x_off; - *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (0 << 3) | (1 << 1) | 1; + *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (0 << 3) | (1 << 1) | 1; break; case RK_FORMAT_YCbCr_420_P : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off>>1) * pw); @@ -742,7 +742,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg) case RK_FORMAT_YCrCb_422_SP : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off) * pw); *bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + (y_off * stride) + x_off; - *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (1 << 3) | (0 << 1) | 1; + *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (1 << 3) | (0 << 1) | 1; break; case RK_FORMAT_YCrCb_422_P : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off) * stride) + ((x_off>>1) * pw); @@ -751,7 +751,7 @@ static s32 RGA_set_dst(u8 *base, const struct rga_req *msg) case RK_FORMAT_YCrCb_420_SP : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off) * pw); *bRGA_DST_UV_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + x_off; - *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 4) & 3) << 4) | (1 << 3) | (1 << 1) | 1; + *bRGA_YUV_OUT_CFG |= (((msg->yuv2rgb_mode >> 2) & 3) << 4) | (1 << 3) | (1 << 1) | 1; break; case RK_FORMAT_YCrCb_420_P : *bRGA_PRESCL_CB_MST = (u32)msg->dst.uv_addr + ((y_off>>1) * stride) + ((x_off>>1) * pw);