video: rockchip: rga3: support RV1103B

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I7a4fda6fd994418c6d2e4dea825f03017abdcf5a
This commit is contained in:
Yu Qiaowei
2024-03-28 17:35:02 +08:00
committed by Tao Huang
parent 49807b4717
commit 6e5641b333
3 changed files with 51 additions and 0 deletions

View File

@@ -78,6 +78,7 @@ extern const struct rga_hw_data rga2e_data;
extern const struct rga_hw_data rga2e_1106_data;
extern const struct rga_hw_data rga2e_iommu_data;
extern const struct rga_hw_data rga2p_iommu_data;
extern const struct rga_hw_data rga2p_lite_1103b_data;
#define rga_hw_has_issue(scheduler, issue) test_bit(issue, &((scheduler)->hw_issues_mask))
#define rga_hw_set_issue_mask(scheduler, issue) set_bit(issue, &((scheduler)->hw_issues_mask))

View File

@@ -1374,6 +1374,8 @@ static int rga_drv_probe(struct platform_device *pdev)
} else if (!strcmp(scheduler->version.str, "3.e.19357")) {
scheduler->data = &rga2p_iommu_data;
rga_hw_set_issue_mask(scheduler, RGA_HW_ISSUE_DIS_AUTO_RST);
} else if (!strcmp(scheduler->version.str, "3.f.23690")) {
scheduler->data = &rga2p_lite_1103b_data;
} else {
scheduler->data = &rga2e_data;
}

View File

@@ -442,6 +442,30 @@ const struct rga_win_data rga2p_win_data[] = {
},
};
const struct rga_win_data rga2p_lite_win_data[] = {
{
.name = "rga2e-src0",
.formats[RGA_RASTER_INDEX] = rga2e_input_raster_format,
.formats_count[RGA_RASTER_INDEX] = ARRAY_SIZE(rga2e_input_raster_format),
.supported_rotations = RGA_MODE_ROTATE_MASK,
.scale_up_mode = RGA_SCALE_UP_BIC,
.scale_down_mode = RGA_SCALE_DOWN_AVG,
.rd_mode = RGA_RASTER_MODE,
},
{
.name = "rga2-dst",
.formats[RGA_RASTER_INDEX] = rga2e_output_raster_format,
.formats_count[RGA_RASTER_INDEX] = ARRAY_SIZE(rga2e_output_raster_format),
.supported_rotations = 0,
.scale_up_mode = RGA_SCALE_UP_NONE,
.scale_down_mode = RGA_SCALE_DOWN_NONE,
.rd_mode = RGA_RASTER_MODE,
},
};
const struct rga_hw_data rga3_data = {
.version = 0,
.input_range = {{68, 2}, {8176, 8176}},
@@ -564,3 +588,27 @@ const struct rga_hw_data rga2p_iommu_data = {
RGA_MODE_CSC_BT709,
.mmu = RGA_IOMMU,
};
const struct rga_hw_data rga2p_lite_1103b_data = {
.version = 0,
.input_range = {{2, 2}, {2880, 1620}},
.output_range = {{2, 2}, {2880, 1620}},
.win = rga2p_lite_win_data,
.win_size = ARRAY_SIZE(rga2p_lite_win_data),
/* 1 << factor mean real factor */
.max_upscale_factor = 4,
.max_downscale_factor = 4,
.byte_stride_align = 4,
.max_byte_stride = WORD_TO_BYTE(8192),
.feature = RGA_COLOR_FILL | RGA_DITHER | RGA_YIN_YOUT |
RGA_YUV_HDS | RGA_YUV_VDS |
RGA_PRE_INTR | RGA_FULL_CSC,
.csc_r2y_mode = RGA_MODE_CSC_BT601L | RGA_MODE_CSC_BT601F |
RGA_MODE_CSC_BT709,
.csc_y2r_mode = RGA_MODE_CSC_BT601L | RGA_MODE_CSC_BT601F |
RGA_MODE_CSC_BT709,
.mmu = RGA_NONE_MMU,
};