From e1564ca41be632ba4aa5aef68df211755a5a6e43 Mon Sep 17 00:00:00 2001 From: Yu Qiaowei Date: Wed, 22 Dec 2021 15:58:34 +0800 Subject: [PATCH] video: rockchip: rga3: Fix rotating mmu interruption error. Since the ARGB format was added without processing the address offset during rotation, the address offset of mmu was calculated incorrectly. Signed-off-by: Yu Qiaowei Change-Id: I602ebd3bcc9c60fd90103ef50e29e6b9f2a11727 --- drivers/video/rockchip/rga3/rga2_reg_info.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/video/rockchip/rga3/rga2_reg_info.c b/drivers/video/rockchip/rga3/rga2_reg_info.c index 3cb77f157156..090e299bcbbe 100644 --- a/drivers/video/rockchip/rga3/rga2_reg_info.c +++ b/drivers/video/rockchip/rga3/rga2_reg_info.c @@ -1150,7 +1150,9 @@ static void RGA2_set_reg_dst_info(u8 *base, struct rga2_req *msg) line_width_real = dst_fmt_y4_en ? ((msg->dst.act_w) >> 1) : msg->dst.act_w; - if (msg->dst.format < 0x18) { + if (msg->dst.format < 0x18 || + (msg->dst.format >= RGA2_FORMAT_ARGB_8888 && + msg->dst.format <= RGA2_FORMAT_ABGR_4444)) { /* 270 degree & Mirror V */ y_ld_addr = yrgb_addr + (msg->dst.act_h - 1) * (d_stride); /* 90 degree & Mirror H */