[libcamera-devel] [PATCH 00/50] staging: media: imx: Prepare destaging of imx7-media-csi
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue May 10 13:56:37 CEST 2022
And of course I sent this to the wrong list... All my apologies for the
upcoming resend to the linux-media mailing list :-S
On Tue, May 10, 2022 at 02:50:57PM +0300, Laurent Pinchart via libcamera-devel wrote:
> Hello,
>
> This patch series prepares the imx7-media-csi for destaging by
> decoupling it from the helpers shared with the i.MX6 IPUv3.
>
> The strategy Paul and I have followed is to import copies of helper code
> and, refactor it within the imx7-media-csi driver, and repeat until no
> more shared helpers are used. There is still room for refactoring and
> simplification of the imx7-media-csi driver, but I believe it is now in
> a state clean enough to be moved out of staging.
>
> The series also includes a few fixes or improvements in supported
> formats that are now made possible thanks to this refactoring. See
> patches 45/50 and 46/50 for details.
>
> The code size has grown as a result. This is partly offset by code in
> the shared helpers that can be removed or simplified, but I haven't
> starting working on that. The helpers are now used for the i.MX6 IPUv3
> only, so I will leave this exercise to anyone who would be interested in
> destaging that driver as well.
>
> Some of the items in the TODO file related to the imx7-media-csi driver
> have been addressed. The two remaining items are frame interval monitor
> support and restricting the list of supported formats to the SoC
> version. The former isn't a destaging blocker in my opinion, as the
> feature can be added later if desired (and frame interval monitoring
> should then be moved to the V4L2 core). I believe the latter could also
> be addressed after destaging the driver, but in any case, this is a
> discussion for a future destaging series (which may come as soon as this
> one is accepted).
>
> Alexander, this also could greatly simplify your "[PATCH v3 0/8]
> imx7/imx8mm media / csi patches" series.
>
> Laurent Pinchart (48):
> staging: media: imx: imx7-media-csi: Initialize locks early on
> staging: media: imx: imx7-media-csi: Split imx_media_dev from probe()
> staging: media: imx: imx7-media-csi: Import notifier helpers
> staging: media: imx: imx7-media-csi: Drop duplicate link creation
> staging: media: imx: imx7-media-csi: Drop the imx_media notifier
> staging: media: imx: imx7-media-csi: Don't populate vdev lists
> staging: media: imx: imx7-media-csi: Drop unused frame_interval
> staging: media: imx: imx7-media-csi: Move format init to probe time
> staging: media: imx: imx7-media-csi: Import video device helpers
> staging: media: imx: imx7-media-csi: Drop legacy video device support
> staging: media: imx: imx7-media-csi: Drop unused controls support
> staging: media: imx: imx7-media-csi: Reorganize imx7_csi structure
> staging: media: imx: imx7-media-csi: Fold capture_priv into imx7_csi
> staging: media: imx: imx7-media-csi: Ensure consistent function prefix
> staging: media: imx: imx7-media-csi: Don't set subdev group id
> staging: media: imx: imx7-media-csi: Import imx_media_dev_init()
> helper
> staging: media: imx: imx7-media-csi: Embed imx_media_dev in imx7_csi
> staging: media: imx: imx7-media-csi: Drop imx_media_add_video_device
> call
> staging: media: imx: imx7-media-csi: Don't initialize unused fields
> staging: media: imx: imx7-media-csi: Inline imx_media_pipeline_pad()
> staging: media: imx: imx7-media-csi: Import
> imx_media_pipeline_set_stream()
> staging: media: imx: imx7-media-csi: Avoid unnecessary casts
> staging: media: imx: imx7-media-csi: Inline pipeline start/stop
> staging: media: imx: imx7-media-csi: Fold imx_media_dev into imx7_csi
> staging: media: imx: imx7-media-csi: Decouple from imx_media_buffer
> staging: media: imx: imx7-media-csi: Fold imx_media_video_dev into
> imx7_csi
> staging: media: imx: imx7-media-csi: Store imx7_csi in drv data
> staging: media: imx: imx7-media-csi: Decouple from imx_media_dma_buf
> staging: media: imx: imx7-media-csi: Decouple from shared macros
> staging: media: imx: imx7-media-csi: Drop error message on alloc
> failure
> staging: media: imx: imx7-media-csi: Import format helpers
> staging: media: imx: imx7-media-csi: Replace ipu_color_space with bool
> yuv field
> staging: media: imx: imx7-media-csi: Drop IC support from
> imx7_csi_try_colorimetry()
> staging: media: imx: imx7-media-csi: Drop IPU-only formats
> staging: media: imx: imx7-media-csi: Drop unsupported YUV and RGB
> formats
> staging: media: imx: imx7-media-csi: Make default formats consistent
> staging: media: imx: imx7-media-csi: Define macro for default mbus
> code
> staging: media: imx: imx7-media-csi: Simplify default mbus code in
> try_fmt
> staging: media: imx: imx7-media-csi: Drop YUV/RGB/BAYER format
> selectors
> staging: media: imx: imx7-media-csi: Drop unneeded imx7_csi_pixfmt
> fields
> staging: media: imx: imx7-media-csi: Inline imx7_csi_init_mbus_fmt()
> staging: media: imx: imx7-media-csi: Simplify default format in
> try_fmt
> staging: media: imx: imx7-media-csi: Fix list of supported formats
> staging: media: imx: imx7-media-csi: Add V4L2_PIX_FMT_Y14 support
> staging: media: imx: imx7-media-csi: Drop unneeded pixel format
> validation
> staging: media: imx: imx7-media-csi: Inline
> imx7_csi_enum_pixel_formats()
> staging: media: imx: imx7-media-csi: Drop V4L2 events support
> staging: media: imx: imx7-media-csi: Drop usage of shared helpers
>
> Paul Elder (2):
> staging: media: imx: imx7-media-csi: Move misc init out of probe()
> staging: media: imx: imx7-media-csi: Remove imx_media_of_add_csi
>
> drivers/staging/media/imx/imx7-media-csi.c | 1370 +++++++++++++++++---
> 1 file changed, 1172 insertions(+), 198 deletions(-)
>
>
> base-commit: c5eb0a61238dd6faf37f58c9ce61c9980aaffd7a
> --
> Regards,
>
> Laurent Pinchart
>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list