Re: [PATCH v5 0/2] media: v4l: Add support for the Cadence MIPI-CSI2 TX controller

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

 



Hi Maxime,

Thanks for your patch-set,

On 2018-03-01 12:30:47 +0100, Maxime Ripard wrote:
> Hi,
> 
> Here is an attempt at supporting the MIPI-CSI2 TX block from Cadence.
> 
> This IP block is able to receive 4 video streams and stream them over
> a MIPI-CSI2 link using up to 4 lanes. Those streams are basically the
> interfaces to controllers generating some video signals, like a camera
> or a pattern generator.
> 
> It is able to map input streams to CSI2 virtual channels and datatypes
> dynamically. The streaming devices choose their virtual channels
> through an additional signal that is transparent to the CSI2-TX. The
> datatypes however are yet another additional input signal, and can be
> mapped to any CSI2 datatypes.
> 
> Since v4l2 doesn't really allow for that setup at the moment, this
> preliminary version is a rather dumb one in order to start the
> discussion on how to address this properly.

I'm sure you already are aware of this but in case you are not. Sakari 
have a branch [1] which addresses much of the CSI-2 virtual channel 
problems. It handles data types, virtual channels and format validation 
for pipelines in IMHO good way.  I have used it for my base when 
implementing the R-Car CSI-2 receiver which adds a proposed way on how 
to start and stop streams using Sakaris work [2].

Would it be possible for you to try this series on-top of Sakaris branch 
and see if it fits your needs? I would be happy if it did and we can 
start the process of trying to get his work upstream so we can clear 
that dependency for our hopefully shared problem :-)

1. https://git.linuxtv.org/sailus/media_tree.git vc
2. https://git.ragnatech.se/linux v4l2/mux

> 
> Let me know what you think!
> Maxime
> 
> Changes from v4:
>   - After playing a bit with the pad multiplexing patches, found that it
>     was making much more sense to have the subdev notifiers for the source
>     subdev rather for the sink that might even be outside of Linux control.
>     Removed the notifier for now.
> 
> Changes from v3:
>   - Added a comment about entity links walk concurrency
>   - Changed the default resolution to 1280x720
>   - Changed usleep_range calls to udelay
>   - Reworked the reference counting mechanism to remove a race
>     condition by adding a mutex instead of an atomic count
>   - Changed the entity function to MEDIA_ENT_F_VID_IF_BRIDGE
>   - Changed the name of the reg variable in _get_resources to dev_cfg
>   - Removed the redundant error message in the devm_ioremap_resource
>     error path
>   - Moved the subdev s_stream call before enabling the TX bridge
>   - Changed some int types to unsigned
>   - Init'd the pad formats properly
>   - Fixed typo in the CSI2TX_LANES_MAX define name
>   - Added Sakari Acked-by
> 
> Changes from v2:
>   - Use SPDX license header
>   - Use the lane mapping from DT
> 
> Changes from v1:
>   - Add a subdev notifier and start our downstream subdevice in
>     s_stream  
>   - Based the decision to enable the stream or not on the link state
>     instead of whether a format was being set on the pad
>   - Put the controller back in reset when stopping the pipeline
>   - Clarified the enpoints number in the DT binding
>   - Added a default format for the pads
>   - Added some missing const
>   - Added more explicit comments
>   - Rebased on 4.15
> 
> Maxime Ripard (2):
>   dt-bindings: media: Add Cadence MIPI-CSI2 TX Device Tree bindings
>   v4l: cadence: Add Cadence MIPI-CSI2 TX driver
> 
>  .../devicetree/bindings/media/cdns,csi2tx.txt      |  98 ++++
>  drivers/media/platform/cadence/Kconfig             |  11 +
>  drivers/media/platform/cadence/Makefile            |   1 +
>  drivers/media/platform/cadence/cdns-csi2tx.c       | 527 +++++++++++++++++++++
>  4 files changed, 637 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/cdns,csi2tx.txt
>  create mode 100644 drivers/media/platform/cadence/cdns-csi2tx.c
> 
> -- 
> 2.14.3
> 

-- 
Regards,
Niklas Söderlund
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux