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
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)
>
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)
> >
>
© 2016 - 2026 Red Hat, Inc.