[PATCH v2 6/6] media: mali-c55: Bypass Purple Fringe Correction

Jacopo Mondi posted 6 patches 3 weeks, 3 days ago
[PATCH v2 6/6] media: mali-c55: Bypass Purple Fringe Correction
Posted by Jacopo Mondi 3 weeks, 3 days ago
The Purple Fringe Correction module is enabled by default with a POR
configuration which might not be correct for the lens/sensor combination
in use.

If the Purple Fringe Correction module has to be used, it needs to be
supported in the driver's uAPI and properly configured by userspace.

As the driver doesn't support it at the moment, bypass it by default.

Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 drivers/media/platform/arm/mali-c55/mali-c55-params.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-params.c b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
index b9fc904a3844..de0e9d898db7 100644
--- a/drivers/media/platform/arm/mali-c55/mali-c55-params.c
+++ b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
@@ -830,9 +830,10 @@ void mali_c55_params_init_isp_config(struct mali_c55 *mali_c55,
 				 MALI_C55_REG_BYPASS_3_IRIDIX,
 				 MALI_C55_REG_BYPASS_3_IRIDIX);
 
-	/* Bypass the colour noise reduction  */
+	/* Bypass the colour noise reduction and the PF modules  */
 	mali_c55_ctx_write(mali_c55, MALI_C55_REG_BYPASS_4,
-			   MALI_C55_REG_BYPASS_4_CNR);
+			   MALI_C55_REG_BYPASS_4_CNR |
+			   MALI_C55_REG_BYPASS_4_PF_CORRECTION);
 
 	/* Disable the sinter module */
 	mali_c55_ctx_update_bits(mali_c55, MALI_C55_REG_SINTER_CONFIG,

-- 
2.53.0

Re: [PATCH v2 6/6] media: mali-c55: Bypass Purple Fringe Correction
Posted by Dan Scally 3 weeks, 3 days ago
Hi Jacopo

On 13/03/2026 14:54, Jacopo Mondi wrote:
> The Purple Fringe Correction module is enabled by default with a POR
> configuration which might not be correct for the lens/sensor combination
> in use.
> 
> If the Purple Fringe Correction module has to be used, it needs to be
> supported in the driver's uAPI and properly configured by userspace.
> 
> As the driver doesn't support it at the moment, bypass it by default.
> 
> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---

Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>

>   drivers/media/platform/arm/mali-c55/mali-c55-params.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-params.c b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> index b9fc904a3844..de0e9d898db7 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> @@ -830,9 +830,10 @@ void mali_c55_params_init_isp_config(struct mali_c55 *mali_c55,
>   				 MALI_C55_REG_BYPASS_3_IRIDIX,
>   				 MALI_C55_REG_BYPASS_3_IRIDIX);
>   
> -	/* Bypass the colour noise reduction  */
> +	/* Bypass the colour noise reduction and the PF modules  */
>   	mali_c55_ctx_write(mali_c55, MALI_C55_REG_BYPASS_4,
> -			   MALI_C55_REG_BYPASS_4_CNR);
> +			   MALI_C55_REG_BYPASS_4_CNR |
> +			   MALI_C55_REG_BYPASS_4_PF_CORRECTION);
>   
>   	/* Disable the sinter module */
>   	mali_c55_ctx_update_bits(mali_c55, MALI_C55_REG_SINTER_CONFIG,
>