mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
video: rockchip: rga3: support RV1103B
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com> Change-Id: I7a4fda6fd994418c6d2e4dea825f03017abdcf5a
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user