{"id":15885,"url":"https://patchwork.libcamera.org/api/patches/15885/?format=json","web_url":"https://patchwork.libcamera.org/patch/15885/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220510115147.19360-46-laurent.pinchart@ideasonboard.com>","date":"2022-05-10T11:51:42","name":"[libcamera-devel,45/50] staging: media: imx: imx7-media-csi: Fix list of supported formats","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":false,"hash":"b7aa7c725823d4a0d6da8ed3d86d50e61b674d66","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/15885/mbox/","series":[{"id":3106,"url":"https://patchwork.libcamera.org/api/series/3106/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3106","date":"2022-05-10T11:50:57","name":"staging: media: imx: Prepare destaging of imx7-media-csi","version":1,"mbox":"https://patchwork.libcamera.org/series/3106/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/15885/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/15885/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 141C7C326C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 10 May 2022 11:52:45 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9B8946564D;\n\tTue, 10 May 2022 13:52:44 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 81E7C6568D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 10 May 2022 13:52:35 +0200 (CEST)","from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9E4EC1224; \n\tTue, 10 May 2022 13:52:34 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1652183564;\n\tbh=3wfwAYCjwSBDY3gwY+uNhWpFjwm2U/VoRqE0aSgR5tI=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=d6PSjq3vnrMJdL7+GKqs7YGmdAs6BzLpWLYQW9CU1fPrwdMt/DC4wYN6NBgVuuoRm\n\tYdLsubBGxTI2y9TvHenQj2Qy4q8JzLhSTBS6Q+nm003wZwKdKbTww/zPrlffxSviF3\n\t0yBkWPjHxFDct/QlQrDz4a6axHfBYEpAzaEHErUk9GKBrxKMFZkYraUof42CykyJir\n\tTZtsWv5eXwIFML61+kGc0vDYUHjhrHougLhpi7eIXG8UqZ9ehoeaWxkAQSMBR0PyjW\n\toVQkMU1OWCszk8L/5KeQ88Jnjmwf2WNBhCsPkut/MK0fFW3dutaL9L8zzEo2rbJ6SR\n\tVjQZmlRe2kByw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1652183555;\n\tbh=3wfwAYCjwSBDY3gwY+uNhWpFjwm2U/VoRqE0aSgR5tI=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=VPM1i8mgynpOSC6mJxmce+GWjXb7LmsrBW/Dbcusw1FyN8Px94zTBg1qoPiycSEog\n\tiuX22LnnBcOW39Dbf+AjE0RLaaahu/mUte6mF/thEmjgvFbp8YoRZUjHfcvNqfi/xh\n\tis8m6vhbrNsntvqpHRijW5ckPL82UGsQsiNJEITg="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"VPM1i8mg\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 10 May 2022 14:51:42 +0300","Message-Id":"<20220510115147.19360-46-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.35.1","In-Reply-To":"<20220510115147.19360-1-laurent.pinchart@ideasonboard.com>","References":"<20220510115147.19360-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 45/50] staging: media: imx:\n\timx7-media-csi: Fix list of supported formats","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"Martin Kepplinger <martin.kepplinger@puri.sm>, kernel@pengutronix.de,\n\tDorota Czaplejewicz <dorota.czaplejewicz@puri.sm>,\n\tAlexander Stein <alexander.stein@ew.tq-group.com>,\n\tRui Miguel Silva <rmfrfs@gmail.com>,\n\tPhilipp Zabel <p.zabel@pengutronix.de>, \n\tSteve Longerbeam <slongerbeam@gmail.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The list of supported formats comes from helpers shared with the i.MX6\nIPUv3 and is incorrect in multiple regards:\n\n- 10-, 12- and 14-bit Bayer formats are stored in memory as SBGGR10,\n  SBGGR12 and SBGGR14 respectively (plus components permutations), not\n  SBGGR16. Same thing for greyscale formats.\n- 16-bit RAW formats are not supported by the hardware.\n\nFix the supported formats table.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n drivers/staging/media/imx/imx7-media-csi.c | 106 ++++++++++++---------\n 1 file changed, 61 insertions(+), 45 deletions(-)","diff":"diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c\nindex 0fb5e0c03396..1bb60f245861 100644\n--- a/drivers/staging/media/imx/imx7-media-csi.c\n+++ b/drivers/staging/media/imx/imx7-media-csi.c\n@@ -846,56 +846,64 @@ static const struct imx7_csi_pixfmt pixel_formats[] = {\n \t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB8_1X8),\n \t\t.bpp    = 8,\n \t}, {\n-\t\t.fourcc = V4L2_PIX_FMT_SBGGR16,\n-\t\t.codes  = IMX_BUS_FMTS(\n-\t\t\tMEDIA_BUS_FMT_SBGGR10_1X10,\n-\t\t\tMEDIA_BUS_FMT_SBGGR12_1X12,\n-\t\t\tMEDIA_BUS_FMT_SBGGR14_1X14,\n-\t\t\tMEDIA_BUS_FMT_SBGGR16_1X16\n-\t\t),\n-\t\t.bpp    = 16,\n-\t}, {\n-\t\t.fourcc = V4L2_PIX_FMT_SGBRG16,\n-\t\t.codes  = IMX_BUS_FMTS(\n-\t\t\tMEDIA_BUS_FMT_SGBRG10_1X10,\n-\t\t\tMEDIA_BUS_FMT_SGBRG12_1X12,\n-\t\t\tMEDIA_BUS_FMT_SGBRG14_1X14,\n-\t\t\tMEDIA_BUS_FMT_SGBRG16_1X16\n-\t\t),\n-\t\t.bpp    = 16,\n-\t}, {\n-\t\t.fourcc = V4L2_PIX_FMT_SGRBG16,\n-\t\t.codes  = IMX_BUS_FMTS(\n-\t\t\tMEDIA_BUS_FMT_SGRBG10_1X10,\n-\t\t\tMEDIA_BUS_FMT_SGRBG12_1X12,\n-\t\t\tMEDIA_BUS_FMT_SGRBG14_1X14,\n-\t\t\tMEDIA_BUS_FMT_SGRBG16_1X16\n-\t\t),\n-\t\t.bpp    = 16,\n-\t}, {\n-\t\t.fourcc = V4L2_PIX_FMT_SRGGB16,\n-\t\t.codes  = IMX_BUS_FMTS(\n-\t\t\tMEDIA_BUS_FMT_SRGGB10_1X10,\n-\t\t\tMEDIA_BUS_FMT_SRGGB12_1X12,\n-\t\t\tMEDIA_BUS_FMT_SRGGB14_1X14,\n-\t\t\tMEDIA_BUS_FMT_SRGGB16_1X16\n-\t\t),\n+\t\t.fourcc = V4L2_PIX_FMT_SBGGR10,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR10_1X10),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGBRG10,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG10_1X10),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGRBG10,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG10_1X10),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SRGGB10,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB10_1X10),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SBGGR12,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR12_1X12),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGBRG12,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG12_1X12),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGRBG12,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG12_1X12),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SRGGB12,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB12_1X12),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SBGGR14,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR14_1X14),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGBRG14,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG14_1X14),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SGRBG14,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG14_1X14),\n+\t\t.bpp    = 16,\n+\t}, {\n+\t\t.fourcc = V4L2_PIX_FMT_SRGGB14,\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB14_1X14),\n \t\t.bpp    = 16,\n \t}, {\n \t\t.fourcc = V4L2_PIX_FMT_GREY,\n-\t\t.codes = IMX_BUS_FMTS(\n-\t\t\tMEDIA_BUS_FMT_Y8_1X8,\n-\t\t\tMEDIA_BUS_FMT_Y10_1X10,\n-\t\t\tMEDIA_BUS_FMT_Y12_1X12\n-\t\t),\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_Y8_1X8),\n \t\t.bpp    = 8,\n \t}, {\n \t\t.fourcc = V4L2_PIX_FMT_Y10,\n-\t\t.codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_Y10_1X10),\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_Y10_1X10),\n \t\t.bpp    = 16,\n \t}, {\n \t\t.fourcc = V4L2_PIX_FMT_Y12,\n-\t\t.codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_Y12_1X12),\n+\t\t.codes  = IMX_BUS_FMTS(MEDIA_BUS_FMT_Y12_1X12),\n \t\t.bpp    = 16,\n \t},\n };\n@@ -2015,10 +2023,18 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd,\n \tcase V4L2_PIX_FMT_SGBRG8:\n \tcase V4L2_PIX_FMT_SGRBG8:\n \tcase V4L2_PIX_FMT_SRGGB8:\n-\tcase V4L2_PIX_FMT_SBGGR16:\n-\tcase V4L2_PIX_FMT_SGBRG16:\n-\tcase V4L2_PIX_FMT_SGRBG16:\n-\tcase V4L2_PIX_FMT_SRGGB16:\n+\tcase V4L2_PIX_FMT_SBGGR10:\n+\tcase V4L2_PIX_FMT_SGBRG10:\n+\tcase V4L2_PIX_FMT_SGRBG10:\n+\tcase V4L2_PIX_FMT_SRGGB10:\n+\tcase V4L2_PIX_FMT_SBGGR12:\n+\tcase V4L2_PIX_FMT_SGBRG12:\n+\tcase V4L2_PIX_FMT_SGRBG12:\n+\tcase V4L2_PIX_FMT_SRGGB12:\n+\tcase V4L2_PIX_FMT_SBGGR14:\n+\tcase V4L2_PIX_FMT_SGBRG14:\n+\tcase V4L2_PIX_FMT_SGRBG14:\n+\tcase V4L2_PIX_FMT_SRGGB14:\n \t\tbreak;\n \n \tdefault:\n","prefixes":["libcamera-devel","45/50"]}