devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
To: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	Richard Sproul <sproul@cadence.com>,
	Alan Douglas <adouglas@cadence.com>,
	Steve Creaney <screaney@cadence.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Boris Brezillon <boris.brezillon@bootlin.com>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Benoit Parrot <bparrot@ti.com>,
	nm@ti.com, Simon Hatliff <hatliff@cadence.com>
Subject: Re: [PATCH v5 0/2] media: v4l: Add support for the Cadence MIPI-CSI2 TX controller
Date: Thu, 1 Mar 2018 17:13:38 +0100	[thread overview]
Message-ID: <20180301161338.GA12470@bigcity.dyn.berto.se> (raw)
In-Reply-To: <20180301113049.16470-1-maxime.ripard@bootlin.com>

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

  parent reply	other threads:[~2018-03-01 16:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-01 11:30 [PATCH v5 0/2] media: v4l: Add support for the Cadence MIPI-CSI2 TX controller Maxime Ripard
2018-03-01 11:30 ` [PATCH v5 1/2] dt-bindings: media: Add Cadence MIPI-CSI2 TX Device Tree bindings Maxime Ripard
2018-03-01 11:30 ` [PATCH v5 2/2] v4l: cadence: Add Cadence MIPI-CSI2 TX driver Maxime Ripard
2018-03-01 16:26   ` Niklas Söderlund
2018-03-02  8:24     ` Maxime Ripard
2018-03-01 20:35   ` Benoit Parrot
2018-03-02  9:49     ` Maxime Ripard
2018-03-01 16:13 ` Niklas Söderlund [this message]
2018-03-02  8:15   ` [PATCH v5 0/2] media: v4l: Add support for the Cadence MIPI-CSI2 TX controller Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180301161338.GA12470@bigcity.dyn.berto.se \
    --to=niklas.soderlund@ragnatech.se \
    --cc=adouglas@cadence.com \
    --cc=boris.brezillon@bootlin.com \
    --cc=bparrot@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hans.verkuil@cisco.com \
    --cc=hatliff@cadence.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=mchehab@kernel.org \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=screaney@cadence.com \
    --cc=sproul@cadence.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).