linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/50] staging: media: imx: Prepare destaging of imx7-media-csi
@ 2022-05-10 11:58 Laurent Pinchart
  2022-05-10 11:58 ` [PATCH 01/50] staging: media: imx: imx7-media-csi: Initialize locks early on Laurent Pinchart
                   ` (52 more replies)
  0 siblings, 53 replies; 69+ messages in thread
From: Laurent Pinchart @ 2022-05-10 11:58 UTC (permalink / raw)
  To: linux-media
  Cc: Rui Miguel Silva, Steve Longerbeam, Philipp Zabel, Jacopo Mondi,
	Martin Kepplinger, Alexander Stein, Dorota Czaplejewicz, kernel

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


^ permalink raw reply	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2022-07-07 11:53 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-10 11:58 [PATCH 00/50] staging: media: imx: Prepare destaging of imx7-media-csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 01/50] staging: media: imx: imx7-media-csi: Initialize locks early on Laurent Pinchart
2022-05-10 11:58 ` [PATCH 02/50] staging: media: imx: imx7-media-csi: Split imx_media_dev from probe() Laurent Pinchart
2022-05-10 14:09   ` Rui Miguel Silva
2022-05-10 14:42     ` Laurent Pinchart
2022-05-10 15:25   ` [PATCH v1.1 " Laurent Pinchart
2022-05-10 15:49     ` Rui Miguel Silva
2022-05-10 11:58 ` [PATCH 03/50] staging: media: imx: imx7-media-csi: Import notifier helpers Laurent Pinchart
2022-05-10 11:58 ` [PATCH 04/50] staging: media: imx: imx7-media-csi: Drop duplicate link creation Laurent Pinchart
2022-05-10 11:58 ` [PATCH 05/50] staging: media: imx: imx7-media-csi: Drop the imx_media notifier Laurent Pinchart
2022-05-10 11:58 ` [PATCH 06/50] staging: media: imx: imx7-media-csi: Move misc init out of probe() Laurent Pinchart
2022-05-10 15:26   ` [PATCH v1.1 " Laurent Pinchart
2022-05-10 11:58 ` [PATCH 07/50] staging: media: imx: imx7-media-csi: Don't populate vdev lists Laurent Pinchart
2022-05-10 11:58 ` [PATCH 08/50] staging: media: imx: imx7-media-csi: Drop unused frame_interval Laurent Pinchart
2022-05-10 11:58 ` [PATCH 09/50] staging: media: imx: imx7-media-csi: Move format init to probe time Laurent Pinchart
2022-05-10 11:58 ` [PATCH 10/50] staging: media: imx: imx7-media-csi: Remove imx_media_of_add_csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 11/50] staging: media: imx: imx7-media-csi: Import video device helpers Laurent Pinchart
2022-05-10 11:58 ` [PATCH 12/50] staging: media: imx: imx7-media-csi: Drop legacy video device support Laurent Pinchart
2022-05-10 11:58 ` [PATCH 13/50] staging: media: imx: imx7-media-csi: Drop unused controls support Laurent Pinchart
2022-05-10 11:58 ` [PATCH 14/50] staging: media: imx: imx7-media-csi: Reorganize imx7_csi structure Laurent Pinchart
2022-05-10 11:58 ` [PATCH 15/50] staging: media: imx: imx7-media-csi: Fold capture_priv into imx7_csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 16/50] staging: media: imx: imx7-media-csi: Ensure consistent function prefix Laurent Pinchart
2022-05-10 11:58 ` [PATCH 17/50] staging: media: imx: imx7-media-csi: Don't set subdev group id Laurent Pinchart
2022-05-10 11:58 ` [PATCH 18/50] staging: media: imx: imx7-media-csi: Import imx_media_dev_init() helper Laurent Pinchart
2022-05-10 11:58 ` [PATCH 19/50] staging: media: imx: imx7-media-csi: Embed imx_media_dev in imx7_csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 20/50] staging: media: imx: imx7-media-csi: Drop imx_media_add_video_device call Laurent Pinchart
2022-05-10 11:58 ` [PATCH 21/50] staging: media: imx: imx7-media-csi: Don't initialize unused fields Laurent Pinchart
2022-05-10 11:58 ` [PATCH 22/50] staging: media: imx: imx7-media-csi: Inline imx_media_pipeline_pad() Laurent Pinchart
2022-05-10 11:58 ` [PATCH 23/50] staging: media: imx: imx7-media-csi: Import imx_media_pipeline_set_stream() Laurent Pinchart
2022-05-10 11:58 ` [PATCH 24/50] staging: media: imx: imx7-media-csi: Avoid unnecessary casts Laurent Pinchart
2022-05-10 11:58 ` [PATCH 25/50] staging: media: imx: imx7-media-csi: Inline pipeline start/stop Laurent Pinchart
2022-05-10 11:58 ` [PATCH 26/50] staging: media: imx: imx7-media-csi: Fold imx_media_dev into imx7_csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 27/50] staging: media: imx: imx7-media-csi: Decouple from imx_media_buffer Laurent Pinchart
2022-05-10 11:58 ` [PATCH 28/50] staging: media: imx: imx7-media-csi: Fold imx_media_video_dev into imx7_csi Laurent Pinchart
2022-05-10 11:58 ` [PATCH 29/50] staging: media: imx: imx7-media-csi: Store imx7_csi in drv data Laurent Pinchart
2022-05-10 11:58 ` [PATCH 30/50] staging: media: imx: imx7-media-csi: Decouple from imx_media_dma_buf Laurent Pinchart
2022-05-10 11:58 ` [PATCH 31/50] staging: media: imx: imx7-media-csi: Decouple from shared macros Laurent Pinchart
2022-05-10 11:58 ` [PATCH 32/50] staging: media: imx: imx7-media-csi: Drop error message on alloc failure Laurent Pinchart
2022-05-10 11:58 ` [PATCH 33/50] staging: media: imx: imx7-media-csi: Import format helpers Laurent Pinchart
2022-05-10 11:58 ` [PATCH 34/50] staging: media: imx: imx7-media-csi: Replace ipu_color_space with bool yuv field Laurent Pinchart
2022-05-10 11:58 ` [PATCH 35/50] staging: media: imx: imx7-media-csi: Drop IC support from imx7_csi_try_colorimetry() Laurent Pinchart
2022-05-10 11:58 ` [PATCH 36/50] staging: media: imx: imx7-media-csi: Drop IPU-only formats Laurent Pinchart
2022-05-10 11:58 ` [PATCH 37/50] staging: media: imx: imx7-media-csi: Drop unsupported YUV and RGB formats Laurent Pinchart
2022-05-10 11:58 ` [PATCH 38/50] staging: media: imx: imx7-media-csi: Make default formats consistent Laurent Pinchart
2022-05-10 11:58 ` [PATCH 39/50] staging: media: imx: imx7-media-csi: Define macro for default mbus code Laurent Pinchart
2022-05-11 13:22   ` Alexander Stein
2022-05-11 20:20     ` Laurent Pinchart
2022-07-07  0:19   ` [PATCH v1.1 " Laurent Pinchart
2022-05-10 11:58 ` [PATCH 40/50] staging: media: imx: imx7-media-csi: Simplify default mbus code in try_fmt Laurent Pinchart
2022-05-10 11:58 ` [PATCH 41/50] staging: media: imx: imx7-media-csi: Drop YUV/RGB/BAYER format selectors Laurent Pinchart
2022-05-10 11:58 ` [PATCH 42/50] staging: media: imx: imx7-media-csi: Drop unneeded imx7_csi_pixfmt fields Laurent Pinchart
2022-05-10 11:58 ` [PATCH 43/50] staging: media: imx: imx7-media-csi: Inline imx7_csi_init_mbus_fmt() Laurent Pinchart
2022-05-10 11:58 ` [PATCH 44/50] staging: media: imx: imx7-media-csi: Simplify default format in try_fmt Laurent Pinchart
2022-05-11 13:27   ` Alexander Stein
2022-07-07  0:20   ` [PATCH v1.1 " Laurent Pinchart
2022-05-10 11:58 ` [PATCH 45/50] staging: media: imx: imx7-media-csi: Fix list of supported formats Laurent Pinchart
2022-05-10 11:58 ` [PATCH 46/50] staging: media: imx: imx7-media-csi: Add V4L2_PIX_FMT_Y14 support Laurent Pinchart
2022-05-10 11:58 ` [PATCH 47/50] staging: media: imx: imx7-media-csi: Drop unneeded pixel format validation Laurent Pinchart
2022-05-10 11:58 ` [PATCH 48/50] staging: media: imx: imx7-media-csi: Inline imx7_csi_enum_pixel_formats() Laurent Pinchart
2022-05-10 11:58 ` [PATCH 49/50] staging: media: imx: imx7-media-csi: Drop V4L2 events support Laurent Pinchart
2022-05-10 11:58 ` [PATCH 50/50] staging: media: imx: imx7-media-csi: Drop usage of shared helpers Laurent Pinchart
2022-05-10 14:04 ` [PATCH 00/50] staging: media: imx: Prepare destaging of imx7-media-csi Rui Miguel Silva
2022-05-10 14:18   ` Laurent Pinchart
2022-05-11 13:36 ` (EXT) " Alexander Stein
2022-07-07  0:23   ` Laurent Pinchart
2022-07-07 10:45     ` Alexander Stein
2022-07-07 11:34       ` Laurent Pinchart
2022-07-07 11:52         ` Alexander Stein
2022-05-16  7:59 ` Alexander Stein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).