diff --git a/drivers/media/platform/rockchip/isp/isp_params_v32.c b/drivers/media/platform/rockchip/isp/isp_params_v32.c index 1237ae27cfa4..2dff0a748a4a 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v32.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v32.c @@ -1595,36 +1595,16 @@ isp_rawawb_config(struct rkisp_isp_params_vdev *params_vdev, u32 width = out_crop->width, height = out_crop->height; u32 value, val, mask, i, h_size, v_size, h_offs, v_offs; + /* bug no base on bayer pattern */ + isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); + isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); + isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); + isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); + value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL, id); value &= ~ISP32_BLS_BLS2_EN; if (arg->bls2_en) value |= ISP32_BLS_BLS2_EN; - switch (params_vdev->raw_type) { - case RAW_BGGR: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED, id); - break; - case RAW_GBRG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED, id); - break; - case RAW_GRBG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED, id); - break; - case RAW_RGGB: - default: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); - } isp3_param_write(params_vdev, value, ISP3X_BLS_CTRL, id); value = arg->in_overexposure_threshold << 16 | diff --git a/drivers/media/platform/rockchip/isp/isp_params_v33.c b/drivers/media/platform/rockchip/isp/isp_params_v33.c index 2560fe4b3cf9..22a8aa6a32c2 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v33.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v33.c @@ -1003,36 +1003,15 @@ isp_rawawb_config(struct rkisp_isp_params_vdev *params_vdev, u32 width = out_crop->width, height = out_crop->height; u32 value, val, mask, h_size, v_size, h_offs, v_offs; + isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); + isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); + isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); + isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); + value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL, id); value &= ~ISP32_BLS_BLS2_EN; if (arg->bls2_en) value |= ISP32_BLS_BLS2_EN; - switch (params_vdev->raw_type) { - case RAW_BGGR: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED, id); - break; - case RAW_GBRG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED, id); - break; - case RAW_GRBG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED, id); - break; - case RAW_RGGB: - default: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); - } isp3_param_write(params_vdev, value, ISP3X_BLS_CTRL, id); value = arg->in_overexposure_threshold << 16 | diff --git a/drivers/media/platform/rockchip/isp/isp_params_v35.c b/drivers/media/platform/rockchip/isp/isp_params_v35.c index be6146f11c62..cd9632c08490 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v35.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v35.c @@ -1258,36 +1258,16 @@ isp_rawawb_config(struct rkisp_isp_params_vdev *params_vdev, u32 width = out_crop->width, height = out_crop->height; u32 value, val, mask, h_size, v_size, h_offs, v_offs; + /* bug no base on bayer pattern */ + isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); + isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); + isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); + isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); + value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL, id); value &= ~ISP32_BLS_BLS2_EN; if (arg->bls2_en) value |= ISP32_BLS_BLS2_EN; - switch (params_vdev->raw_type) { - case RAW_BGGR: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED, id); - break; - case RAW_GBRG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED, id); - break; - case RAW_GRBG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED, id); - break; - case RAW_RGGB: - default: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); - } isp3_param_write(params_vdev, value, ISP3X_BLS_CTRL, id); value = arg->in_overexposure_threshold << 16 | @@ -2122,32 +2102,12 @@ isp_aiawb_config(struct rkisp_isp_params_vdev *params_vdev, const struct isp2x_bls_fixed_val *pval = &arg->bls3_val; u32 value; - switch (params_vdev->raw_type) { - case RAW_BGGR: - value = ISP_PACK_2SHORT(pval->b, pval->gb); - isp3_param_write(params_vdev, value, ISP35_BLS3_AB_FIXED, id); - value = ISP_PACK_2SHORT(pval->gr, pval->r); - isp3_param_write(params_vdev, value, ISP35_BLS3_CD_FIXED, id); - break; - case RAW_GBRG: - value = ISP_PACK_2SHORT(pval->gb, pval->b); - isp3_param_write(params_vdev, value, ISP35_BLS3_AB_FIXED, id); - value = ISP_PACK_2SHORT(pval->r, pval->gr); - isp3_param_write(params_vdev, value, ISP35_BLS3_CD_FIXED, id); - break; - case RAW_GRBG: - value = ISP_PACK_2SHORT(pval->gr, pval->r); - isp3_param_write(params_vdev, value, ISP35_BLS3_AB_FIXED, id); - value = ISP_PACK_2SHORT(pval->b, pval->gb); - isp3_param_write(params_vdev, value, ISP35_BLS3_CD_FIXED, id); - break; - case RAW_RGGB: - default: - value = ISP_PACK_2SHORT(pval->r, pval->gr); - isp3_param_write(params_vdev, value, ISP35_BLS3_AB_FIXED, id); - value = ISP_PACK_2SHORT(pval->gb, pval->b); - isp3_param_write(params_vdev, value, ISP35_BLS3_CD_FIXED, id); - } + /* bug no base on bayer pattern */ + value = ISP_PACK_2SHORT(pval->r, pval->gr); + isp3_param_write(params_vdev, value, ISP35_BLS3_AB_FIXED, id); + value = ISP_PACK_2SHORT(pval->gb, pval->b); + isp3_param_write(params_vdev, value, ISP35_BLS3_CD_FIXED, id); + value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL, id); value &= ~ISP35_BLS_BLS3_EN; if (arg->bls3_en) diff --git a/drivers/media/platform/rockchip/isp/isp_params_v39.c b/drivers/media/platform/rockchip/isp/isp_params_v39.c index c61316a4cbe8..df1451472d63 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v39.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v39.c @@ -1292,36 +1292,16 @@ isp_rawawb_config(struct rkisp_isp_params_vdev *params_vdev, u32 width = out_crop->width, height = out_crop->height; u32 value, val, mask, h_size, v_size, h_offs, v_offs; + /* bug no base on bayer pattern */ + isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); + isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); + isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); + isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); + value = isp3_param_read(params_vdev, ISP3X_BLS_CTRL, id); value &= ~ISP32_BLS_BLS2_EN; if (arg->bls2_en) value |= ISP32_BLS_BLS2_EN; - switch (params_vdev->raw_type) { - case RAW_BGGR: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_A_FIXED, id); - break; - case RAW_GBRG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_B_FIXED, id); - break; - case RAW_GRBG: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_D_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_C_FIXED, id); - break; - case RAW_RGGB: - default: - isp3_param_write(params_vdev, pval->r, ISP32_BLS2_A_FIXED, id); - isp3_param_write(params_vdev, pval->gr, ISP32_BLS2_B_FIXED, id); - isp3_param_write(params_vdev, pval->gb, ISP32_BLS2_C_FIXED, id); - isp3_param_write(params_vdev, pval->b, ISP32_BLS2_D_FIXED, id); - } isp3_param_write(params_vdev, value, ISP3X_BLS_CTRL, id); value = arg->in_overexposure_threshold << 16 |