{"id":15840,"url":"https://patchwork.libcamera.org/api/1.1/covers/15840/?format=json","web_url":"https://patchwork.libcamera.org/cover/15840/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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-1-laurent.pinchart@ideasonboard.com>","date":"2022-05-10T11:50:57","name":"[libcamera-devel,00/50] staging: media: imx: Prepare destaging of imx7-media-csi","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/15840/mbox/","series":[{"id":3106,"url":"https://patchwork.libcamera.org/api/1.1/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/covers/15840/comments/","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 0BFAAC3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 10 May 2022 11:51:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3D2B365647;\n\tTue, 10 May 2022 13:51:58 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EB3D465643\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 10 May 2022 13:51:56 +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 DEACB824;\n\tTue, 10 May 2022 13:51:55 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1652183518;\n\tbh=znKOnW5DcqLMT8bFMMoINNY9WM5rEJCjpMdpXf5v+rw=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=fHHRzj1EVOW1GDUVUmI3a92sCfvS/SkBaNxFeekIsu3BxbzYWA/Z3b7A2Y4KQxQXZ\n\tEd2ckKUfoN3PWwl/r+uz7KET6V9PhfDqR6weL8VhD7UdTcURTBye51t+6kPH/k7R1O\n\tjk2fqro6ThlFmNrxcy0VOMFaFt8CDMsqGu6dndm4Rkg/DbN+OrgVaFzbFQirrPSFA8\n\tIros5j21IdSH7CrKvYyb/IWL4C+WeOxmM3HQFHnqOWr8COvQ8KwLWSEmv+0yzQ+IG4\n\twyCixbn2rY+5NhOLKYKT0SPy88dJwVW5r6QFI+szYYT+4YINAcN+uXYYTpE4ClyEUU\n\taigSKz1Zid6Gg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1652183516;\n\tbh=znKOnW5DcqLMT8bFMMoINNY9WM5rEJCjpMdpXf5v+rw=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=wcGShA1jZVNewEmn8mEEFWEqxQ/fTZ/IjA+bmbzZ7sCdUlV13on9+smivez/CTCww\n\tCFjNYnln53w/aDwrXptDkAgDiRu5WoJVQkDdIK6VDE75G2HduAqHRPrRqMOE2lnRMz\n\t7oAIwzdNlydz4I/B8r0TAtzXeXYdE6WR9ltQM4cE="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"wcGShA1j\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 10 May 2022 14:50:57 +0300","Message-Id":"<20220510115147.19360-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.35.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[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>","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":"Hello,\n\nThis patch series prepares the imx7-media-csi for destaging by\ndecoupling it from the helpers shared with the i.MX6 IPUv3.\n\nThe strategy Paul and I have followed is to import copies of helper code\nand, refactor it within the imx7-media-csi driver, and repeat until no\nmore shared helpers are used. There is still room for refactoring and\nsimplification of the imx7-media-csi driver, but I believe it is now in\na state clean enough to be moved out of staging.\n\nThe series also includes a few fixes or improvements in supported\nformats that are now made possible thanks to this refactoring. See\npatches 45/50 and 46/50 for details.\n\nThe code size has grown as a result. This is partly offset by code in\nthe shared helpers that can be removed or simplified, but I haven't\nstarting working on that. The helpers are now used for the i.MX6 IPUv3\nonly, so I will leave this exercise to anyone who would be interested in\ndestaging that driver as well.\n\nSome of the items in the TODO file related to the imx7-media-csi driver\nhave been addressed. The two remaining items are frame interval monitor\nsupport and restricting the list of supported formats to the SoC\nversion. The former isn't a destaging blocker in my opinion, as the\nfeature can be added later if desired (and frame interval monitoring\nshould then be moved to the V4L2 core). I believe the latter could also\nbe addressed after destaging the driver, but in any case, this is a\ndiscussion for a future destaging series (which may come as soon as this\none is accepted).\n\nAlexander, this also could greatly simplify your \"[PATCH v3 0/8]\nimx7/imx8mm media / csi patches\" series.\n\nLaurent 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\nPaul 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\nbase-commit: c5eb0a61238dd6faf37f58c9ce61c9980aaffd7a"}