[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:50:57 CEST 2022
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
More information about the libcamera-devel
mailing list