mbox series

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

Message ID 20220510115859.19777-1-laurent.pinchart@ideasonboard.com (mailing list archive)
Headers show
Series staging: media: imx: Prepare destaging of imx7-media-csi | expand

Message

Laurent Pinchart May 10, 2022, 11:58 a.m. UTC
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

Comments

Rui Miguel Silva May 10, 2022, 2:04 p.m. UTC | #1
Hi Laurent,
Thanks for this small change :).

On Tue, May 10, 2022 at 02:58:09PM +0300, Laurent Pinchart 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.

I agree.

> 
> 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.

I went over all patches and I have 2 small remarks:

1. Shouldn't we change the connection between imx-media objects and
   imx7-csi also in kconfig? Since at the end of this series they are
   completely independent. Yeah, it can be done in a follow up
   patch on the unstaging, for me that's fine also.

2. Something that caught my eye on patch 2/50. But nothing functional.

Once again many thanks for continuing investing in this code.
for the all series (except patch 2/50):

Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>

Cheers,
     Rui
> 
> 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
>
Laurent Pinchart May 10, 2022, 2:18 p.m. UTC | #2
Hi Rui,

On Tue, May 10, 2022 at 03:04:16PM +0100, Rui Miguel Silva wrote:
> Hi Laurent,
> Thanks for this small change :).

Thanks for your small review ;-)

> On Tue, May 10, 2022 at 02:58:09PM +0300, Laurent Pinchart 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.
> 
> I agree.
> 
> > 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.
> 
> I went over all patches and I have 2 small remarks:
> 
> 1. Shouldn't we change the connection between imx-media objects and
>    imx7-csi also in kconfig? Since at the end of this series they are
>    completely independent. Yeah, it can be done in a follow up
>    patch on the unstaging, for me that's fine also.

I was thinking of doing it while destaging, as I found it a bit
pointless to reorganize Kconfig in staging to then immediately move the
driver out of staging, but I don't mind already handling this in staging
if preferred.

> 2. Something that caught my eye on patch 2/50. But nothing functional.

I'll reply to that patch.

> Once again many thanks for continuing investing in this code.
> for the all series (except patch 2/50):
> 
> Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>

Thank you !

> > 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
Alexander Stein May 11, 2022, 1:36 p.m. UTC | #3
Hello Laurent,

thanks for pushing out this huge set.

Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> 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.

Thanks for putting me on CC. I'll try to get my system running your patches 
ASAP.

Best regards,
Alexander
Alexander Stein May 16, 2022, 7:59 a.m. UTC | #4
Hello Laurent,

Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> 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.

Thanks again for this patchset. This does not only simplify my series, it 
pretty much makes it obsolete. Only one change is still valid (rounding up 
width depending on bpp), but I would skip that for now.
Just using my DT is enough. Nice!

If you respin a v2, I'll retest again for a proper Tested-by tag.

Regards,
Alexander
Laurent Pinchart July 7, 2022, 12:23 a.m. UTC | #5
Hi Alexander,

On Wed, May 11, 2022 at 03:36:14PM +0200, Alexander Stein wrote:
> Hello Laurent,
> 
> thanks for pushing out this huge set.
> 
> Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> > 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.
> 
> Thanks for putting me on CC. I'll try to get my system running your patches 
> ASAP.

As only minor changes were needed, I ended up posting v1.1 of the
corresponding patches instead of spamming everybody with a full v2. For
your convenience, I've pushed the result to

	git://linuxtv.org/pinchartl/media.git imx7/destage

I know it's a bit of a short notice, but I'd like to send a pull request
in time for v5.20, when do you think you would be able to test the
series ?
Alexander Stein July 7, 2022, 10:45 a.m. UTC | #6
Hello Laurent,

Am Donnerstag, 7. Juli 2022, 02:23:55 CEST schrieb Laurent Pinchart:
> Hi Alexander,
> 
> On Wed, May 11, 2022 at 03:36:14PM +0200, Alexander Stein wrote:
> > Hello Laurent,
> > 
> > thanks for pushing out this huge set.
> > 
> > Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> > > 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.
> > 
> > Thanks for putting me on CC. I'll try to get my system running your
> > patches
> > ASAP.
> 
> As only minor changes were needed, I ended up posting v1.1 of the
> corresponding patches instead of spamming everybody with a full v2. For
> your convenience, I've pushed the result to
> 
> 	git://linuxtv.org/pinchartl/media.git imx7/destage
> 
> I know it's a bit of a short notice, but I'd like to send a pull request
> in time for v5.20, when do you think you would be able to test the
> series ?

I happen to have my setup already available, so I could test your updated 
series pretty fast.
Accessing imx327 still works for WIP config. So
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Best regards,
Alexander
Laurent Pinchart July 7, 2022, 11:34 a.m. UTC | #7
Hi Alexander,

On Thu, Jul 07, 2022 at 12:45:01PM +0200, Alexander Stein wrote:
> Am Donnerstag, 7. Juli 2022, 02:23:55 CEST schrieb Laurent Pinchart:
> > On Wed, May 11, 2022 at 03:36:14PM +0200, Alexander Stein wrote:
> > > Hello Laurent,
> > > 
> > > thanks for pushing out this huge set.
> > > 
> > > Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> > > > 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.
> > > 
> > > Thanks for putting me on CC. I'll try to get my system running your
> > > patches
> > > ASAP.
> > 
> > As only minor changes were needed, I ended up posting v1.1 of the
> > corresponding patches instead of spamming everybody with a full v2. For
> > your convenience, I've pushed the result to
> > 
> > 	git://linuxtv.org/pinchartl/media.git imx7/destage
> > 
> > I know it's a bit of a short notice, but I'd like to send a pull request
> > in time for v5.20, when do you think you would be able to test the
> > series ?
> 
> I happen to have my setup already available, so I could test your updated 
> series pretty fast.
> Accessing imx327 still works for WIP config. So
> Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Thanks a lot for the quick testing. I've now sent the pull request.

Do you plan to submit a new version of your patches on top of this ?
Alexander Stein July 7, 2022, 11:52 a.m. UTC | #8
Hi Laurent,

Am Donnerstag, 7. Juli 2022, 13:34:50 CEST schrieb Laurent Pinchart:
> Hi Alexander,
> 
> On Thu, Jul 07, 2022 at 12:45:01PM +0200, Alexander Stein wrote:
> > Am Donnerstag, 7. Juli 2022, 02:23:55 CEST schrieb Laurent Pinchart:
> > > On Wed, May 11, 2022 at 03:36:14PM +0200, Alexander Stein wrote:
> > > > Hello Laurent,
> > > > 
> > > > thanks for pushing out this huge set.
> > > > 
> > > > Am Dienstag, 10. Mai 2022, 13:58:09 CEST schrieb Laurent Pinchart:
> > > > > 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.
> > > > 
> > > > Thanks for putting me on CC. I'll try to get my system running your
> > > > patches
> > > > ASAP.
> > > 
> > > As only minor changes were needed, I ended up posting v1.1 of the
> > > corresponding patches instead of spamming everybody with a full v2. For
> > > your convenience, I've pushed the result to
> > > 
> > > 	git://linuxtv.org/pinchartl/media.git imx7/destage
> > > 
> > > I know it's a bit of a short notice, but I'd like to send a pull request
> > > in time for v5.20, when do you think you would be able to test the
> > > series ?
> > 
> > I happen to have my setup already available, so I could test your updated
> > series pretty fast.
> > Accessing imx327 still works for WIP config. So
> > Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> 
> Thanks a lot for the quick testing. I've now sent the pull request.
> 
> Do you plan to submit a new version of your patches on top of this ?

The patches regarding the imx[,7]-media-* are not needed anymore, they are 
obsolete now. There are only patches regarding DT overlay and the Vision 
Components FPGA and sensors I'm working on right now.

Best regards,
Alexander