devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Olof Johansson <olof@lixom.net>
Cc: Grant Likely <grant.likely@secretlab.ca>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: ACPI vs DT at runtime
Date: Fri, 15 Nov 2013 09:57:17 +0000	[thread overview]
Message-ID: <20131115095717.GC1709@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <CAOesGMjKeRb=fFJM0MabDihbEiCGM4EqW9D5i_6-RFxTnpB4Qw@mail.gmail.com>

On Fri, Nov 15, 2013 at 01:44:10AM +0000, Olof Johansson wrote:
> The more I start to see early UEFI/ACPI code, the more I am certain
> that we want none of that crap in the kernel. It's making things
> considerably messier, while we're already very busy trying to convert
> everything over and enable DT -- we'll be preempting that effort just
> to add even more boilerplate everywhere and total progress will be
> hurt.

We are certainly under a lot of pressure with the device tree migration,
and I agree that adding another information source is going to be a
source of pain. However, I'd argue that we're going to encounter pain
regardless of which approach we take.

I'm of the opinion that the only way we should support ACPI is as a
first-class citizen. We don't need to modify every driver and subsystem
to support ACPI, only those necessary to support the minimal set of
platforms using ACPI. ACPI is new in the arm space, and we can enforce
quality standards on ACPI _now_ above what we're allowing for DT, and
avoid future problems.

There may even be things which we don't have to deal with at all on ACPI
systems as used in servers (e.g. clock management), but perhaps we will
if people see value in those elements.

> The server guys really want UEFI for their boot protocols,
> installation managers, etc, etc. That's fine, let them do that, but
> that doesn't mean we need to bring the same APIs all the way into the
> kernel.
> 
> So, I'm strongly urging that whatever the server guys try to do, it
> will in the end result in the ACPI data being translated into DT
> equivalents, such that the kernel _only_ needs to handle data via DT.

I'm not sure that translating ACPI tables to dt makes any sense. If AML
is used (even sparingly), I do not believe that we can do any sensible
conversion to device tree. My understanding is that AML includes
functionality for modifying ACPI tables, and I don't see how we can
possibly support that without having to add a lot of boilerplate to all
the code handling AML to add a device tree backend...

> Just like PowerPC scrapes the OpenFirmware client interface to build a
> flat device tree, we should add a pre-boot stage that scrapes
> ACPI/UEFI data and constructs an appropriate device-tree. We can still
> bring over ACPI methods and represent those in the DT, but we should
> _not_ have two native interfaces.

I'm not sure the two cases are comparable. The format of the FDT was
designed to encode the data structure used by OpenFirmware, and thus the
two map to each other pretty well. I do not believe that mapping from
ACPI tables to an FDT blob is anywhere near as simple, and as I mention
above I do not believe that we can just copy over the ACPI methods in
isolation.

> It might be done via having a skeleton/framework DT for the vendor
> platform that is updated via UEFI/ACPI data, or it might be
> constructed entirely out of tables coming from firmware. I don't care
> about the methods for how it is done, but I do feel strongly that we
> should _not_ introduce a second API for everything. I can't think of a
> single good reason to do it.

Where does this skeleton/framework come from? Within the kernel? That
sounds like an arcane board file equivalent, and is counter to the
entire reason for using UEFI and ACPI -- having a well-defined
(excluding particular driver bindings, and I'm not arguing well-defined
means nice) stable standard that allows the kernel to boot on an
arbitrary platform without requiring arbitrary platform-specific code
everywhere in the boot path.

It might not be pretty, and it will certainly require a lot of work, but
I'd prefer it at least for a semblance of uniformity.

I think that trying to shoe-horn ACPI-derived information into device
tree is fundamentally the wrong approach. I don't think it encourages
best practices, and I don't think it's beneficial to the long term
health of Linux or the ecosystem as a whole.

> [There, commence centithread]

[centithread commenced]

Thanks,
Mark.

  reply	other threads:[~2013-11-15  9:57 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-15  1:44 ACPI vs DT at runtime Olof Johansson
2013-11-15  9:57 ` Mark Rutland [this message]
     [not found]   ` <20131115175241. GB27174@quad.lixom.net>
     [not found]   ` <20131115095717.GC1709-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-15 17:52     ` Olof Johansson
2013-11-18 17:47       ` Jon Masters
     [not found]       ` <20131115175241.GB27174-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-15 18:08         ` Russell King - ARM Linux
     [not found]           ` <20131115180832.GR16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-15 18:42             ` Olof Johansson
2013-11-15 19:56             ` Arnd Bergmann
     [not found]               ` <201311152056.47846.arnd-r2nGTMty4D4@public.gmane.org>
2013-11-15 23:21                 ` Russell King - ARM Linux
     [not found]                   ` <20131115232109.GT16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-18 15:05                     ` Arnd Bergmann
     [not found]                       ` <201311181605.37300.arnd-r2nGTMty4D4@public.gmane.org>
2013-11-18 15:19                         ` Russell King - ARM Linux
2013-11-18 15:46                           ` Arnd Bergmann
2013-11-21 16:10                         ` Grant Likely
     [not found]                           ` <20131121161037.C528CC406A3-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-11-21 18:26                             ` Arnd Bergmann
2013-11-21 19:40                               ` Mark Brown
     [not found]                       ` <20131118151900.GF16735@ n2100.arm.linux.org.uk>
     [not found]                         ` <20131118151900.GF16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-21 16:11                           ` Grant Likely
2013-11-21 16:00                     ` Grant Likely
2013-11-19 11:30         ` Mark Rutland
2013-11-19 11:35           ` Mark Rutland
     [not found]             ` <20131119113557.GI5914-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-19 11:51               ` Leif Lindholm
     [not found]           ` <20131119113015.GH5914-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-19 11:57             ` Russell King - ARM Linux
2013-11-19 13:56             ` Stefano Stabellini
2013-11-19 14:38               ` Mark Rutland
     [not found]                 ` <20131119143840.GN5914-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-19 14:59                   ` Leif Lindholm
2013-11-19 18:23                   ` Olof Johansson
2013-11-19 14:05             ` Arnd Bergmann
2013-11-19 15:21               ` Mark Rutland
     [not found]                 ` <20131119152157.GO5914-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-19 16:19                   ` Arnd Bergmann
2013-11-19 18:34                   ` Olof Johansson
2013-11-19 19:06                   ` Tom Rini
2013-11-19 18:19             ` Olof Johansson
     [not found]               ` <20131119181959.GA20967-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-21 16:37                 ` Grant Likely
2013-11-21 16:29             ` Grant Likely
     [not found]               ` <20131121170122. GB22960@srcf.ucam.org>
     [not found]                 ` <20131121170122.GB22960-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-11-21 18:38                   ` Grant Likely
     [not found]               ` <20131121162944.F087FC406A3-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-11-21 17:01                 ` Matthew Garrett
2013-11-21 17:58                 ` Olof Johansson
     [not found]                   ` <20131121175822.GA9590-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-21 18:19                     ` Matthew Garrett
2013-11-21 18:33                     ` Arnd Bergmann
2013-11-21 18:54                     ` Russell King - ARM Linux
     [not found]                       ` <20131121185408.GX16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-21 18:59                         ` Olof Johansson
     [not found]                           ` <CAOesGMgzUSMDy99XojipfRd5OM88UhfbCYO0aoc5m-Q8Fwnddg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-21 19:01                             ` Russell King - ARM Linux
     [not found]                               ` <20131121190126.GZ16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-21 19:31                                 ` Olof Johansson
     [not found]                       ` < CAOesGMgzUSMDy99XojipfRd5OM88UhfbCYO0aoc5m-Q8Fwnddg@mail.gmail.com>
     [not found]                         ` < 20131121190126.GZ16735@n2100.arm.linux.org.uk>
     [not found]                           ` < CAOesGMgxGq1Zmo+Dq-Rmy2F02-=12yUzB0AKn35yK2j3CacNRQ@mail.gmail.com>
     [not found]                             ` <CAOesGMgxGq1Zmo+Dq-Rmy2F02-=12yUzB0AKn35yK2j3CacNRQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-21 20:44                               ` Grant Likely
2013-11-21 18:53                 ` Mark Brown
2013-11-15 18:28     ` Jason Gunthorpe
     [not found]       ` <20131115182826.GB14920-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-11-15 18:57         ` Arnd Bergmann
2013-11-20 13:49     ` Grant Likely
     [not found]       ` <20131120134942.95DBFC4079D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-11-20 17:43         ` Stefano Stabellini
     [not found]           ` <alpine.DEB.2.02.1311201737410.3198-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2013-11-20 17:47             ` Olof Johansson
     [not found]   ` <5289A356.4060004@jonmasters.org>
     [not found]     ` <5289A356.4060004-Zp4isUonpHBD60Wz+7aTrA@public.gmane.org>
2013-11-18 19:09       ` Olof Johansson
     [not found]         ` <20131118190929.GA5886-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-18 20:54           ` Jon Masters
     [not found]             ` <528A7EA0.9050101-Zp4isUonpHBD60Wz+7aTrA@public.gmane.org>
2013-11-18 21:50               ` Olof Johansson
2013-11-18 21:32           ` Grant Likely
     [not found]             ` <201311182247.03540.david.goodenough@btconnect.com>
2013-11-19 12:48               ` Arnd Bergmann
     [not found]     ` <20131118150052.GC24408@sirena.org.uk>
     [not found]       ` <20131118150052.GC24408-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-18 19:13         ` Olof Johansson
     [not found]           ` <20131118191336.GB5886-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-19  9:12             ` Richard Cochran
2013-11-19 18:48               ` Olof Johansson
     [not found]                 ` <20131119184827.GD20967-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-20  6:40                   ` Richard Cochran
2013-11-21 18:16                     ` Grant Likely
2013-11-21 19:21                     ` Russell King - ARM Linux
     [not found]                     ` < 20131121192136.GA16735@n2100.arm.linux.org.uk>
     [not found]                       ` <20131121192136.GA16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-21 20:47                         ` Grant Likely
     [not found]                           ` <20131121204704.E4487C40753-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-11-22 11:43                             ` Catalin Marinas
     [not found]                               ` <CAHkRjk5MstjD9JFk+co8k89i8geJBmSF6uObhGdmWSe0GJHo8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-22 12:00                                 ` Pantelis Antoniou
     [not found]                                   ` <97692EF2-013E-4E4B-BC16-E0915D67EFEC-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2014-05-05  7:06                                     ` Alexander Holler
     [not found]                                       ` <53673866.9000105-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-05 14:41                                         ` Arnd Bergmann
2014-05-05 15:29                                           ` Alexander Holler
     [not found]                                             ` <5367AE6B.3010105-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-05 17:29                                               ` Arnd Bergmann
2014-05-06 15:37                                             ` Grant Likely
2014-05-06 15:27                                       ` Grant Likely
     [not found]                                         ` <20140506152725.E5B90C40959-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-06 16:32                                           ` Olof Johansson
     [not found]     ` <5289A4F3.5040203@jonmasters.org>
     [not found]       ` <5289A4F3.5040203-Zp4isUonpHBD60Wz+7aTrA@public.gmane.org>
2013-11-18 19:25         ` Olof Johansson
     [not found]           ` <20131118192552.GD5886-O5ziIzlqnXUVNXGz7ipsyg@public.gmane.org>
2013-11-18 20:43             ` Jon Masters
     [not found]               ` <528A7BFD.4020303-Zp4isUonpHBD60Wz+7aTrA@public.gmane.org>
2013-11-18 21:25                 ` Olof Johansson
     [not found] ` <CAOesGMjKeRb=fFJM0MabDihbEiCGM4EqW9D5i_6-RFxTnpB4Qw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-15 20:58   ` Arnd Bergmann
     [not found]     ` <201311152158.32644.arnd-r2nGTMty4D4@public.gmane.org>
2013-11-15 21:44       ` Olof Johansson
     [not found]         ` <CAOesGMhkCn2zeJj_ZZAZu_wJya-4evWEqNHpVJEpjxzWHVWY3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-17 17:18           ` Stefano Stabellini
     [not found]             ` <alpine.DEB.2.02.1311171705130.4714-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2013-11-17 18:10               ` Arnd Bergmann
2013-11-17 22:20                 ` Olof Johansson
     [not found]                   ` <CAOesGMiYyOcvr3Aqs-p8zc=XDwJM9NZtNxtxrTZssc6F=siZCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-18  8:45                     ` Arnd Bergmann
     [not found]                       ` <528A4F5F.7080104@jonmasters.org>
     [not found]                         ` <528A4F5F.7080104-Zp4isUonpHBD60Wz+7aTrA@public.gmane.org>
2013-11-18 19:21                           ` Olof Johansson
2013-11-18 15:04                 ` Mark Brown
2013-11-18 15:10                   ` Arnd Bergmann
     [not found]                   ` < 201311181610.33105.arnd@arndb.de>
     [not found]                     ` <201311181610.33105.arnd-r2nGTMty4D4@public.gmane.org>
2013-11-18 21:38                       ` Grant Likely
2013-11-18 23:25   ` Leif Lindholm
     [not found]     ` <20131118232536.GF1567-GZEopFhza0F985/tl1ce8aaDwS/vmuI7@public.gmane.org>
2013-11-18 23:29       ` Olof Johansson
     [not found]         ` <CAOesGMh373ZsLzoGHJm+xV3uFVjh2CBSA8SXY4PA+VxL3a5W1w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-18 23:34           ` Leif Lindholm

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=20131115095717.GC1709@e106331-lin.cambridge.arm.com \
    --to=mark.rutland@arm.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=olof@lixom.net \
    /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).