[{"id":22931,"web_url":"https://patchwork.libcamera.org/comment/22931/","msgid":"<YnpS9WzzGgGODxCC@pendragon.ideasonboard.com>","date":"2022-05-10T11:56:37","subject":"Re: [libcamera-devel] [PATCH 00/50] staging: media: imx: Prepare\n\tdestaging of imx7-media-csi","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"And of course I sent this to the wrong list... All my apologies for the\nupcoming resend to the linux-media mailing list :-S\n\nOn Tue, May 10, 2022 at 02:50:57PM +0300, Laurent Pinchart via libcamera-devel wrote:\n> Hello,\n> \n> This patch series prepares the imx7-media-csi for destaging by\n> decoupling it from the helpers shared with the i.MX6 IPUv3.\n> \n> The strategy Paul and I have followed is to import copies of helper code\n> and, refactor it within the imx7-media-csi driver, and repeat until no\n> more shared helpers are used. There is still room for refactoring and\n> simplification of the imx7-media-csi driver, but I believe it is now in\n> a state clean enough to be moved out of staging.\n> \n> The series also includes a few fixes or improvements in supported\n> formats that are now made possible thanks to this refactoring. See\n> patches 45/50 and 46/50 for details.\n> \n> The code size has grown as a result. This is partly offset by code in\n> the shared helpers that can be removed or simplified, but I haven't\n> starting working on that. The helpers are now used for the i.MX6 IPUv3\n> only, so I will leave this exercise to anyone who would be interested in\n> destaging that driver as well.\n> \n> Some of the items in the TODO file related to the imx7-media-csi driver\n> have been addressed. The two remaining items are frame interval monitor\n> support and restricting the list of supported formats to the SoC\n> version. The former isn't a destaging blocker in my opinion, as the\n> feature can be added later if desired (and frame interval monitoring\n> should then be moved to the V4L2 core). I believe the latter could also\n> be addressed after destaging the driver, but in any case, this is a\n> discussion for a future destaging series (which may come as soon as this\n> one is accepted).\n> \n> Alexander, this also could greatly simplify your \"[PATCH v3 0/8]\n> imx7/imx8mm media / csi patches\" series.\n> \n> Laurent Pinchart (48):\n>   staging: media: imx: imx7-media-csi: Initialize locks early on\n>   staging: media: imx: imx7-media-csi: Split imx_media_dev from probe()\n>   staging: media: imx: imx7-media-csi: Import notifier helpers\n>   staging: media: imx: imx7-media-csi: Drop duplicate link creation\n>   staging: media: imx: imx7-media-csi: Drop the imx_media notifier\n>   staging: media: imx: imx7-media-csi: Don't populate vdev lists\n>   staging: media: imx: imx7-media-csi: Drop unused frame_interval\n>   staging: media: imx: imx7-media-csi: Move format init to probe time\n>   staging: media: imx: imx7-media-csi: Import video device helpers\n>   staging: media: imx: imx7-media-csi: Drop legacy video device support\n>   staging: media: imx: imx7-media-csi: Drop unused controls support\n>   staging: media: imx: imx7-media-csi: Reorganize imx7_csi structure\n>   staging: media: imx: imx7-media-csi: Fold capture_priv into imx7_csi\n>   staging: media: imx: imx7-media-csi: Ensure consistent function prefix\n>   staging: media: imx: imx7-media-csi: Don't set subdev group id\n>   staging: media: imx: imx7-media-csi: Import imx_media_dev_init()\n>     helper\n>   staging: media: imx: imx7-media-csi: Embed imx_media_dev in imx7_csi\n>   staging: media: imx: imx7-media-csi: Drop imx_media_add_video_device\n>     call\n>   staging: media: imx: imx7-media-csi: Don't initialize unused fields\n>   staging: media: imx: imx7-media-csi: Inline imx_media_pipeline_pad()\n>   staging: media: imx: imx7-media-csi: Import\n>     imx_media_pipeline_set_stream()\n>   staging: media: imx: imx7-media-csi: Avoid unnecessary casts\n>   staging: media: imx: imx7-media-csi: Inline pipeline start/stop\n>   staging: media: imx: imx7-media-csi: Fold imx_media_dev into imx7_csi\n>   staging: media: imx: imx7-media-csi: Decouple from imx_media_buffer\n>   staging: media: imx: imx7-media-csi: Fold imx_media_video_dev into\n>     imx7_csi\n>   staging: media: imx: imx7-media-csi: Store imx7_csi in drv data\n>   staging: media: imx: imx7-media-csi: Decouple from imx_media_dma_buf\n>   staging: media: imx: imx7-media-csi: Decouple from shared macros\n>   staging: media: imx: imx7-media-csi: Drop error message on alloc\n>     failure\n>   staging: media: imx: imx7-media-csi: Import format helpers\n>   staging: media: imx: imx7-media-csi: Replace ipu_color_space with bool\n>     yuv field\n>   staging: media: imx: imx7-media-csi: Drop IC support from\n>     imx7_csi_try_colorimetry()\n>   staging: media: imx: imx7-media-csi: Drop IPU-only formats\n>   staging: media: imx: imx7-media-csi: Drop unsupported YUV and RGB\n>     formats\n>   staging: media: imx: imx7-media-csi: Make default formats consistent\n>   staging: media: imx: imx7-media-csi: Define macro for default mbus\n>     code\n>   staging: media: imx: imx7-media-csi: Simplify default mbus code in\n>     try_fmt\n>   staging: media: imx: imx7-media-csi: Drop YUV/RGB/BAYER format\n>     selectors\n>   staging: media: imx: imx7-media-csi: Drop unneeded imx7_csi_pixfmt\n>     fields\n>   staging: media: imx: imx7-media-csi: Inline imx7_csi_init_mbus_fmt()\n>   staging: media: imx: imx7-media-csi: Simplify default format in\n>     try_fmt\n>   staging: media: imx: imx7-media-csi: Fix list of supported formats\n>   staging: media: imx: imx7-media-csi: Add V4L2_PIX_FMT_Y14 support\n>   staging: media: imx: imx7-media-csi: Drop unneeded pixel format\n>     validation\n>   staging: media: imx: imx7-media-csi: Inline\n>     imx7_csi_enum_pixel_formats()\n>   staging: media: imx: imx7-media-csi: Drop V4L2 events support\n>   staging: media: imx: imx7-media-csi: Drop usage of shared helpers\n> \n> Paul Elder (2):\n>   staging: media: imx: imx7-media-csi: Move misc init out of probe()\n>   staging: media: imx: imx7-media-csi: Remove imx_media_of_add_csi\n> \n>  drivers/staging/media/imx/imx7-media-csi.c | 1370 +++++++++++++++++---\n>  1 file changed, 1172 insertions(+), 198 deletions(-)\n> \n> \n> base-commit: c5eb0a61238dd6faf37f58c9ce61c9980aaffd7a\n> -- \n> Regards,\n> \n> Laurent Pinchart\n>","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 60673C0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 10 May 2022 11:56:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C045065647;\n\tTue, 10 May 2022 13:56:43 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A967865643\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 10 May 2022 13:56:42 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 08B7B824;\n\tTue, 10 May 2022 13:56:41 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1652183803;\n\tbh=G4VYshwBCONY+P1vaX5dr/hICxG0hkXgHtPoC59s2Bs=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=Z8nqLN/MWH5yVhz5kWH/1dyBsZm4o7/WMFz8SmcbMBmRKtnGU4e5Rus1qRD03Y+j2\n\txYaRA4aEwlY0csJ3AVbTkvBlYOF07Wu+84RO/pOwWs0d0jaY0PYU8+1JPTjdFV60sl\n\tPdtyisG8S8Pv4VQpczBAfLFx8+wKdAUNmZTM8/LJAOpQ5AvvrU9R+awIKntaaSSxpo\n\tUXOLQG7K1i0FZ1c/oqKUBFo9iCZC6Y0YFm6jCoMUABDDGMLrsv9Uf7n022u1wzibAV\n\tDT1RJ1iikWANq4SIgBz32y7V61qtI//DOTx/yd0l116KDByluZL7elWPaUWpUQtrCY\n\tABl146Rtu6H5w==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1652183802;\n\tbh=G4VYshwBCONY+P1vaX5dr/hICxG0hkXgHtPoC59s2Bs=;\n\th=Date:From:To:Subject:References:In-Reply-To:From;\n\tb=qrNxYSzJUN/YjL4v0iRXJlJTKlrxziYrBLU/Hv77g9OiwkR8xqdmKHadj4faXssrt\n\to41cJPhQv4I0ePHJDxDuA9UshMbypXgsvRAAotS8JN07mJWw7kveO/nkw5OffObkg6\n\tBb+DDFXaG2ZDMT9pEnq1eaMOFajuPo9Wf78hILc0="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"qrNxYSzJ\"; dkim-atps=neutral","Date":"Tue, 10 May 2022 14:56:37 +0300","To":"libcamera-devel@lists.libcamera.org,\n\tMartin 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>","Message-ID":"<YnpS9WzzGgGODxCC@pendragon.ideasonboard.com>","References":"<20220510115147.19360-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220510115147.19360-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 00/50] staging: media: imx: Prepare\n\tdestaging of imx7-media-csi","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]