[PATCH 00/50] staging: media: imx: Prepare destaging of imx7-media-csi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux