summaryrefslogtreecommitdiff
path: root/drivers/media/platform
diff options
context:
space:
mode:
authorLinmao Li <lilinmao@kylinos.cn>2026-08-18 17:59:29 +0800
committerHans Verkuil <hverkuil+cisco@kernel.org>2026-08-31 08:57:06 +0200
commite04ffff543db06308a8100f6aa3a65aebcd9834c (patch)
tree8010e7c18a9e31905cf166b40310fb160c99c3ad /drivers/media/platform
parenta1530ef451f53b63dcf4a2805a5524b590a146ad (diff)
media: rppx1: bls: read the raw pattern from the PRE2 acquisition module
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> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Diffstat (limited to 'drivers/media/platform')
-rw-r--r--drivers/media/platform/dreamchip/rppx1/rppx1_bls.c2
1 files changed, 1 insertions, 1 deletions
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)