[PATCH 4/6] media: mali-c55: Fix Iridix bypass macros

Jacopo Mondi posted 6 patches 3 weeks, 4 days ago
There is a newer version of this series
[PATCH 4/6] media: mali-c55: Fix Iridix bypass macros
Posted by Jacopo Mondi 3 weeks, 4 days ago
From: Daniel Scally <dan.scally@ideasonboard.com>

The Mali C55 Iridix block has a digital gain function and tone mapping
function, whose enablement is controlled by two different bits
in the BYPASS_3 register.

Unfortunately, the "Gain" and "Tonemap" bypass bit definitions are the
wrong way around. Swap them so that the ISP is now operated with the
"Iridix Gain" block enabled and default configured at a x1.0 gain and
with the "Iridix Tonemap" disabled, as it was originally intended.

Cc: stable@vger.kernel.org
Fixes: 8ec187829a4c ("media: mali-c55: Fix Iridix bypass macros")
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 drivers/media/platform/arm/mali-c55/mali-c55-registers.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
index f5a148add1c8..f098effde7b4 100644
--- a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
+++ b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
@@ -128,8 +128,8 @@ enum mali_c55_interrupts {
 #define MALI_C55_REG_BYPASS_3_SENSOR_OFFSET_PRE_SH	BIT(1)
 #define MALI_C55_REG_BYPASS_3_MESH_SHADING		BIT(3)
 #define MALI_C55_REG_BYPASS_3_WHITE_BALANCE		BIT(4)
-#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(5)
-#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(6)
+#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(5)
+#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(6)
 #define MALI_C55_REG_BYPASS_4				0x18ec0
 #define MALI_C55_REG_BYPASS_4_DEMOSAIC_RGB		BIT(1)
 #define MALI_C55_REG_BYPASS_4_PF_CORRECTION		BIT(3)

-- 
2.53.0
Re: [PATCH 4/6] media: mali-c55: Fix Iridix bypass macros
Posted by Barnabás Pőcze 3 weeks, 4 days ago
2026. 03. 13. 11:49 keltezéssel, Jacopo Mondi írta:
> From: Daniel Scally <dan.scally@ideasonboard.com>
> 
> The Mali C55 Iridix block has a digital gain function and tone mapping
> function, whose enablement is controlled by two different bits
> in the BYPASS_3 register.
> 
> Unfortunately, the "Gain" and "Tonemap" bypass bit definitions are the
> wrong way around. Swap them so that the ISP is now operated with the
> "Iridix Gain" block enabled and default configured at a x1.0 gain and
> with the "Iridix Tonemap" disabled, as it was originally intended.

As far as I can see the current upstream driver does not bypass either of them,
so swapping them will have no direct effect.


> 
> Cc: stable@vger.kernel.org
> Fixes: 8ec187829a4c ("media: mali-c55: Fix Iridix bypass macros")

Where is this commit? I cannot seem to find it.


Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>


> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
>   drivers/media/platform/arm/mali-c55/mali-c55-registers.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> index f5a148add1c8..f098effde7b4 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> @@ -128,8 +128,8 @@ enum mali_c55_interrupts {
>   #define MALI_C55_REG_BYPASS_3_SENSOR_OFFSET_PRE_SH	BIT(1)
>   #define MALI_C55_REG_BYPASS_3_MESH_SHADING		BIT(3)
>   #define MALI_C55_REG_BYPASS_3_WHITE_BALANCE		BIT(4)
> -#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(5)
> -#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(6)
> +#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(5)
> +#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(6)
>   #define MALI_C55_REG_BYPASS_4				0x18ec0
>   #define MALI_C55_REG_BYPASS_4_DEMOSAIC_RGB		BIT(1)
>   #define MALI_C55_REG_BYPASS_4_PF_CORRECTION		BIT(3)
> 

Re: [PATCH 4/6] media: mali-c55: Fix Iridix bypass macros
Posted by Jacopo Mondi 3 weeks, 3 days ago
On Fri, Mar 13, 2026 at 12:15:10PM +0100, Barnabás Pőcze wrote:
> 2026. 03. 13. 11:49 keltezéssel, Jacopo Mondi írta:
> > From: Daniel Scally <dan.scally@ideasonboard.com>
> >
> > The Mali C55 Iridix block has a digital gain function and tone mapping
> > function, whose enablement is controlled by two different bits
> > in the BYPASS_3 register.
> >
> > Unfortunately, the "Gain" and "Tonemap" bypass bit definitions are the
> > wrong way around. Swap them so that the ISP is now operated with the
> > "Iridix Gain" block enabled and default configured at a x1.0 gain and
> > with the "Iridix Tonemap" disabled, as it was originally intended.
>
> As far as I can see the current upstream driver does not bypass either of them,
> so swapping them will have no direct effect.

You're right, I swapped the patch order and in this version I sent out
this comes before the actual iridix bypass

>
>
> >
> > Cc: stable@vger.kernel.org
> > Fixes: 8ec187829a4c ("media: mali-c55: Fix Iridix bypass macros")
>
> Where is this commit? I cannot seem to find it.

Clearly, this doesn't make sense. I generated the fixes tag pointing
it to this patch. I'll fix, thanks.

>
>
> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
>
>
> > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
> > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > ---
> >   drivers/media/platform/arm/mali-c55/mali-c55-registers.h | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> > index f5a148add1c8..f098effde7b4 100644
> > --- a/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> > +++ b/drivers/media/platform/arm/mali-c55/mali-c55-registers.h
> > @@ -128,8 +128,8 @@ enum mali_c55_interrupts {
> >   #define MALI_C55_REG_BYPASS_3_SENSOR_OFFSET_PRE_SH	BIT(1)
> >   #define MALI_C55_REG_BYPASS_3_MESH_SHADING		BIT(3)
> >   #define MALI_C55_REG_BYPASS_3_WHITE_BALANCE		BIT(4)
> > -#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(5)
> > -#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(6)
> > +#define MALI_C55_REG_BYPASS_3_IRIDIX_GAIN		BIT(5)
> > +#define MALI_C55_REG_BYPASS_3_IRIDIX			BIT(6)
> >   #define MALI_C55_REG_BYPASS_4				0x18ec0
> >   #define MALI_C55_REG_BYPASS_4_DEMOSAIC_RGB		BIT(1)
> >   #define MALI_C55_REG_BYPASS_4_PF_CORRECTION		BIT(3)
> >
>