On Tue Aug 18 17:59:29 2026 +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]>
> Reviewed-by: Jacopo Mondi <[email protected]>
> Signed-off-by: Jacopo Mondi <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 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 01a61db279bf..71c5561457d5 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)
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to