video: rockchip: rga3: Modify YUV10bit of RGA3 to default to compact mode

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I310839f124e4c3e4ef7aa0e81f4cc780893377db
This commit is contained in:
Yu Qiaowei
2022-08-09 10:44:59 +08:00
committed by Tao Huang
parent bce92d16b2
commit 783ba8db79
2 changed files with 27 additions and 4 deletions
+6 -1
View File
@@ -103,6 +103,11 @@ enum {
RGA_TILE_MODE = 0x1 << 2,
};
enum {
RGA_10BIT_COMPACT = 0x0,
RGA_10BIT_INCOMPACT = 0x1,
};
enum {
RGA_CONTEXT_NONE = 0x0,
RGA_CONTEXT_SRC_FIX_ENABLE = 0x1 << 0,
@@ -496,7 +501,7 @@ struct rga_img_info_t {
uint16_t rotate_mode;
uint16_t rd_mode;
uint16_t is_10b_compact;
uint16_t compact_mode;
uint16_t is_10b_endian;
uint16_t enable;
+21 -3
View File
@@ -379,7 +379,7 @@ static void RGA3_set_reg_win0_info(u8 *base, struct rga3_req *msg)
((reg & (~m_RGA3_WIN0_RD_CTRL_SW_WIN0_YUV10B_COMPACT)) |
(s_RGA3_WIN0_RD_CTRL_SW_WIN0_YUV10B_COMPACT(1)));
/* Only on roster mode, yuv 10bit can change to compact or set endian */
/* Only on raster mode, yuv 10bit can change to compact or set endian */
if (msg->win0.rd_mode == RGA_RASTER_MODE && yuv10 == 1) {
reg =
((reg & (~m_RGA3_WIN0_RD_CTRL_SW_WIN0_YUV10B_COMPACT)) |
@@ -1251,7 +1251,16 @@ static void set_win_info(struct rga_win_info_t *win, struct rga_img_info_t *img)
else if (img->rd_mode == RGA_TILE_MODE)
win->rd_mode = 2;
win->is_10b_compact = img->is_10b_compact;
switch (img->compact_mode) {
case RGA_10BIT_INCOMPACT:
win->is_10b_compact = 0;
break;
case RGA_10BIT_COMPACT:
default:
win->is_10b_compact = 1;
break;
}
win->is_10b_endian = img->is_10b_endian;
}
@@ -1272,7 +1281,16 @@ static void set_wr_info(struct rga_req *req_rga, struct rga3_req *req)
else if (req_rga->dst.rd_mode == RGA_TILE_MODE)
req->wr.rd_mode = 2;
req->wr.is_10b_compact = req_rga->dst.is_10b_compact;
switch (req_rga->dst.compact_mode) {
case RGA_10BIT_INCOMPACT:
req->wr.is_10b_compact = 0;
break;
case RGA_10BIT_COMPACT:
default:
req->wr.is_10b_compact = 1;
break;
}
req->wr.is_10b_endian = req_rga->dst.is_10b_endian;
}