All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Paul Bolle <pebolle-IWqWACnzNjzz+pZb47iToQ@public.gmane.org>,
	YT Shen <yt.shen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
	Jitao Shi <jitao.shi-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Cawa Cheng <cawa.cheng-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
	dri-devel
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	CK Hu <ck.hu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Daniel Stone <daniel-rLtY4a/8tF1rovVCs/uTlw@public.gmane.org>,
	"kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Matthias Brugger
	<matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [RFC v2 1/4] dt-bindings: drm/mediatek: Add Mediatek display subsystem dts binding
Date: Fri, 02 Oct 2015 09:18:39 +0200	[thread overview]
Message-ID: <1443770319.3445.20.camel@pengutronix.de> (raw)
In-Reply-To: <CAL_Jsq+aBxjvPyAR3nUtXny6JwgcopSCENrBaGzo7OKXFA1cvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Am Donnerstag, den 01.10.2015, 07:58 -0500 schrieb Rob Herring:
> On Thu, Oct 1, 2015 at 3:59 AM, Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
> > Am Mittwoch, den 30.09.2015, 12:13 -0500 schrieb Rob Herring:
> >> On Mon, Sep 21, 2015 at 3:11 AM, Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
> >> > Note how the display-subsystem node overlaps the larb node. Is that
> >> > acceptable?
> >>
> >> Given what the graph looks like, perhaps. However, do you really need
> >> a container node? It only serves to provide a list of nodes (e.g. all
> >> the children) to include as components. There are other ways to
> >> determine this list. You could find all nodes just searching
> >> compatible strings for each component. You just need to bind the drm
> >> driver to some other DT node. Is there no node you can pick as the
> >> master component?
> >
> > There is the mmsys clock-controller node at the top of the MMSYS address
> > space (0x14000000-0x14ffffff):
> >
> >         mmsys: clock-controller@14000000 {
> >                 compatible = "mediatek,mt8173-mmsys", "syscon";
> >                 reg = <0 0x14000000 0 0x1000>;
> >                 #clock-cells = <1>;
> >         };
> >
> > Its register space also contains the MMSYS_CONFIG region that controls
> > the multiplexers between the display function blocks, so that would be a
> > good candidate.
> > No driver binds to this node yet, the clocks are registered with
> > CLK_OF_DECLARE.
> >
> > I'll try to bind to this node and have the driver find sibling nodes
> > using their compatible strings.
> 
> That doesn't seem like a good choice since there are other functions
> in the block. I was thinking one of the display related blocks like
> whatever block provides the main crtc functions.

Why exactly isn't this a good choice? Since all display function blocks
are spread throughout the MMSYS address space, using the mmsys driver to
create the DRM/component master platform driver that collects its
subdevices sounded logical.

Another candidate would be the mutex node, which can synchronize the
configuration updates to the function blocks in the MMSYS region to
frame borders.

The hardware blocks that most closely correspond to crtc functionality
are the two OVL blocks, as Daniel points out. They provide DMA and plane
composition. But they are equivalent, and there is no single central
node, same as with the two IPUs on i.MX6.
Also, I'd like to keep the possibility of not tying OVL blocks to crtc
functionality too closely, because there are three more separate RDMA
units, at least one of which could be used to implement a third pipe in
the future.

Either way, if we go this path (one driver scanning DT for known
component driver compatible values), whichever node the master driver
binds to is a Linux implementation detail, and it should be completely
hidden from the device tree and binding specs.

regards
Philipp

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-10-02  7:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-18 16:11 [RFC v2 0/4] MT8173 DRM support Philipp Zabel
2015-09-18 16:11 ` [RFC v2 1/4] dt-bindings: drm/mediatek: Add Mediatek display subsystem dts binding Philipp Zabel
     [not found]   ` <1442592722-29004-2-git-send-email-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-09-18 20:33     ` Rob Herring
2015-09-21  8:11       ` Philipp Zabel
     [not found]         ` <1442823067.3277.35.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-09-30 17:13           ` Rob Herring
2015-10-01  8:59             ` Philipp Zabel
2015-10-01 12:58               ` Rob Herring
2015-10-01 14:29                 ` Daniel Kurtz
     [not found]                   ` <CAGS+omAs4Jvu7tKEMoNL9BSMQMwW=9UHzXW8_jS=5MbajaJzOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-02  7:40                     ` Philipp Zabel
2015-10-02 13:47                       ` Daniel Kurtz
     [not found]                         ` <CAGS+omC3M71q8XMRevnM-_aocZXryK7NFDnVnJCdiG6tM-PjUQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-02 14:33                           ` Philipp Zabel
2015-10-23 12:29                   ` Rob Herring
     [not found]                 ` <CAL_Jsq+aBxjvPyAR3nUtXny6JwgcopSCENrBaGzo7OKXFA1cvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-02  7:18                   ` Philipp Zabel [this message]
2015-10-02 14:24                     ` Rob Herring
     [not found]                       ` <CAL_JsqJhoysg=39gsArwmxf3xpzeXeHhxJ7THq4SbVc-NyertQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-02 14:51                         ` Philipp Zabel
2015-09-30 15:30       ` Philipp Zabel
2015-09-30 16:57         ` Rob Herring
2015-10-01  8:59           ` Philipp Zabel
2015-09-18 16:12 ` [RFC v2 2/4] drm/mediatek: Add DRM Driver for Mediatek SoC MT8173 Philipp Zabel
     [not found]   ` <1442592722-29004-3-git-send-email-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-09-22  9:38     ` Daniel Vetter
     [not found]       ` <20150922093842.GE3383-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2015-09-22 10:06         ` Philipp Zabel
2015-09-18 16:12 ` [RFC v2 3/4] drm/mediatek: Add DSI sub driver Philipp Zabel
2015-09-18 16:12 ` [RFC v2 4/4] drm/mediatek: Add DRM-based framebuffer device Philipp Zabel
2015-09-22  9:29   ` Daniel Vetter
     [not found]     ` <20150922092951.GD3383-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2015-09-22 10:35       ` Philipp Zabel

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=1443770319.3445.20.camel@pengutronix.de \
    --to=p.zabel-bicnvbalz9megne8c9+irq@public.gmane.org \
    --cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=cawa.cheng-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=ck.hu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=daniel-rLtY4a/8tF1rovVCs/uTlw@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=jitao.shi-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=pebolle-IWqWACnzNjzz+pZb47iToQ@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=yt.shen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.