mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
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:
@@ -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 = ¶ms_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 |
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user