From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
Cc: jacopo mondi <jacopo@jmondi.org>,
Jacopo Mondi <jacopo+renesas@jmondi.org>,
geert@linux-m68k.org, horms@verge.net.au,
kieran.bingham+renesas@ideasonboard.com,
damm+renesas@opensource.se, ulrich.hecht+renesas@gmail.com,
linux-renesas-soc@vger.kernel.org
Subject: Re: [RFT 0/8] arm64: dts: renesas: Ebisu: Add HDMI and CVBS input
Date: Tue, 28 Aug 2018 13:40:34 +0300 [thread overview]
Message-ID: <4076708.qWth0rfBdu@avalon> (raw)
In-Reply-To: <20180827132345.GC15572@bigcity.dyn.berto.se>
Hi Niklas,
On Monday, 27 August 2018 16:23:45 EEST Niklas Söderlund wrote:
> On 2018-08-27 11:49:56 +0200, Jacopo Mondi wrote:
> > On Sat, Aug 25, 2018 at 03:18:06PM +0200, jacopo mondi wrote:
> >> On Sat, Aug 25, 2018 at 08:37:15AM +0200, Niklas Söderlund wrote:
> >>> On 2018-08-25 02:54:44 +0300, Laurent Pinchart wrote:
> >>>> On Monday, 20 August 2018 13:16:34 EEST Jacopo Mondi wrote:
> >>>>> Hello renesas list,
> >>>>>
> >>>>> this series add supports for the HDMI and CVBS input to R-Car
> >>>>> E3 R8A77990 Ebisu board.
> >>>>>
> >>>>> It's an RFT, as I don't have an Ebisu to test with :(
> >>>>>
> >>>>> The series adds supports for the following items:
> >>>>>
> >>>>> - PFC: add VIN groups and functions
> >>>>> - R-Car VIN and R-Car CSI-2: add support for R8A77990
> >>>>> - R8A77990: Add I2C, VIN and CSI-2 nodes
> >>>>> - Ebisu: describe HDMI and CVBS inputs
> >>>>>
> >>>>> Each patch, when relevant reports difference between the upported
> >>>>> BSP patch and the proposed one.
> >>>>>
> >>>>> I know Laurent should receive an Ebisu sooner or later, maybe we
> >>>>> can sync for testing :)
> >>>>
> >>>> I've given the series a first test, and I think a bit more work is
> >>>> needed :-)
> >>>>
> >>>> [ 1.455533] adv748x 0-0070: Endpoint
> >>>> /soc/i2c@e6500000/video-receiver@70/ port@7/endpoint on port 7
> >>>> [ 1.464683] adv748x 0-0070: Endpoint
> >>>> /soc/i2c@e6500000/video-receiver@70/ port@8/endpoint on port 8
> >>>> [ 1.473728] adv748x 0-0070: Endpoint
> >>>> /soc/i2c@e6500000/video-receiver@70/ port@a/endpoint on port 10
> >>>> [ 1.484835] adv748x 0-0070: chip found @ 0xe0 revision 2143
> >>>> [ 1.639470] adv748x 0-0070: No endpoint found for txb
> >>>> [ 1.644653] adv748x 0-0070: Failed to probe TXB
> >>>
> >>> I fear this is a design choice in the adv748x driver. Currently the
> >>> driver requires both of its two CSI-2 transmitters to be
> >>> connected/used else probe fails. Furthermore the HDMI capture is always
> >>> routed to TXA while the analog capture is always routed to TXB.
> >>>
> >>> Now that we have a board where only TXA is connected but both HDMI and
> >>> analog captures are used maybe it's time to do some more work on v4l2
> >>> and the adv748x driver ;-P What's missing:
> >>>
> >>> - Probe should be OK with either TXA or TXB connected and not bail if
> >>> not both are used.
> >>
> >> I have three patches for this I hope to share as soon as I'll be able
> >> to do some more testing
> >>
> >>> - The media_device_ops or at least the .link_notify() callback of that
> >>> struct must be changed so not one driver in the media graph is
> >>> responsible for all links. In this case rcar-vin provides the
> >>> callback and rcar-vin should not judge which links between the
> >>> adv748x subdevices are OK to enable/disable. Currently the links
> >>> between the adv748x subdevices are immutably enabled to avoid this
> >>> particular problem.
> >>
> >> Uh, I didn't get this :/ Care to elaborate more?
> >
> > I'm thinking if it is not enough to just provide a .link_setup()
> > callback to the (enabled) csi-2 sink pads of the adv748x and handle
> > routing between the afe/hdmi sources and that sink, without the vin's
> > registered link_notify playing any role in that.
>
> That is my point, the v4l2 framework needs work to allow all drivers to
> provide a .link_setup() callback. And this as you describe will conflict
> with the current solution where there is only one possible such
> callback. So in addition to being able to have multiple such callbacks
> the current drivers implementing one would need to be updated to ignore
> links which it do not care about.
Isn't this already possible ? We have a single top-level .link_notify()
operation at the media device level, but also .link_setup() operations for
each entity.
> In our case the .link_setup() in rcar-vin should not care about the
> links between the adv748x internal subdevice. Of course the other way
> around is also true, the .link_setup() in adv748x should not care about
> the links handled by rcar-vin :-)
>
> As you discovers this is not possible today and might require some work
> or maybe even a different design then the one outlined above.
>
> >> What I was about to do, instead, given the fixed HDMI->TXA and AFE->TXB
> >> routing in the adv748x driver was to insert a .link_validate() callback
> >> for both the HDMI and AFE backends, that checks for the availability of
> >> the corresponding output endpoint. This seems to me that this makes
> >> easy when dynamic routing will be added to do the same on the
> >> dynamically configured sink pad.
> >> What do you think?
> >
> > On a second thought if a CSI-2 sink it's not enabled it is not part of
> > the media graph neither, so it should not be possible to link it in any
> > pipeline, so no link validation is required. The link simply can't
> > exist.
> >
> > It seems to me that to support Ebisu-like designs is then enough to
> > make the adv748x driver probe with a single csi-2 output enabled and
> > handle power management accordingly. I will share patches for this
> > briefly.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-08-28 14:31 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-20 10:16 [RFT 0/8] arm64: dts: renesas: Ebisu: Add HDMI and CVBS input Jacopo Mondi
2018-08-20 10:16 ` [RFT 1/8] media: dt-bindings: media: rcar-vin: Add R8A77990 support Jacopo Mondi
2018-08-20 22:39 ` Rob Herring
2018-08-21 6:45 ` jacopo mondi
2018-08-20 10:16 ` [RFT 2/8] media: rcar-vin: Add support for R-Car R8A77990 Jacopo Mondi
2018-08-20 10:16 ` [RFT 3/8] dt-bindings: media: rcar-csi2: Add R8A77990 Jacopo Mondi
2018-08-20 22:40 ` Rob Herring
2018-08-20 10:16 ` [RFT 4/8] media: rcar-csi2: Add R8A77990 support Jacopo Mondi
2018-08-20 10:16 ` [RFT 5/8] pinctrl: sh-pfc: r8a77990: Add VIN pins, groups and functions Jacopo Mondi
2018-08-28 7:46 ` Geert Uytterhoeven
2018-08-28 8:43 ` jacopo mondi
2018-08-20 10:16 ` [RFT 6/8] arm64: dts: r8a77990: Add VIN and CSI-2 device nodes Jacopo Mondi
2018-08-20 10:16 ` [RFT 7/8] arm64: dts: r8a77990: Add I2C " Jacopo Mondi
2018-08-30 15:18 ` Geert Uytterhoeven
2018-08-20 10:16 ` [RFT 8/8] arm64: dts: renesas: ebisu: Add HDMI and CVBS input Jacopo Mondi
2018-08-24 23:54 ` [RFT 0/8] arm64: dts: renesas: Ebisu: " Laurent Pinchart
2018-08-25 6:37 ` Niklas Söderlund
2018-08-25 13:18 ` jacopo mondi
2018-08-27 9:49 ` jacopo mondi
2018-08-27 13:23 ` Niklas Söderlund
2018-08-27 14:20 ` jacopo mondi
2018-08-28 10:40 ` Laurent Pinchart [this message]
2018-08-29 23:44 ` Niklas Söderlund
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=4076708.qWth0rfBdu@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=damm+renesas@opensource.se \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=jacopo+renesas@jmondi.org \
--cc=jacopo@jmondi.org \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=ulrich.hecht+renesas@gmail.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).