Use clamp() to replace mtk_jpeg_bound_align_image() and round() to
replace mtk_jpeg_align().

Reviewed-by: Tomasz Figa <tf...@chromium.org>
Signed-off-by: Xia Jiang <xia.ji...@mediatek.com>
---
v11: no changes
---
 .../media/platform/mtk-jpeg/mtk_jpeg_core.c   | 41 +++++--------------
 drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.c |  8 ++--
 drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.h |  5 ---
 3 files changed, 15 insertions(+), 39 deletions(-)

diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c 
b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c
index 0153d57af466..980500be027b 100644
--- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c
+++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c
@@ -151,25 +151,6 @@ static struct mtk_jpeg_fmt *mtk_jpeg_find_format(struct 
mtk_jpeg_ctx *ctx,
        return NULL;
 }
 
-static void mtk_jpeg_bound_align_image(u32 *w, unsigned int wmin,
-                                      unsigned int wmax, unsigned int walign,
-                                      u32 *h, unsigned int hmin,
-                                      unsigned int hmax, unsigned int halign)
-{
-       int width, height, w_step, h_step;
-
-       width = *w;
-       height = *h;
-       w_step = 1 << walign;
-       h_step = 1 << halign;
-
-       v4l_bound_align_image(w, wmin, wmax, walign, h, hmin, hmax, halign, 0);
-       if (*w < width && (*w + w_step) <= wmax)
-               *w += w_step;
-       if (*h < height && (*h + h_step) <= hmax)
-               *h += h_step;
-}
-
 static void mtk_jpeg_adjust_fmt_mplane(struct mtk_jpeg_ctx *ctx,
                                       struct v4l2_format *f)
 {
@@ -211,24 +192,24 @@ static int mtk_jpeg_try_fmt_mplane(struct v4l2_format *f,
        if (q_type == MTK_JPEG_FMT_TYPE_OUTPUT) {
                struct v4l2_plane_pix_format *pfmt = &pix_mp->plane_fmt[0];
 
-               mtk_jpeg_bound_align_image(&pix_mp->width, MTK_JPEG_MIN_WIDTH,
-                                          MTK_JPEG_MAX_WIDTH, 0,
-                                          &pix_mp->height, MTK_JPEG_MIN_HEIGHT,
-                                          MTK_JPEG_MAX_HEIGHT, 0);
+               pix_mp->height = clamp(pix_mp->height, MTK_JPEG_MIN_HEIGHT,
+                                      MTK_JPEG_MAX_HEIGHT);
+               pix_mp->width = clamp(pix_mp->width, MTK_JPEG_MIN_WIDTH,
+                                     MTK_JPEG_MAX_WIDTH);
 
                pfmt->bytesperline = 0;
                /* Source size must be aligned to 128 */
-               pfmt->sizeimage = mtk_jpeg_align(pfmt->sizeimage, 128);
+               pfmt->sizeimage = round_up(pfmt->sizeimage, 128);
                if (pfmt->sizeimage == 0)
                        pfmt->sizeimage = MTK_JPEG_DEFAULT_SIZEIMAGE;
                goto end;
        }
 
        /* type is MTK_JPEG_FMT_TYPE_CAPTURE */
-       mtk_jpeg_bound_align_image(&pix_mp->width, MTK_JPEG_MIN_WIDTH,
-                                  MTK_JPEG_MAX_WIDTH, fmt->h_align,
-                                  &pix_mp->height, MTK_JPEG_MIN_HEIGHT,
-                                  MTK_JPEG_MAX_HEIGHT, fmt->v_align);
+       pix_mp->height = clamp(round_up(pix_mp->height, fmt->v_align),
+                              MTK_JPEG_MIN_HEIGHT, MTK_JPEG_MAX_HEIGHT);
+       pix_mp->width = clamp(round_up(pix_mp->width, fmt->h_align),
+                             MTK_JPEG_MIN_WIDTH, MTK_JPEG_MAX_WIDTH);
 
        for (i = 0; i < fmt->colplanes; i++) {
                struct v4l2_plane_pix_format *pfmt = &pix_mp->plane_fmt[i];
@@ -711,8 +692,8 @@ static void mtk_jpeg_set_dec_src(struct mtk_jpeg_ctx *ctx,
 {
        bs->str_addr = vb2_dma_contig_plane_dma_addr(src_buf, 0);
        bs->end_addr = bs->str_addr +
-                        mtk_jpeg_align(vb2_get_plane_payload(src_buf, 0), 16);
-       bs->size = mtk_jpeg_align(vb2_plane_size(src_buf, 0), 128);
+                      round_up(vb2_get_plane_payload(src_buf, 0), 16);
+       bs->size = round_up(vb2_plane_size(src_buf, 0), 128);
 }
 
 static int mtk_jpeg_set_dec_dst(struct mtk_jpeg_ctx *ctx,
diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.c 
b/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.c
index ddf0dfa78e20..68abcfd7494d 100644
--- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.c
+++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.c
@@ -153,10 +153,10 @@ static int mtk_jpeg_calc_dst_size(struct 
mtk_jpeg_dec_param *param)
                                param->sampling_w[i];
                /* output format is 420/422 */
                param->comp_w[i] = padding_w >> brz_w[i];
-               param->comp_w[i] = mtk_jpeg_align(param->comp_w[i],
-                                                 MTK_JPEG_DCTSIZE);
-               param->img_stride[i] = i ? mtk_jpeg_align(param->comp_w[i], 16)
-                                       : mtk_jpeg_align(param->comp_w[i], 32);
+               param->comp_w[i] = round_up(param->comp_w[i],
+                                           MTK_JPEG_DCTSIZE);
+               param->img_stride[i] = i ? round_up(param->comp_w[i], 16)
+                                       : round_up(param->comp_w[i], 32);
                ds_row_h[i] = (MTK_JPEG_DCTSIZE * param->sampling_h[i]);
        }
        param->dec_w = param->img_stride[0];
diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.h 
b/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.h
index 9c6584eaad99..7b0687f8f4b6 100644
--- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.h
+++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_hw.h
@@ -54,11 +54,6 @@ struct mtk_jpeg_dec_param {
        u8 uv_brz_w;
 };
 
-static inline u32 mtk_jpeg_align(u32 val, u32 align)
-{
-       return (val + align - 1) & ~(align - 1);
-}
-
 struct mtk_jpeg_bs {
        dma_addr_t      str_addr;
        dma_addr_t      end_addr;
-- 
2.18.0

Reply via email to