[PATCH 40/45] media: qcom: camss: sa8775p: add AWB BG parameters
From: Gjorgji . Rosikopulos . gjorgji . rosikopulos
Date: Tue Oct 06 2026 - 18:50:09 EST
From: Gjorgji Rosikopulos <gjorgji.rosikopulos@xxxxxxxxxxxxxxxx>
Configure and control the AWB BG statistics block from IFE parameter
buffers. Derive its grid from the active pixel-path size.
Signed-off-by: Gjorgji Rosikopulos <gjorgji.rosikopulos@xxxxxxxxxxxxxxxx>
Signed-off-by: Atanas Filipov <atanas.filipov@xxxxxxxxxxxxxxxx>
---
.../platform/qcom/camss/camss-ife-mod-v41x.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss-ife-mod-v41x.c b/drivers/media/platform/qcom/camss/camss-ife-mod-v41x.c
index 3c53f585133c..b35a3f375026 100644
--- a/drivers/media/platform/qcom/camss/camss-ife-mod-v41x.c
+++ b/drivers/media/platform/qcom/camss/camss-ife-mod-v41x.c
@@ -678,6 +678,17 @@ static void mod_v41x_params_apply_gamma(void *priv, const union camss_ife_params
mod_v41x_glut_apply(ctx, &block->gamma_256, enable);
}
+static void mod_v41x_params_apply_bg_stats(void *priv, const union camss_ife_params_block *block)
+{
+ struct ife_pp_ctx *ctx = priv;
+ bool enable = block->header.flags & V4L2_ISP_PARAMS_FL_BLOCK_ENABLE;
+
+ if (enable)
+ mod_v41x_awb_bg_enable(ctx);
+ else
+ mod_v41x_awb_bg_disable(ctx);
+}
+
static const struct v4l2_isp_params_block_type_info mod_v41x_params_type_info[] = {
[CAMSS_IFE_PARAMS_COLOR_CORRECT] = {
.size = sizeof(struct camss_ife_params_color_correct),
@@ -691,6 +702,9 @@ static const struct v4l2_isp_params_block_type_info mod_v41x_params_type_info[]
[CAMSS_IFE_PARAMS_WB_GAIN] = {
.size = sizeof(struct camss_ife_params_wb_gain),
},
+ [CAMSS_IFE_PARAMS_BG_STATS] = {
+ .size = sizeof(struct camss_ife_params_bg_stats),
+ },
};
static const camss_ife_params_handler_fn mod_v41x_params_handlers[] = {
@@ -698,6 +712,7 @@ static const camss_ife_params_handler_fn mod_v41x_params_handlers[] = {
[CAMSS_IFE_PARAMS_LSC] = mod_v41x_params_apply_lsc,
[CAMSS_IFE_PARAMS_GAMMA_256] = mod_v41x_params_apply_gamma,
[CAMSS_IFE_PARAMS_WB_GAIN] = mod_v41x_params_apply_wb,
+ [CAMSS_IFE_PARAMS_BG_STATS] = mod_v41x_params_apply_bg_stats,
};
static_assert(ARRAY_SIZE(mod_v41x_params_handlers) ==
--
2.34.1