From patchwork Wed Sep 14 11:58:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dorota Czaplejewicz X-Patchwork-Id: 12976064 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 E6FC5ECAAD3 for ; Wed, 14 Sep 2022 11:59:54 +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: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: MIME-Version:Message-ID:Subject:To:From:Date:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=9bYJosat0rmGBKC7PjVsR1N7Z8sqvvH6wWwA8HhVsIk=; b=yWk j3P2pX3AFz1tRwu5jPEUYvne7QhA1xyQ37naljhGFZn+xAWLqXK5lFQg0EzpruvshdhQhMyuZYFEI 0OxmJxKcr5otz0f14TFTD1nBanwzcNBVw+PUXI5p16mmq+vwRZK9hBGrr58cp7MSk61mgOt/X/4XH 6gWhllBUnOWBotjBcJtb/Lsr3K3ohwFbDZPVNeew7mu7YyHPPDdcvIr+9gpzwEn9M3VNvrecfWX5D PirjUUjc4+28t4wB8rpD78/cKYjmflWvVdHw0A7xse8L72oqaEOVKzoefeDvp3BTa1AYqyn9VidFy YRUBIp++eUIqHqTg1ItUS243fIdaKGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYR2Y-00Gbgn-FV; Wed, 14 Sep 2022 11:58:50 +0000 Received: from comms.puri.sm ([159.203.221.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYR2F-00GbNO-Eg for linux-arm-kernel@lists.infradead.org; Wed, 14 Sep 2022 11:58:33 +0000 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 57730E0FB7; Wed, 14 Sep 2022 04:58:31 -0700 (PDT) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d7N0A5w4eyZy; Wed, 14 Sep 2022 04:58:30 -0700 (PDT) Date: Wed, 14 Sep 2022 13:58:08 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1663156710; bh=lBd6GXJ3wPOnH/QiUaG6oifUeJRoTS3Bd9+aDFujht4=; h=Date:From:To:Subject:From; b=k3aQV+q7sa6uuCqXsGWxJRNGDd92fJpaIOKgsu0g7LGup2RvsS2SkJo7jK28YhWyi APho/OdYnxPUpRuSCvze7Pwds9g++2EqGfRJkjquLpmpBwBBSMippT5LwQrJNi/xFm 34ZLLIM1EQoAdiLPfILt2zH/c8OOY46UqRxxT9PXMm5nCJ96+WLalJc2bDN6oJMZ6F 8gtjzK9mZdbukvI1rvr2MHpAe+Z04lwUxSPkWlgqedFDkCYOdw2jCqTYNUCt9Be9KW UGQzrREsWdNJJJn8I7oOaq/AQF+EHs41YdDgkXG8xC+40gGxCipN4i9unkVOK1eLdm z+lSUdi06cf7A== From: Dorota Czaplejewicz To: Steve Longerbeam , Philipp Zabel , Mauro Carvalho Chehab , Greg Kroah-Hartman , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@puri.sm, phone-devel@vger.kernel.org Subject: [PATCH 1/2] media: imx: Round line size to 4 bytes Message-ID: <20220914113436.1503790-1-dorota.czaplejewicz@puri.sm> Organization: Purism MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220914_045831_523388_875FE865 X-CRM114-Status: GOOD ( 20.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This has been broken in e352833d, which does not actually copy the logic from 056f9af9. Section 13.7.6.13 "CSI Image Parameter Register" of the i.MX 8M Quad Applications Processors Reference Manual states that the line size should be divisible by 8 bytes. However, the hardware also accepts sizes divisible by 4 bytes. This patch accepts line sizes divisible 4-bytes in non-planar mode. Signed-off-by: Dorota Czaplejewicz --- Hi, in recent kernels, I've noticed that the Librem 5 camera driver no longer works. The s5k3l6xx out of tree sensor driver uses sizes divisible by 4 and not by 8, for which I submitted the patch 056f9af9 . The new kernels no longer accept sizes divisible by 4. I tracked down the source: previously, the video device on the imx8m used imx_media_mbus_fmt_to_pix_fmt. e352833d introduced imx7_csi_mbus_fmt_to_pix_fmt, which is what is used now exclusively. However, imx7_csi_mbus_fmt_to_pix_fmt *does not* contain the same logic, and does not provide an explanation why the logic is different. I don't know why the "imx_*" is not used any more on the i.MX8M SoC, but I presume that "imx7_*" is the correct code path. That indicates that "imx_*" is *not* the correct code for this SoC. Under those assumptions, I added the relaxed rounding to the "imx7_*" function, to match what the SoC can do (patch 1). I also reverted my original patch (patch 2), because if "imx7_*" is the correct function for my SoC, then I had never intended to mess with whatever other SoC is handled by the "imx_" function. Cheers, Dorota drivers/staging/media/imx/imx7-media-csi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index 643547bfa90f..bafbb5ef08d5 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -1000,10 +1000,10 @@ static int imx7_csi_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix, } /* Round up width for minimum burst size */ - width = round_up(mbus->width, 8); + width = round_up(mbus->width, 4); /* Round up stride for IDMAC line start address alignment */ - stride = round_up((width * cc->bpp) >> 3, 8); + stride = round_up((width * cc->bpp) >> 3, 4); pix->width = width; pix->height = mbus->height; From patchwork Wed Sep 14 11:58:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dorota Czaplejewicz X-Patchwork-Id: 12976063 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 AA438ECAAD8 for ; Wed, 14 Sep 2022 11:59:42 +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: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: MIME-Version:References:In-Reply-To:Message-ID:Subject:To:From:Date:Reply-To: Cc:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=M647SVXQ5gDs0SoS+TM6KJPs7bb+Z+2IOV6gXdCQDRI=; b=e8Z93oYJdxKa+KwG8FVrTlPseK nJd6cJUW4wdcb4o1+JxD+N8KpNnnuKkfGL2yizUT2UE8H8Nr62bHHag9cjPPtbcgKvcUATgHIt9Q+ h7/TVzlk0gtQtCa2zkXVf85CXLCR1Fs7zJwXz0SD6CMayqmmU0mr7rVJ7CKF2sH31xHvEoLFF3IBf vvi0kBdUVwVeyVM8RNUPUbfh8+0BkI5yZgGWQkipdP3pPo22AuFE3Ng+761eRNv7wMxGQhzOftgNC G7gP3frad/h1G+LnZsJCPccVYMEhF/VB0gYnYxtwTho3dfBfFhVm70hWrplDbRb0gqODNfCkexPYw a6/g+VLw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYR2I-00GbQa-B6; Wed, 14 Sep 2022 11:58:34 +0000 Received: from comms.puri.sm ([159.203.221.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYR2E-00GbGt-Hn for linux-arm-kernel@lists.infradead.org; Wed, 14 Sep 2022 11:58:31 +0000 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id D3C06E0F93; Wed, 14 Sep 2022 04:58:23 -0700 (PDT) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R02vuMtXWq3E; Wed, 14 Sep 2022 04:58:23 -0700 (PDT) Date: Wed, 14 Sep 2022 13:58:15 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1663156703; bh=6Cy4wlXEsbh2KFaV8g1LkVJeWFmWKSLXGZ3+KMzj9/E=; h=Date:From:To:Subject:In-Reply-To:References:From; b=QDPB+0GUoQT6b2OU+Tx/dvo9BVZ31KGGsNRwgagbjVDxPcd/WBlQdThsL+Zai111T 7KwsZduhHuyFM/ONcfgHJS8w7my0Bb/j21/GuUWyT0/OjO/BBzICzN/4ZwY2ekmn47 hNAjteW2j4P//W1sWXGyJV98BM0tHpDBIFaglecRWweDNtwFgWkbvSeMaWS2/Yw3E2 HhAQNfln++pkknKfUdyY/t03a9fPhA1xJ3iJTCQ7w6hJjI+sz1YtopXPwSsNyy7T7x XxK7/1NFwTg/KK1L4GFmziWuHnyCoH67qbi34sa5AEkvyPm8Z6nfk18DZYQ8XFX2ZU xIzCwBiK34sjA== From: Dorota Czaplejewicz To: Steve Longerbeam , Philipp Zabel , Mauro Carvalho Chehab , Greg Kroah-Hartman , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@puri.sm, phone-devel@vger.kernel.org Subject: [PATCH 2/2] Revert "media: imx: Round line size to 4 bytes" Message-ID: <20220914113436.1503790-2-dorota.czaplejewicz@puri.sm> In-Reply-To: <20220914113436.1503790-1-dorota.czaplejewicz@puri.sm> References: <20220914113436.1503790-1-dorota.czaplejewicz@puri.sm> Organization: Purism MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220914_045830_638740_18D1B607 X-CRM114-Status: GOOD ( 12.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This reverts commit 056f9af9fbebb81ebc972540122fb3bdad81d8b1. The method is no longer getting called on the i.MX8, meaning that the responsibility for this functionality has been moved entirely to imx7_csi_mbus_fmt_to_pix_fmt. Signed-off-by: Dorota Czaplejewicz --- drivers/staging/media/imx/imx-media-utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c index 73cf0d855967..294c808b2ebe 100644 --- a/drivers/staging/media/imx/imx-media-utils.c +++ b/drivers/staging/media/imx/imx-media-utils.c @@ -545,13 +545,13 @@ int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix, } /* Round up width for minimum burst size */ - width = round_up(mbus->width, 4); + width = round_up(mbus->width, 8); /* Round up stride for IDMAC line start address alignment */ if (cc->planar) stride = round_up(width, 16); else - stride = round_up((width * cc->bpp) >> 3, 4); + stride = round_up((width * cc->bpp) >> 3, 8); pix->width = width; pix->height = mbus->height;