media: rockchip: isp1: fix config lsc error

LSC data table size is 17x17, but when configuring data to ISP,
should be aligned to 18x17. That means every last data of last
line should be filled with 0, and not filled with the data of
next line.

BUG=b:36227021
TEST=scarlet can preview.

Change-Id: I5e923529429a1c60efff3827e594f32db7112c1f
Signed-off-by: ZhongYiChong <zyc@rock-chips.com>

Change-Id: Ib7805802fe616635c524ce2b17812cde3012b81a
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
This commit is contained in:
Hu Kejun
2018-03-27 18:46:15 +08:00
committed by Tao Huang
parent ef0e90d8e4
commit e4b5ad1093

View File

@@ -243,7 +243,7 @@ __lsc_correct_matrix_config(struct rkisp1_isp_params_vdev *params_vdev,
* 17 sectors with 2 values in one DWORD = 9
* DWORDs (2nd value of last DWORD unused)
*/
for (j = 0; j < (CIF_ISP_LSC_SECTORS_MAX + 1); j += 2) {
for (j = 0; j < (CIF_ISP_LSC_SECTORS_MAX); j += 2) {
data = CIF_ISP_LSC_TABLE_DATA(
pconfig->r_data_tbl[i + j],
pconfig->r_data_tbl[i + j + 1]);
@@ -268,8 +268,30 @@ __lsc_correct_matrix_config(struct rkisp1_isp_params_vdev *params_vdev,
rkisp1_iowrite32(params_vdev, data,
CIF_ISP_LSC_B_TABLE_DATA);
}
}
data = CIF_ISP_LSC_TABLE_DATA(
pconfig->r_data_tbl[i + CIF_ISP_LSC_SECTORS_MAX],
0);
rkisp1_iowrite32(params_vdev, data,
CIF_ISP_LSC_R_TABLE_DATA);
data = CIF_ISP_LSC_TABLE_DATA(
pconfig->gr_data_tbl[i + CIF_ISP_LSC_SECTORS_MAX],
0);
rkisp1_iowrite32(params_vdev, data,
CIF_ISP_LSC_GR_TABLE_DATA);
data = CIF_ISP_LSC_TABLE_DATA(
pconfig->gb_data_tbl[i + CIF_ISP_LSC_SECTORS_MAX],
0);
rkisp1_iowrite32(params_vdev, data,
CIF_ISP_LSC_GB_TABLE_DATA);
data = CIF_ISP_LSC_TABLE_DATA(
pconfig->b_data_tbl[i + CIF_ISP_LSC_SECTORS_MAX],
0);
rkisp1_iowrite32(params_vdev, data,
CIF_ISP_LSC_B_TABLE_DATA);
}
isp_lsc_table_sel = (isp_lsc_status & CIF_ISP_LSC_ACTIVE_TABLE) ?
CIF_ISP_LSC_TABLE_0 : CIF_ISP_LSC_TABLE_1;
rkisp1_iowrite32(params_vdev, isp_lsc_table_sel, CIF_ISP_LSC_TABLE_SEL);