Re: [PATCH v2] media: rppx1: bls: read the raw pattern from the PRE2 acquisition module
Jacopo Mondi <[email protected]>
| Newsgroups | org.kernel.vger.linux-media,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <aoQuSs1aSw2Z4Wyq@zed> |
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 <[email protected]> > Reviewed-by: Niklas Söderlund <[email protected]> Thanks Reviewed-by: Jacopo Mondi <[email protected]> > --- > 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/[email protected]/ > [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 > >