drivers/media/platform/dreamchip/rppx1/rppx1_bls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
rppx1_bls_swap_regs() gets the Bayer pattern from the acquisition
module. The PRE1 path uses pre1.acq, but the PRE2 path mistakenly uses
pre2.bls. The BLS module does not store a Bayer pattern, so PRE2 would
read zero (RGGB) and map fixed black levels to the wrong colour
registers.
PRE2 is not started or dispatched yet, so the bug is currently latent.
Read the pattern from pre2.acq, as the PRE1 path does, so that enabling
PRE2 does not start out with the wrong register mapping.
Signed-off-by: Linmao Li <lilinmao@kylinos.cn>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
Changes since v1 [1]:
- no code changes;
- dropped the Fixes: tag, the patch is expected to be collected together
with the driver for v7.3;
- picked up Niklas' Reviewed-by;
- resent after Jacopo offered to collect this one as well [2].
v1 was patch 2/2 of "media: rppx1: parameters block fixes"; its patch
1/2 is on the list separately as "[PATCH v2] media: rppx1: describe the
MAIN_POST white balance gains block".
[1] https://lore.kernel.org/linux-media/20260817104529.3132552-3-lilinmao@kylinos.cn/
[2] https://lore.kernel.org/linux-media/aoQniglSwAEH3V0D@zed/
drivers/media/platform/dreamchip/rppx1/rppx1_bls.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c b/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c
index 01a61db279bf7..71c5561457d52 100644
--- a/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c
+++ b/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c
@@ -70,7 +70,7 @@ rppx1_bls_swap_regs(struct rpp_module *mod, const u32 input[4], u32 output[4])
/* Swap to pattern used in our path, PRE1 or PRE2. */
struct rpp_module *acq = mod == &mod->rpp->pre1.bls ?
- &mod->rpp->pre1.acq : &mod->rpp->pre2.bls;
+ &mod->rpp->pre1.acq : &mod->rpp->pre2.acq;
enum rpp_raw_pattern pattern = acq->info.acq.raw_pattern;
for (unsigned int i = 0; i < 4; ++i)
--
2.25.1
Hi Linmao On Tue, Aug 18, 2026 at 05:59:29PM +0800, Linmao Li wrote: > rppx1_bls_swap_regs() gets the Bayer pattern from the acquisition > module. The PRE1 path uses pre1.acq, but the PRE2 path mistakenly uses > pre2.bls. The BLS module does not store a Bayer pattern, so PRE2 would > read zero (RGGB) and map fixed black levels to the wrong colour > registers. > > PRE2 is not started or dispatched yet, so the bug is currently latent. > Read the pattern from pre2.acq, as the PRE1 path does, so that enabling > PRE2 does not start out with the wrong register mapping. > > Signed-off-by: Linmao Li <lilinmao@kylinos.cn> > Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Thanks Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > --- > Changes since v1 [1]: > - no code changes; > - dropped the Fixes: tag, the patch is expected to be collected together > with the driver for v7.3; > - picked up Niklas' Reviewed-by; > - resent after Jacopo offered to collect this one as well [2]. > > v1 was patch 2/2 of "media: rppx1: parameters block fixes"; its patch > 1/2 is on the list separately as "[PATCH v2] media: rppx1: describe the > MAIN_POST white balance gains block". > > [1] https://lore.kernel.org/linux-media/20260817104529.3132552-3-lilinmao@kylinos.cn/ > [2] https://lore.kernel.org/linux-media/aoQniglSwAEH3V0D@zed/ > > drivers/media/platform/dreamchip/rppx1/rppx1_bls.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c b/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c > index 01a61db279bf7..71c5561457d52 100644 > --- a/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c > +++ b/drivers/media/platform/dreamchip/rppx1/rppx1_bls.c > @@ -70,7 +70,7 @@ rppx1_bls_swap_regs(struct rpp_module *mod, const u32 input[4], u32 output[4]) > > /* Swap to pattern used in our path, PRE1 or PRE2. */ > struct rpp_module *acq = mod == &mod->rpp->pre1.bls ? > - &mod->rpp->pre1.acq : &mod->rpp->pre2.bls; > + &mod->rpp->pre1.acq : &mod->rpp->pre2.acq; > enum rpp_raw_pattern pattern = acq->info.acq.raw_pattern; > > for (unsigned int i = 0; i < 4; ++i) > -- > 2.25.1 > >
© 2016 - 2026 Red Hat, Inc.