media: rockchip: isp: isp32 bls2 remove to awb

Change-Id: Ieea6a4fd4ee796c5a02a46dbf9e7650d2a345170
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2022-02-17 19:51:58 +08:00
committed by Tao Huang
parent 8bffb2d344
commit 5409c91052
2 changed files with 39 additions and 35 deletions

View File

@@ -310,7 +310,7 @@ isp_bls_config(struct rkisp_isp_params_vdev *params_vdev,
u32 new_control, value;
new_control = isp3_param_read(params_vdev, ISP3X_BLS_CTRL);
new_control &= ISP_BLS_ENA;
new_control &= (ISP_BLS_ENA | ISP32_BLS_BLS2_EN);
pval = &arg->bls1_val;
if (arg->bls1_en) {
@@ -345,39 +345,6 @@ isp_bls_config(struct rkisp_isp_params_vdev *params_vdev,
}
}
pval = &arg->bls2_val;
if (arg->bls2_en) {
new_control |= ISP32_BLS_BLS2_EN;
switch (params_vdev->raw_type) {
case RAW_BGGR:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED);
break;
case RAW_GBRG:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED);
break;
case RAW_GRBG:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED);
break;
case RAW_RGGB:
default:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED);
break;
}
}
/* fixed subtraction values */
pval = &arg->fixed_val;
if (!arg->enable_auto) {
@@ -1426,8 +1393,42 @@ isp_rawawb_config(struct rkisp_isp_params_vdev *params_vdev,
{
struct isp32_isp_params_cfg *params_rec = params_vdev->isp32_params;
struct isp32_rawawb_meas_cfg *arg_rec = &params_rec->meas.rawawb;
const struct isp2x_bls_fixed_val *pval = &arg->bls2_val;
u32 value;
value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL);
value &= ~ISP32_BLS_BLS2_EN;
if (arg->bls2_en) {
switch (params_vdev->raw_type) {
case RAW_BGGR:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED);
break;
case RAW_GBRG:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED);
break;
case RAW_GRBG:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED);
break;
case RAW_RGGB:
default:
isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED);
isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED);
isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED);
isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED);
}
value |= ISP32_BLS_BLS2_EN;
}
isp3_param_write(params_vdev, value, ISP3X_BLS_CTRL);
value = arg->in_overexposure_threshold << 16 |
!!arg->blk_with_luma_wei_en << 8 |
(arg->blk_measure_illu_idx & 0x7) << 4 |

View File

@@ -189,7 +189,6 @@ struct isp32_bls_cfg {
u8 enable_auto;
u8 en_windows;
u8 bls1_en;
u8 bls2_en;
u8 bls_samples;
@@ -731,6 +730,8 @@ struct isp32_hdrmge_cfg {
} __attribute__ ((packed));
struct isp32_rawawb_meas_cfg {
u8 bls2_en;
u8 rawawb_sel;
u8 bnr2awb_sel;
u8 drc2awb_sel;
@@ -1130,6 +1131,8 @@ struct isp32_rawawb_meas_cfg {
u32 islope12_3;
u32 islope23_3;
u32 islope30_3;
struct isp2x_bls_fixed_val bls2_val;
} __attribute__ ((packed));
struct isp32_rawaf_meas_cfg {