From: Benoit Parrot <bparrot@ti.com>
To: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org,
dri-devel <dri-devel@lists.freedesktop.org>,
Jyri Sarha <jsarha@ti.com>,
Peter Ujfalusi <peter.ujfalusi@ti.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [Patch 2/4] dt-bindings: display/ti: Add plane binding to dispc node
Date: Fri, 9 Mar 2018 12:27:51 -0600 [thread overview]
Message-ID: <20180309182751.GC31988@ti.com> (raw)
In-Reply-To: <CAL_Jsq+tV=gCK=H-KZXRV8gSFigE0kg+47Zj84h4+jw1T_Szjg@mail.gmail.com>
Rob Herring <robh+dt@kernel.org> wrote on Fri [2018-Mar-02 13:19:13 -0600]:
> On Fri, Mar 2, 2018 at 7:48 AM, Benoit Parrot <bparrot@ti.com> wrote:
> > Add 'plane' child node to generic DISPC node as an optional
> > property.
>
> Why? What problem are you solving?
Ah yes, I guess on its own it does not mean much...
How about:
Currently all available display pipelines (i.e. plane) and output
port resources are exposed to user-space.
In some cases it is needed to be able restrict which resources are
actually visible from user-space. Also in cases where a display wider
than 2048 pixels is to be supported more than one video pipeline is
needed. In this case the 2nd hardware pipeline needed is not visible
to user space applications.
These video pipeline definitions must be statically defined so that
the number of visible pipelines does not change from the user-space
perspective.
In order to allow this we are adding an optional sub-node to the generic
DISPC node.
>
> >
> > Signed-off-by: Benoit Parrot <bparrot@ti.com>
> > ---
> > .../devicetree/bindings/display/ti/ti,omap-dss.txt | 63 ++++++++++++++++++++++
> > 1 file changed, 63 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> > index 249e588d7865..cb101525b805 100644
> > --- a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> > +++ b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> > @@ -27,6 +27,34 @@ DISPC
> > Optional properties:
> > - max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth limit
> > in bytes per second
> > +- plane: Child node(s) which defines which logical plane are available to
>
> This is the "Optional properties" section and plane is not a property.
Right, I'll correct that to an optional sub-node which has required and
optional properties.
>
> > + the system. If at least one plane child node is defined then
> > + only planes defined by these nodes will be available to the system.
> > + Plane nodes must be sequential starting with reg = <0> as DT parsing
> > + will stop on the first missing numbered node.
> > + This means if plane #1 is defined but plane #0 is not then it will
> > + be as if none of the plane nodes were defined.
> > +
> > + Each plane node contains the following properties:
> > + Required properties:
> > + - reg: Used to number the logical plane
>
> Is logical plane a h/w concept?
It does represent a hardware resource.
>
> > + - hw-planes: One or two HW plane number(s).
> > + When 2 numbers are present this indicates a virtual plane
> > + composed of two physical planes intended to be used
> > + when the display is larger then the capacity of a
> > + single plane i.e. wider than 2048 pixels.
> > + The first number in the pair will dictate the capabilities
> > + of the virtual plane. This means that for proper
> > + operation the virtual plane should be composed of HW
> > + planes of the same capabilities.
> > + If GFX plane is used in a virtual plane it should be
> > + specified first, otherwise unexpected behavior would
> > + be encountered.
> > + Optional property:
> > + - hw-crtcs: One or more HW crtc number(s).
> > + Describe the list of CRTCs on which this plane is
> > + available. If this node is not present then the
> > + plane will be available on all available CRTCs.
>
> Let's not copy archaic terms from DRM into bindings.
Ok, I can rename them to use the TRM terminology instead.
I chose DRM term because they are well known.
So we'll have
video-pipeline instead of hw-planes
video-output instead of hw-crtcs
Any comments on the sub-node name itself?
Or can we keep 'plane'?
>
> Really, I'm skeptical that any of this belongs in DT. For example,
> can't you figure out you need 2 physical planes whenever your
> panel/timing width is greater than 2048?
As stated in the description I added above, we cannot have resources
exposed to user-space which can "disappear" dynamically.
Doing so would break user-space applications which rely on these
resources.
Benoit
>
> Rob
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-03-09 18:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-02 13:48 [Patch 0/4] drm/omap: Add virtual-planes support Benoit Parrot
2018-03-02 13:48 ` [Patch 1/4] dt-bindings: display/ti: Move common dispc bindings to omap-dss.txt Benoit Parrot
2018-03-07 20:26 ` Rob Herring
2018-03-02 13:48 ` [Patch 2/4] dt-bindings: display/ti: Add plane binding to dispc node Benoit Parrot
2018-03-02 19:19 ` Rob Herring
2018-03-09 18:27 ` Benoit Parrot [this message]
2018-03-14 11:23 ` Tomi Valkeinen
2018-03-19 0:06 ` Rob Herring
2018-03-19 7:15 ` Tomi Valkeinen
2018-03-23 1:23 ` Rob Herring
2018-03-23 7:53 ` Tomi Valkeinen
2018-04-09 18:17 ` Rob Herring
2018-04-17 14:37 ` Tomi Valkeinen
2018-04-19 6:34 ` Daniel Vetter
2018-04-19 7:11 ` Tomi Valkeinen
2018-04-20 7:00 ` Daniel Vetter
2018-04-20 7:21 ` Tomi Valkeinen
2018-04-20 8:08 ` Daniel Vetter
2018-03-02 13:48 ` [Patch 3/4] drm/omap: Add virtual plane DT parsing support Benoit Parrot
2018-03-14 11:11 ` Tomi Valkeinen
2018-03-02 13:48 ` [Patch 4/4] drm/omap: Add virtual plane support to omap_plane Benoit Parrot
2018-03-14 11:56 ` Tomi Valkeinen
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=20180309182751.GC31988@ti.com \
--to=bparrot@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=peter.ujfalusi@ti.com \
--cc=robh+dt@kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).