public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	Sean Paul <seanpaul@google.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	sunil joshi <joshi@samsung.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Ajay kumar <ajaynumb@gmail.com>,
	Prashanth G <prashanth.g@samsung.com>,
	Ajay Kumar <ajaykumar.rs@samsung.com>
Subject: Re: [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties
Date: Mon, 06 Oct 2014 17:40:43 +0300	[thread overview]
Message-ID: <353158006.4Zqtrv9CtX@avalon> (raw)
In-Reply-To: <542283DE.5040909@ti.com>

Hi Tomi,

On Wednesday 24 September 2014 11:42:06 Tomi Valkeinen wrote:
> On 23/09/14 17:45, Thierry Reding wrote:
> > On Tue, Sep 23, 2014 at 02:31:35PM +0300, Tomi Valkeinen wrote:
> >> On 23/09/14 12:39, Thierry Reding wrote:
> >>> My point is that if you use plain phandles you usually have the
> >>> meta-data already. Referring to the above example, bridge0 knows that it
> >>> should look for a bridge with phandle &bridge1, whereas bridge1 knows
> >>> that the device it is connected to is a panel.
> >> 
> >> The bridge should not care what kind of device is there on the other
> >> end. The bridge just has an output, going to another video component.
> > 
> > You'll need to know at some point that one of the devices in a panel,
> > otherwise you can't treat it like a panel.
> 
> The bridge doesn't need to treat it like a panel. Someone else might,
> though. But the panel driver knows it is a panel, and can thus register
> needed services, or mark itself as a panel.
> 
> >>>> Well, I can't say about this particular bridge, but afaik you can
> >>>> connect a parallel RGB signal to multiple panels just like that,
> >>>> without any muxing.
> >>> 
> >>> Right, but in that case you're not reconfiguring the signal in any way
> >>> for each of the panels. You send one single signal to all of them. For
> >> 
> >> Yes, that's one use case, cloning. But I was not talking about that.
> >> 
> >>> all intents and purposes there is only one panel. Well, I guess you
> >>> could have separate backlights for the panels. In that case though it
> >>> seems better to represent it at least as a virtual mux or bridge, or
> >>> perhaps a "mux panel".
> >> 
> >> I was talking about the case where you have two totally different
> >> devices, let's say panels, connected to the same output. One could take
> >> a 16-bit parallel RGB signal, the other 24-bit. Only one of them can  be
> >> enabled at a time (from HW perspective both can be enabled at the same
> >> time, but then the other one shows garbage).
> > 
> > So we're essentially back to a mux, albeit maybe a virtual one.
> 
> Yes. Are you suggesting to model virtual hardware in .dts? I got the
> impression that you wanted to model only the real hardware in .dts =).
> 
> But seriously speaking, I was thinking about this. I'd really like to
> have a generic video-mux node, that would still somehow allow us to have
> device specific configurations for the video sources and sinks (which
> the endpoints provide us), without endpoints.
> 
> The reason endpoints don't feel right in this case is that it makes
> sense that the mux has a single input and two outputs, but with
> endpoints we need two endpoints from the bridge (which is still ok), but
> we also need two endpoitns in the mux's input side, which doesn't feel
> right.
> 
> I came up with the following. It's quite ugly, though. I hope someone
> has ideas how it could be done in a neater way:
> 
> bridge1234 {
> 	bridge1234-cfg1: config1 {
> 		high-voltage;
> 	};
> 
> 	bridge1234-cfg2: config2 {
> 		low-voltage;
> 	};
> 
> 	output = <&mux>;
> };
> 
> mux: video-gpio-mux {
> 	gpio = <123>;
> 
> 	outputs = <&panel1 &panel2>;
> 	input-configs = <&bridge1234-cfg1 &bridge1234-cfg2>;
> };
> 
> panel1: panel-foo {
> 
> };
> 
> panel2: panel-foo {
> 
> };
> 
> So the bridge node has configuration sets. These might be compared to
> pinmux nodes. And the mux has a list of input-configs. When panel1 is to
> be enabled, "bridge1234-cfg1" config becomes active, and the bridge is
> given this configuration.
> 
> I have to say the endpoint system feels cleaner than the above, but
> perhaps it's possible to improve the method above somehow.

Isn't it possible for the bridge to compute its configuration at runtime by 
querying properties of the downstream video entities ? That would solve the 
problem neatly.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2014-10-06 14:40 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-27 14:39 [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties Ajay Kumar
2014-08-27 14:39 ` [PATCH V7 10/12] Documentation: devicetree: Add vendor prefix for parade Ajay Kumar
2014-08-27 14:39 ` [PATCH V7 09/12] Documentation: drm: bridge: move to video/bridge Ajay Kumar
2014-09-17 11:52 ` [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties Tomi Valkeinen
2014-09-17 14:29   ` Ajay kumar
2014-09-17 16:22     ` Tomi Valkeinen
2014-09-18  5:50       ` Ajay kumar
2014-09-19 12:54         ` Tomi Valkeinen
2014-09-19 13:59           ` Ajay kumar
2014-09-19 14:28             ` Tomi Valkeinen
2014-09-20 11:22               ` Ajay kumar
2014-09-20 15:27                 ` Javier Martinez Canillas
2014-09-22  6:00                   ` Ajay kumar
2014-09-22 15:05                   ` Tomi Valkeinen
2014-10-07 10:30                 ` Tomi Valkeinen
2014-10-07 10:36                   ` Ajay kumar
2014-10-07 14:49                     ` Laurent Pinchart
2014-10-08  7:09                       ` Thierry Reding
2014-10-10 13:03                         ` Ajay kumar
2014-10-16  8:23                           ` Ajay kumar
2014-10-16  9:04                           ` Laurent Pinchart
2014-10-28  9:12                             ` Javier Martinez Canillas
2014-10-28 11:12                               ` Ajay kumar
2014-09-22  8:26               ` Thierry Reding
2014-09-22 14:42                 ` Tomi Valkeinen
2014-09-23  5:53                   ` Thierry Reding
2014-09-23  8:41                     ` Tomi Valkeinen
2014-09-23  9:28                       ` Thierry Reding
2014-09-23 11:15                         ` Tomi Valkeinen
2014-09-23 14:29                           ` Thierry Reding
2014-09-23 15:25                             ` Tomi Valkeinen
2014-09-22  8:10         ` Thierry Reding
2014-09-22  8:31           ` Ajay kumar
2014-09-22 10:41             ` Thierry Reding
2014-09-22 11:23               ` Ajay kumar
2014-09-22 11:35                 ` Thierry Reding
2014-09-22 12:12                   ` Ajay kumar
2014-09-23  0:00                   ` Laurent Pinchart
2014-09-23  5:55                     ` Thierry Reding
2014-09-23  6:11                       ` Ajay kumar
2014-09-23  6:28                         ` Thierry Reding
2014-09-23 11:47                       ` DT property to selectively disable device features (was [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties) Laurent Pinchart
2014-09-22  8:06       ` [PATCH V7 11/12] Documentation: bridge: Add documentation for ps8622 DT properties Thierry Reding
2014-09-22 14:23         ` Tomi Valkeinen
2014-09-23  6:04           ` Thierry Reding
2014-09-23  7:24             ` Andrzej Hajda
2014-09-23  8:35               ` Thierry Reding
2014-09-23  9:40                 ` Tomi Valkeinen
2014-09-23 10:01                   ` Thierry Reding
2014-09-23 12:09                     ` Tomi Valkeinen
2014-09-23 14:38                       ` Thierry Reding
2014-09-23 15:33                         ` Tomi Valkeinen
2014-09-23  9:43                 ` Andrzej Hajda
2014-09-23 10:10                   ` Thierry Reding
2014-09-23 10:34                     ` Andrzej Hajda
2014-09-23 14:41                       ` Thierry Reding
2014-09-24  7:11                         ` Andrzej Hajda
2014-09-24  8:27                         ` Tomi Valkeinen
2014-09-23 11:33                     ` Laurent Pinchart
2014-09-23  8:54             ` Tomi Valkeinen
2014-09-23  9:39               ` Thierry Reding
2014-09-23 11:31                 ` Tomi Valkeinen
2014-09-23 14:45                   ` Thierry Reding
2014-09-24  8:42                     ` Tomi Valkeinen
2014-10-06 14:40                       ` Laurent Pinchart [this message]
2014-10-07  7:06                         ` Tomi Valkeinen
2014-10-07  7:23                           ` Laurent Pinchart
2014-10-07  8:25                             ` Tomi Valkeinen
2014-10-07 16:14                               ` Laurent Pinchart
2014-09-22  7:54   ` Thierry Reding
2014-09-22 14:04     ` Tomi Valkeinen
2014-09-23  6:21       ` Thierry Reding
2014-09-23  9:30         ` Tomi Valkeinen
2014-09-23  9:53           ` Thierry Reding
2014-09-23 11:12             ` Laurent Pinchart
2014-09-23 14:50               ` Thierry Reding
2014-09-23 12:00             ` Tomi Valkeinen
2014-09-23 14:58               ` Thierry Reding
2014-09-24  9:08                 ` Tomi Valkeinen
2014-09-25  6:23                   ` Thierry Reding
2014-10-06 11:34                     ` Tomi Valkeinen
2014-10-06 13:55                       ` Laurent Pinchart
2014-09-23 10:02           ` Andrzej Hajda
2014-09-23 10:02           ` Andrzej Hajda
2014-09-23 11:10             ` Laurent Pinchart
2014-09-23 11:18               ` Andrzej Hajda
2014-09-23 11:23                 ` Laurent Pinchart
2014-09-23 11:47                   ` Andrzej Hajda
2014-09-23 11:52                     ` Laurent Pinchart
2014-09-23 12:40                       ` Andrzej Hajda
2014-09-23 12:40                       ` Andrzej Hajda
2014-09-23 14:49                       ` Thierry Reding
2014-10-06 14:38                         ` Laurent Pinchart

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=353158006.4Zqtrv9CtX@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=ajaykumar.rs@samsung.com \
    --cc=ajaynumb@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=joshi@samsung.com \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=prashanth.g@samsung.com \
    --cc=seanpaul@google.com \
    --cc=tomi.valkeinen@ti.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