From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63466C433DF for ; Fri, 14 Aug 2020 07:27:55 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EA05B20639 for ; Fri, 14 Aug 2020 07:27:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="DGb9sHNB"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="pz/JjDFr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EA05B20639 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Xw9/Rpps9TVjTPEFDfdaJhP62g7lQdIblG+DzljxXK0=; b=DGb9sHNBVcAQtzrhh9ao2C7gs VojB23uMrEoPZ2rmP1TXHWPB3aRJf07tMDW6wfcwKfh+EzpGPZW36k5gv0rtDW+lVg3WhAbAkuCGK NP9m19aahl4D1cldBpzkfMD6EJ+iTjcUXkWoQjxoSrPoL+gdS58JWRvrmnS7E9nLk0AYrhuMpHR+Z KR8M6V7eIpFnBXFwtWA+P8l9/TXAyyLsaUpU2T+mFcPSqtQRR1fk7to/iX4JKu80VreF4t87DCs9Z zrJy4lPNEB6ZmB8nDf35Yfa400dxx2pjhNUuszltpsVmWbe/pw9hU4rRiiUeOK9DVYtI/bpXoF44j X2qOC0cHQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U7o-0005x2-TU; Fri, 14 Aug 2020 07:27:40 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3u-0003N2-Fj; Fri, 14 Aug 2020 07:23:40 +0000 X-UUID: d0bdd9b8bab34203bb21f59aaa7fb208-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=/dg5C3FKQsCiarf1haqEJ1lyLt8qaoaRqSR02dgllkQ=; b=pz/JjDFryGJEOGJz/5yXyqkvg6z8uYb0uW4lNYAdr2Ym72OEjKB10qyotLzY/yDKt3t5tAbRSUO7qnhjlsPfnp9g4AncUwwnSLXaBMB5Ib/ITx1GWxdCXBqzq3B36dEsl9839pwcvFDiArfXqHQNFmyt7LTOEUf7oAW8T1Zt/CY=; X-UUID: d0bdd9b8bab34203bb21f59aaa7fb208-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1275356434; Thu, 13 Aug 2020 23:23:16 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:21 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:18 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:17 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 13/29] media: platform: Use generic rounding helpers Date: Fri, 14 Aug 2020 15:11:46 +0800 Message-ID: <20200814071202.25067-15-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032338_707628_15922CAD X-CRM114-Status: GOOD ( 16.59 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Use clamp() to replace mtk_jpeg_bound_align_image() and round() to replace mtk_jpeg_align(). Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: 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 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1288C433E1 for ; Fri, 14 Aug 2020 07:30:20 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 367E42074D for ; Fri, 14 Aug 2020 07:30:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JKR9UlNP"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="pz/JjDFr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 367E42074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=udBDCacsAJzyXczURGSx0YneO1t1bBuir8sg/R2aNvM=; b=JKR9UlNP51NzmTM7KlzBJYchW 6kJ/7K9NwkDWr+1nFB/jaea9CUfw2tGDIOUXKGI01Lz5evQEwGgvZumBrWx+lC0ikQkBvuK+Zl2lU 5zomwH6aYxQU/IQm3DLMez4AFMBJMzFX3kuO62vwBdoEDR4dUtVU+eeZkId1PYKY7qIJ+UioTp+ct XjoWb7v8djDvmZ1a6Qj1iWamlocM13E30JW2p++tQkgLHSD2c8J+qfefnK2hyw8yyKaFr2TSOkVXG RrbQ6DBv+993c/cHKdN2zCX910AhSMyowZzgx5RqFtXGAhiDOnib82SA6SetecV8XWqWsuuLsy5NJ j+Y5wesSQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U8I-0006Lc-Ot; Fri, 14 Aug 2020 07:28:10 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3u-0003N2-Fj; Fri, 14 Aug 2020 07:23:40 +0000 X-UUID: d0bdd9b8bab34203bb21f59aaa7fb208-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=/dg5C3FKQsCiarf1haqEJ1lyLt8qaoaRqSR02dgllkQ=; b=pz/JjDFryGJEOGJz/5yXyqkvg6z8uYb0uW4lNYAdr2Ym72OEjKB10qyotLzY/yDKt3t5tAbRSUO7qnhjlsPfnp9g4AncUwwnSLXaBMB5Ib/ITx1GWxdCXBqzq3B36dEsl9839pwcvFDiArfXqHQNFmyt7LTOEUf7oAW8T1Zt/CY=; X-UUID: d0bdd9b8bab34203bb21f59aaa7fb208-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1275356434; Thu, 13 Aug 2020 23:23:16 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:21 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:18 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:17 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 13/29] media: platform: Use generic rounding helpers Date: Fri, 14 Aug 2020 15:11:46 +0800 Message-ID: <20200814071202.25067-15-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032338_707628_15922CAD X-CRM114-Status: GOOD ( 16.59 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use clamp() to replace mtk_jpeg_bound_align_image() and round() to replace mtk_jpeg_align(). Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9631C433DF for ; Fri, 14 Aug 2020 07:14:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9BB5E20708 for ; Fri, 14 Aug 2020 07:14:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="b0L0WXop" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726811AbgHNHN2 (ORCPT ); Fri, 14 Aug 2020 03:13:28 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:37277 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726747AbgHNHN1 (ORCPT ); Fri, 14 Aug 2020 03:13:27 -0400 X-UUID: 1e5daf667fb347b78d7527728f764c30-20200814 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=/dg5C3FKQsCiarf1haqEJ1lyLt8qaoaRqSR02dgllkQ=; b=b0L0WXopYVB6NGznAYbN+vy0CMgLKVyGDiE+u3RnatXXisE/K8e8aVzU4DTywav3R1mAAEGRXl1duUMx5ntp1O9Om0CoIjA/RIbtsCKSmXsOPb/toHRbRoYUHEHtDFIbJzK+rkhdBSgUmBU9iDDXHTYbOT4gHjct/vp9/75AVoo=; X-UUID: 1e5daf667fb347b78d7527728f764c30-20200814 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 60872578; Fri, 14 Aug 2020 15:13:20 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:18 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:17 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Xia Jiang Subject: [PATCH v12 13/29] media: platform: Use generic rounding helpers Date: Fri, 14 Aug 2020 15:11:46 +0800 Message-ID: <20200814071202.25067-15-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org VXNlIGNsYW1wKCkgdG8gcmVwbGFjZSBtdGtfanBlZ19ib3VuZF9hbGlnbl9pbWFnZSgpIGFuZCBy b3VuZCgpIHRvDQpyZXBsYWNlIG10a19qcGVnX2FsaWduKCkuDQoNClJldmlld2VkLWJ5OiBUb21h c3ogRmlnYSA8dGZpZ2FAY2hyb21pdW0ub3JnPg0KU2lnbmVkLW9mZi1ieTogWGlhIEppYW5nIDx4 aWEuamlhbmdAbWVkaWF0ZWsuY29tPg0KLS0tDQp2MTI6IG5vIGNoYW5nZXMNCi0tLQ0KIC4uLi9t ZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMgICB8IDQxICsrKysrLS0tLS0t LS0tLS0tLS0NCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2h3LmMg fCAgOCArKy0tDQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19ody5o IHwgIDUgLS0tDQogMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlv bnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRr X2pwZWdfY29yZS5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19j b3JlLmMNCmluZGV4IDAxNTNkNTdhZjQ2Ni4uOTgwNTAwYmUwMjdiIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMNCisrKyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jDQpAQCAtMTUxLDI1ICsx NTEsNiBAQCBzdGF0aWMgc3RydWN0IG10a19qcGVnX2ZtdCAqbXRrX2pwZWdfZmluZF9mb3JtYXQo c3RydWN0IG10a19qcGVnX2N0eCAqY3R4LA0KIAlyZXR1cm4gTlVMTDsNCiB9DQogDQotc3RhdGlj IHZvaWQgbXRrX2pwZWdfYm91bmRfYWxpZ25faW1hZ2UodTMyICp3LCB1bnNpZ25lZCBpbnQgd21p biwNCi0JCQkJICAgICAgIHVuc2lnbmVkIGludCB3bWF4LCB1bnNpZ25lZCBpbnQgd2FsaWduLA0K LQkJCQkgICAgICAgdTMyICpoLCB1bnNpZ25lZCBpbnQgaG1pbiwNCi0JCQkJICAgICAgIHVuc2ln bmVkIGludCBobWF4LCB1bnNpZ25lZCBpbnQgaGFsaWduKQ0KLXsNCi0JaW50IHdpZHRoLCBoZWln aHQsIHdfc3RlcCwgaF9zdGVwOw0KLQ0KLQl3aWR0aCA9ICp3Ow0KLQloZWlnaHQgPSAqaDsNCi0J d19zdGVwID0gMSA8PCB3YWxpZ247DQotCWhfc3RlcCA9IDEgPDwgaGFsaWduOw0KLQ0KLQl2NGxf Ym91bmRfYWxpZ25faW1hZ2Uodywgd21pbiwgd21heCwgd2FsaWduLCBoLCBobWluLCBobWF4LCBo YWxpZ24sIDApOw0KLQlpZiAoKncgPCB3aWR0aCAmJiAoKncgKyB3X3N0ZXApIDw9IHdtYXgpDQot CQkqdyArPSB3X3N0ZXA7DQotCWlmICgqaCA8IGhlaWdodCAmJiAoKmggKyBoX3N0ZXApIDw9IGht YXgpDQotCQkqaCArPSBoX3N0ZXA7DQotfQ0KLQ0KIHN0YXRpYyB2b2lkIG10a19qcGVnX2FkanVz dF9mbXRfbXBsYW5lKHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwNCiAJCQkJICAgICAgIHN0cnVj dCB2NGwyX2Zvcm1hdCAqZikNCiB7DQpAQCAtMjExLDI0ICsxOTIsMjQgQEAgc3RhdGljIGludCBt dGtfanBlZ190cnlfZm10X21wbGFuZShzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYsDQogCWlmIChxX3R5 cGUgPT0gTVRLX0pQRUdfRk1UX1RZUEVfT1VUUFVUKSB7DQogCQlzdHJ1Y3QgdjRsMl9wbGFuZV9w aXhfZm9ybWF0ICpwZm10ID0gJnBpeF9tcC0+cGxhbmVfZm10WzBdOw0KIA0KLQkJbXRrX2pwZWdf Ym91bmRfYWxpZ25faW1hZ2UoJnBpeF9tcC0+d2lkdGgsIE1US19KUEVHX01JTl9XSURUSCwNCi0J CQkJCSAgIE1US19KUEVHX01BWF9XSURUSCwgMCwNCi0JCQkJCSAgICZwaXhfbXAtPmhlaWdodCwg TVRLX0pQRUdfTUlOX0hFSUdIVCwNCi0JCQkJCSAgIE1US19KUEVHX01BWF9IRUlHSFQsIDApOw0K KwkJcGl4X21wLT5oZWlnaHQgPSBjbGFtcChwaXhfbXAtPmhlaWdodCwgTVRLX0pQRUdfTUlOX0hF SUdIVCwNCisJCQkJICAgICAgIE1US19KUEVHX01BWF9IRUlHSFQpOw0KKwkJcGl4X21wLT53aWR0 aCA9IGNsYW1wKHBpeF9tcC0+d2lkdGgsIE1US19KUEVHX01JTl9XSURUSCwNCisJCQkJICAgICAg TVRLX0pQRUdfTUFYX1dJRFRIKTsNCiANCiAJCXBmbXQtPmJ5dGVzcGVybGluZSA9IDA7DQogCQkv KiBTb3VyY2Ugc2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gMTI4ICovDQotCQlwZm10LT5zaXplaW1h Z2UgPSBtdGtfanBlZ19hbGlnbihwZm10LT5zaXplaW1hZ2UsIDEyOCk7DQorCQlwZm10LT5zaXpl aW1hZ2UgPSByb3VuZF91cChwZm10LT5zaXplaW1hZ2UsIDEyOCk7DQogCQlpZiAocGZtdC0+c2l6 ZWltYWdlID09IDApDQogCQkJcGZtdC0+c2l6ZWltYWdlID0gTVRLX0pQRUdfREVGQVVMVF9TSVpF SU1BR0U7DQogCQlnb3RvIGVuZDsNCiAJfQ0KIA0KIAkvKiB0eXBlIGlzIE1US19KUEVHX0ZNVF9U WVBFX0NBUFRVUkUgKi8NCi0JbXRrX2pwZWdfYm91bmRfYWxpZ25faW1hZ2UoJnBpeF9tcC0+d2lk dGgsIE1US19KUEVHX01JTl9XSURUSCwNCi0JCQkJICAgTVRLX0pQRUdfTUFYX1dJRFRILCBmbXQt PmhfYWxpZ24sDQotCQkJCSAgICZwaXhfbXAtPmhlaWdodCwgTVRLX0pQRUdfTUlOX0hFSUdIVCwN Ci0JCQkJICAgTVRLX0pQRUdfTUFYX0hFSUdIVCwgZm10LT52X2FsaWduKTsNCisJcGl4X21wLT5o ZWlnaHQgPSBjbGFtcChyb3VuZF91cChwaXhfbXAtPmhlaWdodCwgZm10LT52X2FsaWduKSwNCisJ CQkgICAgICAgTVRLX0pQRUdfTUlOX0hFSUdIVCwgTVRLX0pQRUdfTUFYX0hFSUdIVCk7DQorCXBp eF9tcC0+d2lkdGggPSBjbGFtcChyb3VuZF91cChwaXhfbXAtPndpZHRoLCBmbXQtPmhfYWxpZ24p LA0KKwkJCSAgICAgIE1US19KUEVHX01JTl9XSURUSCwgTVRLX0pQRUdfTUFYX1dJRFRIKTsNCiAN CiAJZm9yIChpID0gMDsgaSA8IGZtdC0+Y29scGxhbmVzOyBpKyspIHsNCiAJCXN0cnVjdCB2NGwy X3BsYW5lX3BpeF9mb3JtYXQgKnBmbXQgPSAmcGl4X21wLT5wbGFuZV9mbXRbaV07DQpAQCAtNzEx LDggKzY5Miw4IEBAIHN0YXRpYyB2b2lkIG10a19qcGVnX3NldF9kZWNfc3JjKHN0cnVjdCBtdGtf anBlZ19jdHggKmN0eCwNCiB7DQogCWJzLT5zdHJfYWRkciA9IHZiMl9kbWFfY29udGlnX3BsYW5l X2RtYV9hZGRyKHNyY19idWYsIDApOw0KIAlicy0+ZW5kX2FkZHIgPSBicy0+c3RyX2FkZHIgKw0K LQkJCSBtdGtfanBlZ19hbGlnbih2YjJfZ2V0X3BsYW5lX3BheWxvYWQoc3JjX2J1ZiwgMCksIDE2 KTsNCi0JYnMtPnNpemUgPSBtdGtfanBlZ19hbGlnbih2YjJfcGxhbmVfc2l6ZShzcmNfYnVmLCAw KSwgMTI4KTsNCisJCSAgICAgICByb3VuZF91cCh2YjJfZ2V0X3BsYW5lX3BheWxvYWQoc3JjX2J1 ZiwgMCksIDE2KTsNCisJYnMtPnNpemUgPSByb3VuZF91cCh2YjJfcGxhbmVfc2l6ZShzcmNfYnVm LCAwKSwgMTI4KTsNCiB9DQogDQogc3RhdGljIGludCBtdGtfanBlZ19zZXRfZGVjX2RzdChzdHJ1 Y3QgbXRrX2pwZWdfY3R4ICpjdHgsDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstanBlZy9tdGtfanBlZ19ody5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBl Zy9tdGtfanBlZ19ody5jDQppbmRleCBkZGYwZGZhNzhlMjAuLjY4YWJjZmQ3NDk0ZCAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfaHcuYw0KKysr IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19ody5jDQpAQCAtMTUz LDEwICsxNTMsMTAgQEAgc3RhdGljIGludCBtdGtfanBlZ19jYWxjX2RzdF9zaXplKHN0cnVjdCBt dGtfanBlZ19kZWNfcGFyYW0gKnBhcmFtKQ0KIAkJCQlwYXJhbS0+c2FtcGxpbmdfd1tpXTsNCiAJ CS8qIG91dHB1dCBmb3JtYXQgaXMgNDIwLzQyMiAqLw0KIAkJcGFyYW0tPmNvbXBfd1tpXSA9IHBh ZGRpbmdfdyA+PiBicnpfd1tpXTsNCi0JCXBhcmFtLT5jb21wX3dbaV0gPSBtdGtfanBlZ19hbGln bihwYXJhbS0+Y29tcF93W2ldLA0KLQkJCQkJCSAgTVRLX0pQRUdfRENUU0laRSk7DQotCQlwYXJh bS0+aW1nX3N0cmlkZVtpXSA9IGkgPyBtdGtfanBlZ19hbGlnbihwYXJhbS0+Y29tcF93W2ldLCAx NikNCi0JCQkJCTogbXRrX2pwZWdfYWxpZ24ocGFyYW0tPmNvbXBfd1tpXSwgMzIpOw0KKwkJcGFy YW0tPmNvbXBfd1tpXSA9IHJvdW5kX3VwKHBhcmFtLT5jb21wX3dbaV0sDQorCQkJCQkgICAgTVRL X0pQRUdfRENUU0laRSk7DQorCQlwYXJhbS0+aW1nX3N0cmlkZVtpXSA9IGkgPyByb3VuZF91cChw YXJhbS0+Y29tcF93W2ldLCAxNikNCisJCQkJCTogcm91bmRfdXAocGFyYW0tPmNvbXBfd1tpXSwg MzIpOw0KIAkJZHNfcm93X2hbaV0gPSAoTVRLX0pQRUdfRENUU0laRSAqIHBhcmFtLT5zYW1wbGlu Z19oW2ldKTsNCiAJfQ0KIAlwYXJhbS0+ZGVjX3cgPSBwYXJhbS0+aW1nX3N0cmlkZVswXTsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2h3Lmgg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2h3LmgNCmluZGV4IDlj NjU4NGVhYWQ5OS4uN2IwNjg3ZjhmNGI2IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstanBlZy9tdGtfanBlZ19ody5oDQorKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1qcGVnL210a19qcGVnX2h3LmgNCkBAIC01NCwxMSArNTQsNiBAQCBzdHJ1Y3QgbXRrX2pw ZWdfZGVjX3BhcmFtIHsNCiAJdTggdXZfYnJ6X3c7DQogfTsNCiANCi1zdGF0aWMgaW5saW5lIHUz MiBtdGtfanBlZ19hbGlnbih1MzIgdmFsLCB1MzIgYWxpZ24pDQotew0KLQlyZXR1cm4gKHZhbCAr IGFsaWduIC0gMSkgJiB+KGFsaWduIC0gMSk7DQotfQ0KLQ0KIHN0cnVjdCBtdGtfanBlZ19icyB7 DQogCWRtYV9hZGRyX3QJc3RyX2FkZHI7DQogCWRtYV9hZGRyX3QJZW5kX2FkZHI7DQotLSANCjIu MTguMA0K