Re: [PATCH 2/2] media: rppx1: bls: read the raw pattern from the PRE2 acquisition module

Niklas Söderlund <[email protected]>
Newsgroups org.kernel.vger.linux-media,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hello Linmao,

Thanks for your work.

On 2026-08-17 18:45:29 +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.
> 
> Fixes: 3f8a2a883655 ("media: rppx1: bls: Add support for black level compensation")
> Signed-off-by: Linmao Li <[email protected]>
> ---
>  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;

As pointed out elsewhere in this series, PRE2 is not enabled yet.

>  	enum rpp_raw_pattern pattern = acq->info.acq.raw_pattern;
>  
>  	for (unsigned int i = 0; i < 4; ++i)
> -- 
> 2.25.1
> 

-- 
Kind Regards,
Niklas Söderlund
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.