mirror of
https://github.com/hardkernel/kernel_common_drivers.git
synced 2026-06-25 12:03:48 +09:00
video: aisr cause video flash [1/1]
PD#SWPL-114374 Problem: aisr cause video flash Solution: set function in primary_render_frame Verify: s5 Change-Id: I776b5f11e59f79d3579b55f2ac4a05e74067c4d2 Signed-off-by: hai.cao <hai.cao@amlogic.com>
This commit is contained in:
committed by
gerrit autosubmit
parent
bc6f2d190c
commit
998f6b6931
@@ -12308,24 +12308,26 @@ void aisr_scaler_setting(struct video_layer_s *layer,
|
||||
void aisr_demo_axis_set(void)
|
||||
{
|
||||
u8 vpp_index = VPP0;
|
||||
static bool en_flag;
|
||||
static bool en_flag = FALSE;
|
||||
static u32 original_reg_value1;
|
||||
static u32 original_reg_value2;
|
||||
|
||||
if (cur_dev->aisr_demo_en) {
|
||||
original_reg_value1 = READ_VCBUS_REG(DEMO_MODE_WINDO_CTRL0);
|
||||
original_reg_value2 = READ_VCBUS_REG(DEMO_MODE_WINDO_CTRL1);
|
||||
en_flag = TRUE;
|
||||
if (!cur_dev->aisr_support)
|
||||
return;
|
||||
if (cur_dev->display_module == S5_DISPLAY_MODULE)
|
||||
return aisr_demo_axis_set_s5();
|
||||
if (!en_flag) {
|
||||
original_reg_value1 = READ_VCBUS_REG(DEMO_MODE_WINDO_CTRL0);
|
||||
original_reg_value2 = READ_VCBUS_REG(DEMO_MODE_WINDO_CTRL1);
|
||||
en_flag = TRUE;
|
||||
}
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(DEMO_MODE_WINDO_CTRL0,
|
||||
cur_dev->aisr_demo_en, 29, 1);
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(DEMO_MODE_WINDO_CTRL0,
|
||||
1, 12, 4);
|
||||
if (cur_dev->display_module == S5_DISPLAY_MODULE)
|
||||
return aisr_demo_axis_set_s5();
|
||||
if (!cur_dev->aisr_support)
|
||||
return;
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(DEMO_MODE_WINDO_CTRL0,
|
||||
cur_dev->aisr_demo_xstart, 16, 12);
|
||||
@@ -12339,15 +12341,16 @@ void aisr_demo_axis_set(void)
|
||||
(DEMO_MODE_WINDO_CTRL1,
|
||||
cur_dev->aisr_demo_yend, 0, 12);
|
||||
} else {
|
||||
if (cur_dev->display_module == S5_DISPLAY_MODULE)
|
||||
return aisr_demo_axis_set_s5();
|
||||
if (!cur_dev->aisr_support)
|
||||
return;
|
||||
if (cur_dev->display_module == S5_DISPLAY_MODULE)
|
||||
return aisr_demo_axis_set_s5();
|
||||
if (en_flag) {
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr
|
||||
(DEMO_MODE_WINDO_CTRL0, original_reg_value1);
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr
|
||||
(DEMO_MODE_WINDO_CTRL1, original_reg_value2);
|
||||
en_flag = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9750,27 +9750,10 @@ void aisr_reshape_output_s5(u32 enable)
|
||||
}
|
||||
}
|
||||
|
||||
void aisr_demo_enable_s5(void)
|
||||
{
|
||||
struct vd_proc_sr_reg_s *vd_sr_reg = NULL;
|
||||
|
||||
if (!cur_dev->aisr_support)
|
||||
return;
|
||||
vd_sr_reg = &vd_proc_reg.vd_proc_sr_reg;
|
||||
|
||||
/* reshape and aisr demo is mutex */
|
||||
WRITE_VCBUS_REG_BITS
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl0,
|
||||
cur_dev->aisr_demo_en, 29, 1);
|
||||
WRITE_VCBUS_REG_BITS
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl0,
|
||||
1, 12, 4);
|
||||
}
|
||||
|
||||
void aisr_demo_axis_set_s5(void)
|
||||
{
|
||||
u8 vpp_index = VPP0;
|
||||
static bool en_flag;
|
||||
static bool en_flag = FALSE;
|
||||
static u32 original_reg_value1;
|
||||
static u32 original_reg_value2;
|
||||
struct vd_proc_sr_reg_s *vd_sr_reg = NULL;
|
||||
@@ -9780,11 +9763,19 @@ void aisr_demo_axis_set_s5(void)
|
||||
vd_sr_reg = &vd_proc_reg.vd_proc_sr_reg;
|
||||
|
||||
if (cur_dev->aisr_demo_en) {
|
||||
original_reg_value1 =
|
||||
READ_VCBUS_REG(vd_sr_reg->srsharp1_demo_mode_window_ctrl0);
|
||||
original_reg_value2 =
|
||||
READ_VCBUS_REG(vd_sr_reg->srsharp1_demo_mode_window_ctrl1);
|
||||
en_flag = TRUE;
|
||||
if (!en_flag) {
|
||||
original_reg_value1 =
|
||||
READ_VCBUS_REG(vd_sr_reg->srsharp1_demo_mode_window_ctrl0);
|
||||
original_reg_value2 =
|
||||
READ_VCBUS_REG(vd_sr_reg->srsharp1_demo_mode_window_ctrl1);
|
||||
en_flag = TRUE;
|
||||
}
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl0,
|
||||
cur_dev->aisr_demo_en, 29, 1);
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl0,
|
||||
1, 12, 4);
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr_bits
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl0,
|
||||
cur_dev->aisr_demo_xstart, 16, 12);
|
||||
@@ -9805,6 +9796,7 @@ void aisr_demo_axis_set_s5(void)
|
||||
cur_dev->rdma_func[vpp_index].rdma_wr
|
||||
(vd_sr_reg->srsharp1_demo_mode_window_ctrl1,
|
||||
original_reg_value2);
|
||||
en_flag = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user