linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Alexander Holler <holler@ahsoftware.de>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Mark Rutland <Mark.Rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Jon Loeliger <jdl@jdl.com>, Russell King <linux@arm.linux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT)
Date: Wed, 27 Aug 2014 18:52:43 +0100	[thread overview]
Message-ID: <20140827175243.GJ13850@arm.com> (raw)
In-Reply-To: <53FE0966.5020206@wwwdotorg.org>

On Wed, Aug 27, 2014 at 05:37:58PM +0100, Stephen Warren wrote:
> On 08/27/2014 10:30 AM, Alexander Holler wrote:
> > Am 27.08.2014 18:22, schrieb Stephen Warren:
> >> On 08/27/2014 08:44 AM, Catalin Marinas wrote:
> >
> >>> It's not just optimisation but an important feature for new arm64 SoCs.
> >>> Given some Tegra discussions recently, in many cases the machine_desc
> >>> use on arm is primarily to initialise devices in the right order. If we
> >>> can solve this in a more deterministic way (other than deferred
> >>> probing), we avoid the need for a dedicated SoC platform driver (or
> >>> machine_desc) or workarounds like different initcall levels and explicit
> >>> DT parsing.
> >>
> >> A lot of the ordering is SW driver dependencies. I'm not sure how much
> >> of that can accurately be claimed as HW dependencies. As such, I'm not
> >> sure that putting dependencies into DT would be a good idea; it doesn't
> >> feel like HW data, and might well change if we restructure SW. It'd need
> >> some detailed research though.
> >
> > Almost every phandle is a dependency, so the DT is already full with them.
> 
> That's true, but not entirely relevant.
> 
> phandles in DT should only be present where there's an obvious HW 
> dependency. It's obvious that, for example, there's a real HW dependency 
> between an IRQ controller and a device that has an IRQ signal fed into 
> the IRQ controller. It makes perfect sense to represent that as a 
> phandle (+args).

Other examples are power controllers or some MFD device (as we have on
vexpress). For these we normally have phandles.

> However, most of the ordering imposed by the Tegra machine descriptor 
> callbacks is nothing to do with this. It's more that the SW driver for 
> component X needs some low level data (e.g. SKU/fuse information) before 
> it can run. However, there's no real HW dependency between the HW 
> component X and the fuse module. As such, it doesn't make sense to 
> represent such a dependency in DT, using a phandle or by any other means.

But isn't fuse some piece of hardware? We don't have a model for it, so
I guess you just present it as a library that accesses the hardware.
Anyway, in such case something like Pawel's SoC driver proposal would
work. Now if anything inside the SoC bus (I have to re-read, I don't
fully remember the details) is probed after the SoC driver, you could
even initialise your SoC at device_initcall() level.

> Irrespective though, a new kernel needs to work against an old DT,

I fully agree. But we shouldn't really extend the "old DT" statement to
a new ARMv8 SoC ;).

-- 
Catalin

  parent reply	other threads:[~2014-08-27 17:53 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-12 16:47 [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT) Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 1/9] dt: deps: dtc: Automatically add new property 'dependencies' which contains a list of referenced phandles Alexander Holler
2014-05-17 12:16   ` Tomasz Figa
2014-05-19 12:35     ` Alexander Holler
     [not found]       ` <CAJgR-BhRtc1XGqk-TVOrf2y_pYS+nratkPrf+OenP4SFcyK3ng@mail.gmail.com>
2014-05-19 17:26         ` Alexander Holler
2014-05-27 20:02       ` Grant Likely
2014-05-27 20:31         ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 2/9] dt: deps: dependency based device creation Alexander Holler
2014-05-14 14:05   ` Grant Likely
2014-05-14 14:49     ` Alexander Holler
2014-05-14 17:20       ` Alexander Holler
2014-05-14 20:06       ` Grant Likely
2014-05-14 21:10         ` Alexander Holler
2014-05-16 11:00           ` Grant Likely
2014-05-18  9:53             ` Alexander Holler
2014-05-16 17:31           ` Alexander Shiyan
2014-05-14 15:51     ` Alexander Holler
2014-05-17 14:24     ` Tomasz Figa
2014-05-18 14:59       ` Grant Likely
2014-05-19  8:41         ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 3/9] dt: deps: dtc: Add option to print initialization order Alexander Holler
     [not found]   ` <CAJgR-BhnFngGr9qxa7NvF7GExiCAr1=HS16AtN20uj7nCmLcKQ@mail.gmail.com>
2014-05-12 22:58     ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 4/9] dt: deps: dtc: Add option to print dependency graph as dot (Graphviz) Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 5/9] dt: deps: register drivers based on the initialization order based on DT Alexander Holler
2014-05-14 14:13   ` Grant Likely
2014-05-14 14:58     ` Alexander Holler
2014-05-14 19:32       ` Grant Likely
2014-05-12 16:47 ` [RFC PATCH 6/9] dt: deps: WIP: well done drivers Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 7/9] dt: deps: kirkwood: make it possible to use CONFIG_OF_DEPENDENCIES Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 8/9] dt: deps: dts: kirkwood: dockstar: add dependency ehci -> usb power regulator Alexander Holler
2014-05-12 16:48 ` [RFC PATCH 9/9] dt: deps: omap2: make it possible to use CONFIG_OF_DEPENDENCIES Alexander Holler
2014-05-13 15:40 ` [PATCH 10/9] dt: deps: fix bug not registering late drivers when OF_DEPENDENCIES is disabled Alexander Holler
2014-05-13 19:27 ` [RFC PATCH 11/9] dt: deps: dtc: introduce new (virtual) property no-dependencies Alexander Holler
2014-05-14  8:20 ` dt: deps: some tips about how to debug/evaluate this feature Alexander Holler
2014-05-14 14:19 ` [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT) Grant Likely
2014-05-14 15:02   ` Alexander Holler
2014-05-14 16:05     ` Grant Likely
2014-05-14 16:23       ` Alexander Holler
2014-05-14 17:30         ` Rob Herring
2014-05-14 17:45           ` Alexander Holler
2014-05-14 17:53             ` Alexander Holler
2014-05-14 18:16               ` Alexander Holler
2014-05-14 19:13                 ` Alexander Holler
2014-05-14 19:06             ` Rob Herring
2014-05-14 19:24               ` Alexander Holler
2014-05-15  1:46                 ` Alexander Holler
2014-05-14 23:00               ` Alexander Holler
2014-08-21 14:02   ` Thierry Reding
2014-08-21 19:19     ` Alexander Holler
2014-08-22 13:19       ` Mark Rutland
2014-08-22 15:45         ` Alexander Holler
2014-08-25  9:39         ` Thierry Reding
2014-08-25 13:08           ` Jon Loeliger
2014-08-25 13:37             ` Thierry Reding
2014-08-25 14:13               ` Jon Loeliger
2014-08-25 14:41                 ` Thierry Reding
2014-08-26  8:42               ` Grant Likely
2014-08-26  8:49                 ` Thierry Reding
2014-08-26  9:42                   ` Alexander Holler
2014-08-26 10:11                     ` Mark Rutland
2014-08-26 10:24                       ` Thierry Reding
2014-08-27 10:34                       ` Grant Likely
2014-08-27 14:44                         ` Catalin Marinas
2014-08-27 16:22                           ` Stephen Warren
2014-08-27 16:30                             ` Alexander Holler
2014-08-27 16:37                               ` Stephen Warren
2014-08-27 16:58                                 ` Alexander Holler
2014-08-27 17:52                                 ` Catalin Marinas [this message]
2014-08-27 18:14                                   ` Alexander Holler
2014-08-28  6:50                                 ` Alexander Holler
2014-08-28  9:23                                   ` Catalin Marinas
2014-08-29  1:43                                     ` Alexander Holler
2014-08-26 10:25                     ` Thierry Reding
2014-08-26 10:44                       ` Alexander Holler
2014-08-26 11:01                         ` Alexander Holler
2014-08-26 11:08                         ` Thierry Reding
2014-08-26 11:23                           ` Alexander Holler
2014-08-26 11:47                             ` Thierry Reding
2014-08-26 12:00                               ` Alexander Holler
2014-08-26 13:58                                 ` Jon Loeliger
2014-08-26 14:17                                   ` Thierry Reding
2014-08-27  7:16                                   ` Alexander Holler
2014-08-27  9:26                                     ` Alexander Holler
2014-08-26  7:56             ` Alexander Holler
2014-08-26  8:51             ` Grant Likely
2014-08-26  9:56               ` Alexander Holler
2014-08-26 10:18               ` Alexander Holler
2014-08-26  9:54           ` Mark Rutland

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=20140827175243.GJ13850@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=holler@ahsoftware.de \
    --cc=jdl@jdl.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=robh+dt@kernel.org \
    --cc=swarren@wwwdotorg.org \
    --cc=thierry.reding@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).