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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 296A7C43334 for ; Fri, 1 Jul 2022 05:54:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/dsv+xlyGV8t66/xLViQ/5ibzN8Yd9AzEn+ZN5VUrMU=; b=NT3b98jfdacWQFUIGkPR65kafM YAftZA0Yp5JcguroWeLZvEroHizOtGCkwXj4wTc3v8ogmvWbCgLhqQbN9bPuFekQ2Oza3cPU8LB9+ 7ioChyFDkIuNndk1f5BbDKZ4paBZ0E6zi2xZL5jbRcsJI0SvMs8w4ogL8IJuQ3E49C6uiGD0cpbEq Z83aPLgayD5GJ+IzvC36No0jBQJd/3hyeIZ5m9/V3kkB4ao43zN/i8z2q6dH6tDI2GDv3dups429f bu6rkew1aRWibxnSZmNswgGqn+i5ZS4D3nJYdn5UbivdpQYKLZSeQAo3TTCA3ofLWyqsYizGRC33+ 60oIN29g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o79bD-0033sL-MY; Fri, 01 Jul 2022 05:53:51 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o79bB-0033rJ-Ac for linux-rockchip@lists.infradead.org; Fri, 01 Jul 2022 05:53:50 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 79BD75C012D; Fri, 1 Jul 2022 01:53:48 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 01 Jul 2022 01:53:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm2; t=1656654828; x=1656741228; bh=YdyiHbTjnF GVOaDIysYjuAx9ZFjuPXKcWo4G2dbd+GU=; b=KLgjrv/WbxeQzZAtQV5pGeT9oY CI/BMBZWwdBqfk3CXZcD/CXLvhZkQZ8OqIFQSFqVKWY0MlHZeZ9GPfhCF9HgFsDO uK/2uVUmpXYbL7zDR++c/EXhBXwsdqzs1Ors/VISi9MrJ+yFNzPUDCr8lKy2+67H AJYyLjBPk/paHbWPMj60dOQmkenkALuJ4V0MlXgupFqVKawlMEbLYx9/ZVU8qEBV eXVt38+IfPMDQ0wDOlXm5heRijXAP+pxEYMAnljamIT65RVIg52kP9uZ9lapbtRe zIv87EfL3NQaIgAGacLMTSl90UJZlM38ISIH0EFa04xShsyi59PvzJ3fuHmw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1656654828; x=1656741228; bh=YdyiHbTjnFGVOaDIysYjuAx9ZFju PXKcWo4G2dbd+GU=; b=Ct1UxUFLMwPYmG4ycQ1GzeglfPmMpUfk1JwNpV7Y6dVT P7KMig6Q+V4n5LBrZPLtj+Jcpv/X1KQyYQAX1K6dAZqAXgEfWKb4ugujJNxmUn58 iDpM2Q53du1mAYm8aApkfKEQikaeFwusk3F6j3Ytlh56w2suXhmgzDs7eeObZvzu BUMEjGyetBZOgx4Q2XWPi2XxdegHNQE+dOoCzQ3bWClt4NNoz5Ow4yxs7eJU+K8v 7TcgPHs05d+VGRL69pia5XCxhohcYcTlIwAXe+WvqYf7JewwXBEC6A6RzCy0Y99K OhQxqinty0FXKOYGNvTE+2v9dA1vj3CmkiVQNLy7zA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudehvddguddtgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvvefukfhfgggtuggjsehttdertddttdejnecuhfhrohhmpeffrghf nhgrucfjihhrshgthhhfvghlugcuoegurghfnhgrsehfrghsthhmrghilhdrtghomheqne cuggftrfgrthhtvghrnhepvdehtdeludekgeevleefuedvudejieetheekvdfhteekffdu jefhfedtudehvdeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepuggrfhhnrgesfhgrshhtmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i0e894699:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 1 Jul 2022 01:53:45 -0400 (EDT) Date: Fri, 1 Jul 2022 08:53:42 +0300 From: Dafna Hirschfeld To: Laurent Pinchart Cc: Paul Elder , linux-media@vger.kernel.org, heiko@sntech.de, jeanmichel.hautbois@ideasonboard.com, jacopo@jmondi.org, djrscally@gmail.com, helen.koike@collabora.com, linux-rockchip@lists.infradead.org Subject: Re: [PATCH 53/55] media: rkisp1: Shift DMA buffer addresses on i.MX8MP Message-ID: <20220701055342.ryvwbfltt5eemysg@guri> References: <20220614191127.3420492-1-paul.elder@ideasonboard.com> <20220614191127.3420492-54-paul.elder@ideasonboard.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220630_225349_479850_4D3CC253 X-CRM114-Status: GOOD ( 20.18 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org On 26.06.2022 14:38, Laurent Pinchart wrote: >Hi Paul, > >Thank you for the patch. > >On Wed, Jun 15, 2022 at 04:11:25AM +0900, Paul Elder wrote: >> On the ISP that is integrated in the i.MX8MP, the DMA base addresses are >> encoded in 34-bit. Shift them to the left by 2 bits so that they can be > >I think you meant right, not left. > >> contained in 32 bits. > >The important part here is that this is how the address is encoded in >the hardware. I suppose it's obvious, otherwise it woudln't work at all, >but maybe it could be explained more explicitly ? > >On the ISP that is integrated in the i.MX8MP, DMA addresses have been >extended to 34 bits, with the 32 MSBs stored in the DMA address >registers and the 2 LSBs set to 0. Shift the buffer addresses right by 2 >on that platform. If the 32 MSB are all stored in the in the dma address then why do we need to shift? > >> Signed-off-by: Paul Elder > >Reviewed-by: Laurent Pinchart > >> --- >> .../platform/rockchip/rkisp1/rkisp1-capture.c | 19 +++++++++++-------- >> .../platform/rockchip/rkisp1/rkisp1-common.h | 1 + >> .../platform/rockchip/rkisp1/rkisp1-dev.c | 3 ++- >> 3 files changed, 14 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >> index 35cec263c563..234b1f8488cb 100644 >> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c >> @@ -624,6 +624,9 @@ static void rkisp1_dummy_buf_destroy(struct rkisp1_capture *cap) >> >> static void rkisp1_set_next_buf(struct rkisp1_capture *cap) >> { >> + u8 shift = cap->rkisp1->info->features & RKISP1_FEATURE_DMA_34BIT ? >> + 2 : 0; >> + >> cap->buf.curr = cap->buf.next; >> cap->buf.next = NULL; >> >> @@ -636,7 +639,7 @@ static void rkisp1_set_next_buf(struct rkisp1_capture *cap) >> buff_addr = cap->buf.next->buff_addr; >> >> rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init, >> - buff_addr[RKISP1_PLANE_Y]); >> + buff_addr[RKISP1_PLANE_Y] >> shift); >> /* >> * In order to support grey format we capture >> * YUV422 planar format from the camera and >> @@ -645,17 +648,17 @@ static void rkisp1_set_next_buf(struct rkisp1_capture *cap) >> if (cap->pix.cfg->fourcc == V4L2_PIX_FMT_GREY) { >> rkisp1_write(cap->rkisp1, >> cap->config->mi.cb_base_ad_init, >> - cap->buf.dummy.dma_addr); >> + cap->buf.dummy.dma_addr >> shift); >> rkisp1_write(cap->rkisp1, >> cap->config->mi.cr_base_ad_init, >> - cap->buf.dummy.dma_addr); >> + cap->buf.dummy.dma_addr >> shift); >> } else { >> rkisp1_write(cap->rkisp1, >> cap->config->mi.cb_base_ad_init, >> - buff_addr[RKISP1_PLANE_CB]); >> + buff_addr[RKISP1_PLANE_CB] >> shift); >> rkisp1_write(cap->rkisp1, >> cap->config->mi.cr_base_ad_init, >> - buff_addr[RKISP1_PLANE_CR]); >> + buff_addr[RKISP1_PLANE_CR] >> shift); >> } >> } else { >> /* >> @@ -663,11 +666,11 @@ static void rkisp1_set_next_buf(struct rkisp1_capture *cap) >> * throw data if there is no available buffer. >> */ >> rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init, >> - cap->buf.dummy.dma_addr); >> + cap->buf.dummy.dma_addr >> shift); >> rkisp1_write(cap->rkisp1, cap->config->mi.cb_base_ad_init, >> - cap->buf.dummy.dma_addr); >> + cap->buf.dummy.dma_addr >> shift); >> rkisp1_write(cap->rkisp1, cap->config->mi.cr_base_ad_init, >> - cap->buf.dummy.dma_addr); >> + cap->buf.dummy.dma_addr >> shift); >> } >> >> /* Set plane offsets */ >> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h >> index 96657e55a5b0..0b834579d08c 100644 >> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h >> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h >> @@ -113,6 +113,7 @@ enum rkisp1_feature { >> RKISP1_FEATURE_DUAL_CROP = BIT(1), >> RKISP1_FEATURE_RSZ_CROP = BIT(2), >> RKISP1_FEATURE_MAIN_STRIDE = BIT(3), >> + RKISP1_FEATURE_DMA_34BIT = BIT(4), doc this field thanks, Dafna >> }; >> >> /* >> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c >> index d68a805e8b6b..4c77aa2bc50a 100644 >> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c >> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c >> @@ -506,7 +506,8 @@ static const struct rkisp1_info imx8mp_isp_info = { >> .isr_size = ARRAY_SIZE(imx8mp_isp_isrs), >> .isp_ver = IMX8MP_V10, >> .features = RKISP1_FEATURE_RSZ_CROP >> - | RKISP1_FEATURE_MAIN_STRIDE, >> + | RKISP1_FEATURE_MAIN_STRIDE >> + | RKISP1_FEATURE_DMA_34BIT, >> }; >> >> static const struct of_device_id rkisp1_of_match[] = { > >-- >Regards, > >Laurent Pinchart _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip