diff mbox series

[12/13] media: atomisp: fix a bug when applying the binning factor

Message ID 8d41e31e14941b8a0352bd1e2a8c6c5e11c273ca.1637140900.git.mchehab+huawei@kernel.org (mailing list archive)
State New, archived
Headers show
Series media: atomisp: reduce the gap for ISP2401 | expand

Commit Message

Mauro Carvalho Chehab Nov. 17, 2021, 9:25 a.m. UTC
The binning factor is actually a shift value, where 0 means
to not touch the value. This is propagated from the sensors'
properties:

	.bin_factor_x
	.bin_factor_y

At their resolution setting tables.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---

To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
See [PATCH 00/13] at: https://lore.kernel.org/all/cover.1637140900.git.mchehab+huawei@kernel.org/

 .../staging/media/atomisp/pci/sh_css_param_shading.c   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Mauro Carvalho Chehab Nov. 17, 2021, 9:54 a.m. UTC | #1
Em Wed, 17 Nov 2021 09:25:37 +0000
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:

> The binning factor is actually a shift value, where 0 means
> to not touch the value. This is propagated from the sensors'
> properties:
> 
> 	.bin_factor_x
> 	.bin_factor_y
> 
> At their resolution setting tables.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

It turns that this actually not a bug. It is just that I reverted
the logic on patch 08/13.

So, I'll merge this one there and re-send this series.


> ---
> 
> To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
> See [PATCH 00/13] at: https://lore.kernel.org/all/cover.1637140900.git.mchehab+huawei@kernel.org/
> 
>  .../staging/media/atomisp/pci/sh_css_param_shading.c   | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/sh_css_param_shading.c b/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
> index 90b5f9014c5e..005b0ab41588 100644
> --- a/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
> +++ b/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
> @@ -283,16 +283,16 @@ prepare_shading_table(const struct ia_css_shading_table *in_table,
>  	 * by cropping the non-binned part of the shading table and then
>  	 * increasing the size of a grid cell with this same binning factor.
>  	 */
> -	input_width   *= sensor_binning;
> -	input_height  *= sensor_binning;
> +	input_width   <<= sensor_binning;
> +	input_height  <<= sensor_binning;
>  	/*
>  	 * We also scale the padding by the same binning factor. This will
>  	 * make it much easier later on to calculate the padding of the
>  	 * shading table.
>  	 */
> -	left_padding  *= sensor_binning;
> -	right_padding *= sensor_binning;
> -	top_padding   *= sensor_binning;
> +	left_padding  <<= sensor_binning;
> +	right_padding <<= sensor_binning;
> +	top_padding   <<= sensor_binning;
>  
>  	/*
>  	 * during simulation, the used resolution can exceed the sensor
diff mbox series

Patch

diff --git a/drivers/staging/media/atomisp/pci/sh_css_param_shading.c b/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
index 90b5f9014c5e..005b0ab41588 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
+++ b/drivers/staging/media/atomisp/pci/sh_css_param_shading.c
@@ -283,16 +283,16 @@  prepare_shading_table(const struct ia_css_shading_table *in_table,
 	 * by cropping the non-binned part of the shading table and then
 	 * increasing the size of a grid cell with this same binning factor.
 	 */
-	input_width   *= sensor_binning;
-	input_height  *= sensor_binning;
+	input_width   <<= sensor_binning;
+	input_height  <<= sensor_binning;
 	/*
 	 * We also scale the padding by the same binning factor. This will
 	 * make it much easier later on to calculate the padding of the
 	 * shading table.
 	 */
-	left_padding  *= sensor_binning;
-	right_padding *= sensor_binning;
-	top_padding   *= sensor_binning;
+	left_padding  <<= sensor_binning;
+	right_padding <<= sensor_binning;
+	top_padding   <<= sensor_binning;
 
 	/*
 	 * during simulation, the used resolution can exceed the sensor