diff mbox series

[v1,1/1] media: atomisp: Replace rarely used macro from math_support.h

Message ID 20240813131225.2232817-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State New
Headers show
Series [v1,1/1] media: atomisp: Replace rarely used macro from math_support.h | expand

Commit Message

Andy Shevchenko Aug. 13, 2024, 1:12 p.m. UTC
Replace rarely used macro by generic ones from Linux kernel headers.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 .../atomisp/pci/hive_isp_css_include/math_support.h      | 6 ------
 .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c        | 9 +++++----
 .../ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c      | 9 +++++----
 .../media/atomisp/pci/runtime/binary/src/binary.c        | 3 ++-
 .../media/atomisp/pci/runtime/isys/src/virtual_isys.c    | 8 ++++----
 5 files changed, 16 insertions(+), 19 deletions(-)

Comments

Hans de Goede Sept. 2, 2024, 10:20 a.m. UTC | #1
Hi,

On 8/13/24 3:12 PM, Andy Shevchenko wrote:
> Replace rarely used macro by generic ones from Linux kernel headers.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Thank you for your 3 patch(es).

I have merged this/these in my media-atomisp branch:
https://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux.git/log/?h=media-atomisp

And this/these will be included in my next pull-request to
Mauro (to media subsystem maintainer)

Regards,

Hans





> ---
>  .../atomisp/pci/hive_isp_css_include/math_support.h      | 6 ------
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c        | 9 +++++----
>  .../ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c      | 9 +++++----
>  .../media/atomisp/pci/runtime/binary/src/binary.c        | 3 ++-
>  .../media/atomisp/pci/runtime/isys/src/virtual_isys.c    | 8 ++++----
>  5 files changed, 16 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h b/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
> index 160c496784b7..907f9ebcc60d 100644
> --- a/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
> +++ b/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
> @@ -28,12 +28,6 @@
>  #define CEIL_SHIFT(a, b)     (((a) + (1 << (b)) - 1) >> (b))
>  #define CEIL_SHIFT_MUL(a, b) (CEIL_SHIFT(a, b) << (b))
>  
> -#if !defined(PIPE_GENERATION)
> -
> -#define ceil_div(a, b)		(CEIL_DIV(a, b))
> -
> -#endif /* !defined(PIPE_GENERATION) */
> -
>  /*
>   * For SP and ISP, SDK provides the definition of OP_std_modadd.
>   * We need it only for host
> diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
> index 0091e2a3da52..c32659894c29 100644
> --- a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
> +++ b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
> @@ -13,9 +13,11 @@
>   * more details.
>   */
>  
> +#include <linux/bitops.h>
> +#include <linux/math.h>
> +
>  #include "ia_css_bayer_io.host.h"
>  #include "dma.h"
> -#include "math_support.h"
>  #ifndef IA_CSS_NO_DEBUG
>  #include "ia_css_debug.h"
>  #endif
> @@ -29,9 +31,8 @@ int ia_css_bayer_io_config(const struct ia_css_binary      *binary,
>  	const struct ia_css_frame **out_frames = (const struct ia_css_frame **)
>  		&args->out_frame;
>  	const struct ia_css_frame_info *in_frame_info = ia_css_frame_get_info(in_frame);
> -	const unsigned int ddr_bits_per_element = sizeof(short) * 8;
> -	const unsigned int ddr_elems_per_word = ceil_div(HIVE_ISP_DDR_WORD_BITS,
> -						ddr_bits_per_element);
> +	const unsigned int ddr_elems_per_word =
> +		DIV_ROUND_UP(HIVE_ISP_DDR_WORD_BITS, BITS_PER_TYPE(short));
>  	unsigned int size_get = 0, size_put = 0;
>  	unsigned int offset = 0;
>  	int ret;
> diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
> index 32c504a950ce..5b2d5023b5ee 100644
> --- a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
> +++ b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
> @@ -13,9 +13,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>  more details.
>  */
>  
> +#include <linux/bitops.h>
> +#include <linux/math.h>
> +
>  #include "ia_css_yuv444_io.host.h"
>  #include "dma.h"
> -#include "math_support.h"
>  #ifndef IA_CSS_NO_DEBUG
>  #include "ia_css_debug.h"
>  #endif
> @@ -29,9 +31,8 @@ int ia_css_yuv444_io_config(const struct ia_css_binary      *binary,
>  	const struct ia_css_frame **out_frames = (const struct ia_css_frame **)
>  		&args->out_frame;
>  	const struct ia_css_frame_info *in_frame_info = ia_css_frame_get_info(in_frame);
> -	const unsigned int ddr_bits_per_element = sizeof(short) * 8;
> -	const unsigned int ddr_elems_per_word = ceil_div(HIVE_ISP_DDR_WORD_BITS,
> -						ddr_bits_per_element);
> +	const unsigned int ddr_elems_per_word =
> +		DIV_ROUND_UP(HIVE_ISP_DDR_WORD_BITS, BITS_PER_TYPE(short));
>  	unsigned int size_get = 0, size_put = 0;
>  	unsigned int offset = 0;
>  	int ret;
> diff --git a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
> index b0f904a5e442..2ff522f7dec8 100644
> --- a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
> +++ b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
> @@ -328,7 +328,8 @@ ia_css_binary_dvs_grid_info(const struct ia_css_binary *binary,
>  
>  	dvs_info = &info->dvs_grid.dvs_grid_info;
>  
> -	/* for DIS, we use a division instead of a ceil_div. If this is smaller
> +	/*
> +	 * For DIS, we use a division instead of a DIV_ROUND_UP(). If this is smaller
>  	 * than the 3a grid size, it indicates that the outer values are not
>  	 * valid for DIS.
>  	 */
> diff --git a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
> index 52483498239d..2e0193671f4b 100644
> --- a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
> +++ b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
> @@ -13,6 +13,8 @@
>   * more details.
>   */
>  
> +#include <linux/bitops.h>
> +#include <linux/math.h>
>  #include <linux/string.h> /* for memcpy() */
>  
>  #include "system_global.h"
> @@ -20,7 +22,6 @@
>  
>  #include "ia_css_isys.h"
>  #include "ia_css_debug.h"
> -#include "math_support.h"
>  #include "virtual_isys.h"
>  #include "isp.h"
>  #include "sh_css_defs.h"
> @@ -558,7 +559,7 @@ static int32_t calculate_stride(
>  		bits_per_pixel = CEIL_MUL(bits_per_pixel, 8);
>  
>  	pixels_per_word = HIVE_ISP_DDR_WORD_BITS / bits_per_pixel;
> -	words_per_line  = ceil_div(pixels_per_line_padded, pixels_per_word);
> +	words_per_line  = DIV_ROUND_UP(pixels_per_line_padded, pixels_per_word);
>  	bytes_per_line  = HIVE_ISP_DDR_WORD_BYTES * words_per_line;
>  
>  	return bytes_per_line;
> @@ -690,7 +691,6 @@ static bool calculate_ibuf_ctrl_cfg(
>      const isp2401_input_system_cfg_t	*isys_cfg,
>      ibuf_ctrl_cfg_t			*cfg)
>  {
> -	const s32 bits_per_byte = 8;
>  	s32 bits_per_pixel;
>  	s32 bytes_per_pixel;
>  	s32 left_padding;
> @@ -698,7 +698,7 @@ static bool calculate_ibuf_ctrl_cfg(
>  	(void)input_port;
>  
>  	bits_per_pixel = isys_cfg->input_port_resolution.bits_per_pixel;
> -	bytes_per_pixel = ceil_div(bits_per_pixel, bits_per_byte);
> +	bytes_per_pixel = BITS_TO_BYTES(bits_per_pixel);
>  
>  	left_padding = CEIL_MUL(isys_cfg->output_port_attr.left_padding, ISP_VEC_NELEMS)
>  		       * bytes_per_pixel;
diff mbox series

Patch

diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h b/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
index 160c496784b7..907f9ebcc60d 100644
--- a/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
+++ b/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
@@ -28,12 +28,6 @@ 
 #define CEIL_SHIFT(a, b)     (((a) + (1 << (b)) - 1) >> (b))
 #define CEIL_SHIFT_MUL(a, b) (CEIL_SHIFT(a, b) << (b))
 
-#if !defined(PIPE_GENERATION)
-
-#define ceil_div(a, b)		(CEIL_DIV(a, b))
-
-#endif /* !defined(PIPE_GENERATION) */
-
 /*
  * For SP and ISP, SDK provides the definition of OP_std_modadd.
  * We need it only for host
diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
index 0091e2a3da52..c32659894c29 100644
--- a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
+++ b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
@@ -13,9 +13,11 @@ 
  * more details.
  */
 
+#include <linux/bitops.h>
+#include <linux/math.h>
+
 #include "ia_css_bayer_io.host.h"
 #include "dma.h"
-#include "math_support.h"
 #ifndef IA_CSS_NO_DEBUG
 #include "ia_css_debug.h"
 #endif
@@ -29,9 +31,8 @@  int ia_css_bayer_io_config(const struct ia_css_binary      *binary,
 	const struct ia_css_frame **out_frames = (const struct ia_css_frame **)
 		&args->out_frame;
 	const struct ia_css_frame_info *in_frame_info = ia_css_frame_get_info(in_frame);
-	const unsigned int ddr_bits_per_element = sizeof(short) * 8;
-	const unsigned int ddr_elems_per_word = ceil_div(HIVE_ISP_DDR_WORD_BITS,
-						ddr_bits_per_element);
+	const unsigned int ddr_elems_per_word =
+		DIV_ROUND_UP(HIVE_ISP_DDR_WORD_BITS, BITS_PER_TYPE(short));
 	unsigned int size_get = 0, size_put = 0;
 	unsigned int offset = 0;
 	int ret;
diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
index 32c504a950ce..5b2d5023b5ee 100644
--- a/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
+++ b/drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
@@ -13,9 +13,11 @@  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 more details.
 */
 
+#include <linux/bitops.h>
+#include <linux/math.h>
+
 #include "ia_css_yuv444_io.host.h"
 #include "dma.h"
-#include "math_support.h"
 #ifndef IA_CSS_NO_DEBUG
 #include "ia_css_debug.h"
 #endif
@@ -29,9 +31,8 @@  int ia_css_yuv444_io_config(const struct ia_css_binary      *binary,
 	const struct ia_css_frame **out_frames = (const struct ia_css_frame **)
 		&args->out_frame;
 	const struct ia_css_frame_info *in_frame_info = ia_css_frame_get_info(in_frame);
-	const unsigned int ddr_bits_per_element = sizeof(short) * 8;
-	const unsigned int ddr_elems_per_word = ceil_div(HIVE_ISP_DDR_WORD_BITS,
-						ddr_bits_per_element);
+	const unsigned int ddr_elems_per_word =
+		DIV_ROUND_UP(HIVE_ISP_DDR_WORD_BITS, BITS_PER_TYPE(short));
 	unsigned int size_get = 0, size_put = 0;
 	unsigned int offset = 0;
 	int ret;
diff --git a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
index b0f904a5e442..2ff522f7dec8 100644
--- a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
+++ b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
@@ -328,7 +328,8 @@  ia_css_binary_dvs_grid_info(const struct ia_css_binary *binary,
 
 	dvs_info = &info->dvs_grid.dvs_grid_info;
 
-	/* for DIS, we use a division instead of a ceil_div. If this is smaller
+	/*
+	 * For DIS, we use a division instead of a DIV_ROUND_UP(). If this is smaller
 	 * than the 3a grid size, it indicates that the outer values are not
 	 * valid for DIS.
 	 */
diff --git a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
index 52483498239d..2e0193671f4b 100644
--- a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
+++ b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
@@ -13,6 +13,8 @@ 
  * more details.
  */
 
+#include <linux/bitops.h>
+#include <linux/math.h>
 #include <linux/string.h> /* for memcpy() */
 
 #include "system_global.h"
@@ -20,7 +22,6 @@ 
 
 #include "ia_css_isys.h"
 #include "ia_css_debug.h"
-#include "math_support.h"
 #include "virtual_isys.h"
 #include "isp.h"
 #include "sh_css_defs.h"
@@ -558,7 +559,7 @@  static int32_t calculate_stride(
 		bits_per_pixel = CEIL_MUL(bits_per_pixel, 8);
 
 	pixels_per_word = HIVE_ISP_DDR_WORD_BITS / bits_per_pixel;
-	words_per_line  = ceil_div(pixels_per_line_padded, pixels_per_word);
+	words_per_line  = DIV_ROUND_UP(pixels_per_line_padded, pixels_per_word);
 	bytes_per_line  = HIVE_ISP_DDR_WORD_BYTES * words_per_line;
 
 	return bytes_per_line;
@@ -690,7 +691,6 @@  static bool calculate_ibuf_ctrl_cfg(
     const isp2401_input_system_cfg_t	*isys_cfg,
     ibuf_ctrl_cfg_t			*cfg)
 {
-	const s32 bits_per_byte = 8;
 	s32 bits_per_pixel;
 	s32 bytes_per_pixel;
 	s32 left_padding;
@@ -698,7 +698,7 @@  static bool calculate_ibuf_ctrl_cfg(
 	(void)input_port;
 
 	bits_per_pixel = isys_cfg->input_port_resolution.bits_per_pixel;
-	bytes_per_pixel = ceil_div(bits_per_pixel, bits_per_byte);
+	bytes_per_pixel = BITS_TO_BYTES(bits_per_pixel);
 
 	left_padding = CEIL_MUL(isys_cfg->output_port_attr.left_padding, ISP_VEC_NELEMS)
 		       * bytes_per_pixel;