From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Rob Herring <robh@kernel.org>,
Randy Dunlap <rdunlap@infradead.org>,
Robert Richter <rric@kernel.org>,
Jason Cooper <jason@lakedaemon.net>,
"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"jcm@redhat.com" <jcm@redhat.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Liviu Dudau <Liviu.Dudau@arm.com>,
Robert Moore <robert.moore@intel.com>,
Will Deacon <Will.Deacon@arm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
Mark Brown <broonie@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Lv Zheng <lv.zheng@intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Olof Johansson <olof@lixom.net>
Subject: Re: [Linaro-acpi] [PATCH v5 18/18] Documentation: ACPI for ARM64
Date: Wed, 07 Jan 2015 14:06:28 +0100 [thread overview]
Message-ID: <1520439.Y1rXzXY1eS@wuerfel> (raw)
In-Reply-To: <20150107115039.GA2199@e104818-lin.cambridge.arm.com>
On Wednesday 07 January 2015 11:50:39 Catalin Marinas wrote:
> On Wed, Jan 07, 2015 at 10:36:13AM +0000, Arnd Bergmann wrote:
> > On Tuesday 06 January 2015 23:55:58 Jon Masters wrote:
> > > On 01/06/2015 05:06 PM, Jon Masters wrote:
> > > > On 01/06/2015 02:21 PM, Arnd Bergmann wrote:
> > > >> On Tuesday 06 January 2015 11:24:43 Jon Masters wrote:
> > > >>> On 01/06/2015 06:20 AM, Catalin Marinas wrote:
> > > >>>
> > > >>>> Now, what's preventing a vendor firmware from providing only ACPI
> > > >>>> tables? Do we enforce it in some way (arm-acpi.txt, kernel warning etc.)
> > > >>>> that both DT and ACPI are supported, or at least that dts files are
> > > >>>> merged in the kernel first?
> > > >>>
> > > >>> I know of some (server) firmware that will only provide ACPI in the
> > > >>> medium term, so this is coming.
> > > >>
> > > >> Medium term is fine, as long as they are not expecting their hardware
> > > >> to be supported by Linux before ACPI support is stable enough for
> > > >> general consumption.
> > > >
> > > > To be clear, I think that's reasonable for upstream. I may love ACPI,
> > > > but vendors can always ship kernels with a config supporting ACPI only
> > > > platforms in the interim period if they have a commercial justification
> > > > and that doesn't have to be supported in terms of the upstream default.
> >
> > I would hope that none of the ACPI-only machines are meant to run Linux
> > as a primary operating system, that would be very sad.
>
> I keep hearing different stories around this. I think this goes back to
> the last point on Al's to-do list, the reason _why_ vendors need ACPI.
> As you mentioned some time ago, I would also like to see a summary of
> such reasons included in the cover letter for the arm64 ACPI patches. In
> the meantime, we can assume that DT is required.
Right, if we can finish the discussion about the reason for having ACPI,
we can skip a lot of pointless back-and-forth on the other issues.
> From what I gathered so far, the main reason for _some_ vendors is not
> support for "other" OS but actually features that ACPI has and DT
> doesn't (like AML; I deliberately ignore statements like "industry
> standard"). _If_ such reasons are sound, maybe they have a case for
> ACPI-only machines targeted primarily at Linux.
What I got from the replies from HP, Huawei and from earlier discussions
with Jon is that they all hope to get to the point of relying on AML
alone to bridge the differences between SoC families. However, I don't
see that happening with the limited hardware compatibility that the
existing SBSA provides:
> In theory, it may be beneficial to the kernel maintainers as such
> ACPI-only machine would potentially require less kernel driver code
> compared to DT. For example, no need for pin control, clocks or voltage
> regulator drivers as they are handled in AML. Of course, the counter
> argument is that it's harder to debug when problems appear but I would
> expect on such ACPI-only machines that the hardware vendor is very
> active on solving them (I'm more thinking for machines that sit in some
> data centre and are actively maintained rather than some board I keep in
> my house; for the latter, I definitely prefer DT and full control).
The main problem here is that can AML only cover part of the problem:
it can talk to a clock controller e.g. over I2C, SPI, GPIO, UART
or IPMI, but you still need a device driver in the kernel to talk to
those, and SBSA doesn't mandate a specific implementation so you can
expect every other SoC that is coming out to have a different one.
Similarly, SBSA is rather vague about some peripherals it mandates,
and if a new SoC has a slightly different AHCI variation, there is
nothing you can do about it in AML.
x86 gets around this problem by having an extreme level of hardware
backwards compatibility, so you don't even need AML for this and
can generally boot a (almost) full-featured Linux kernel with
acpi=off on the command line.
> > Vendors that are interested in Linux support should instead work on getting
> > their hardware supported upstream so they don't need a private kernel to
> > match their private firmware.
>
> I agree, irrespective of whether they target ACPI longer term or not.
>
> As I said yesterday, at some point in the future, ACPI-only SoC support
> may not require any new kernel code, just usual PCIe drivers that may
> already be there. If we ever get to that stage (it's not a kernel
> problem, it's more about SoC standardisation), vendors would be able to
> run mainline kernels without additional driver code with a few SoC
> differences handled by AML (e.g. clocks). At that point, I don't see any
> incentive for them to upstream additional driver code (e.g. clocks) just
> to support a DT-only kernel. We are probably still a long way, nothing
> to worry about just yet ;).
Agreed on all points, yes.
Arnd
next prev parent reply other threads:[~2015-01-07 13:07 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-17 13:36 [PATCH v5 00/18] Introduce ACPI for ARM64 based on ACPI 5.1 Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 01/18] ARM64: Move the init of cpu_logical_map(0) before unflatten_device_tree() Hanjun Guo
2014-11-18 13:45 ` Hanjun Guo
2014-11-18 16:43 ` Catalin Marinas
2014-11-18 16:57 ` Will Deacon
2014-11-18 17:02 ` Sudeep Holla
2014-11-18 17:03 ` Will Deacon
2014-11-19 0:29 ` Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 02/18] ACPI / table: Add new function to get table entries Hanjun Guo
2014-11-24 1:27 ` Rafael J. Wysocki
2014-11-24 11:03 ` Hanjun Guo
2014-11-24 14:51 ` Rafael J. Wysocki
2014-11-25 3:38 ` Hanjun Guo
2014-11-25 21:20 ` Rafael J. Wysocki
2014-11-26 1:42 ` Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 03/18] ACPI / table: Count matched and successfully parsed entries without specifying max entries Hanjun Guo
2014-11-18 13:51 ` Hanjun Guo
2014-11-18 20:15 ` Rafael J. Wysocki
2014-11-19 0:34 ` Hanjun Guo
2014-11-24 1:45 ` Rafael J. Wysocki
2014-11-24 8:34 ` Tomasz Nowicki
2014-11-24 15:16 ` Rafael J. Wysocki
2014-11-24 15:01 ` Tomasz Nowicki
2014-11-24 15:37 ` Rafael J. Wysocki
2014-11-24 15:18 ` Tomasz Nowicki
2014-10-17 13:37 ` [PATCH v5 04/18] ARM64 / ACPI: Get RSDP and ACPI boot-time tables Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 05/18] ARM64 / ACPI: Introduce sleep-arm.c Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 06/18] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 07/18] ARM64 / ACPI: If we chose to boot from acpi then disable FDT Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 08/18] ARM64 / ACPI: Make PCI optional for ACPI on ARM64 Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 09/18] ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 10/18] ACPI / table: Print GIC information when MADT is parsed Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 11/18] ARM64 / ACPI: Parse MADT for SMP initialization Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 12/18] ACPI / processor: Make it possible to get CPU hardware ID via GICC Hanjun Guo
2014-10-24 17:39 ` Lorenzo Pieralisi
2014-10-27 9:58 ` Hanjun Guo
2014-10-29 10:43 ` Lorenzo Pieralisi
2014-10-30 8:27 ` Hanjun Guo
2014-10-29 21:33 ` Rafael J. Wysocki
2014-10-30 8:30 ` Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 13/18] ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 14/18] ARM64 / ACPI: Add GICv2 specific ACPI boot support Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 15/18] ARM64 / ACPI: Parse GTDT to initialize arch timer Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 16/18] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 17/18] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 18/18] Documentation: ACPI for ARM64 Hanjun Guo
2014-12-18 20:01 ` Suravee Suthikulanit
2014-12-19 13:04 ` Hanjun Guo
2014-12-18 20:04 ` Timur Tabi
2014-12-19 13:53 ` Hanjun Guo
2014-12-24 17:18 ` Catalin Marinas
2014-12-24 19:33 ` Jon Masters
2014-12-26 13:23 ` Mark Brown
2014-12-30 11:23 ` Hanjun Guo
2015-01-05 13:13 ` Catalin Marinas
2015-01-05 20:16 ` Arnd Bergmann
2015-01-06 11:20 ` Catalin Marinas
2015-01-06 13:51 ` G Gregory
2015-01-06 14:03 ` Catalin Marinas
2015-01-06 13:59 ` [Linaro-acpi] " Arnd Bergmann
2015-01-06 14:11 ` Catalin Marinas
2015-01-06 19:30 ` Arnd Bergmann
2015-01-15 14:10 ` Grant Likely
2015-01-15 15:51 ` Jon Masters
2015-01-15 16:52 ` Arnd Bergmann
2015-01-15 17:22 ` Al Stone
2015-01-16 16:35 ` Arnd Bergmann
2015-01-15 18:00 ` Mark Brown
2015-01-06 16:24 ` Jon Masters
2015-01-06 19:21 ` [Linaro-acpi] " Arnd Bergmann
2015-01-06 22:06 ` Jon Masters
2015-01-07 4:55 ` Jon Masters
2015-01-07 10:36 ` Arnd Bergmann
2015-01-07 11:50 ` Catalin Marinas
2015-01-07 13:06 ` Arnd Bergmann [this message]
2015-01-07 17:27 ` Mark Brown
2015-01-07 17:44 ` Jon Masters
2015-01-07 19:48 ` Arnd Bergmann
2015-01-07 20:05 ` Mark Brown
2015-01-07 20:14 ` Jon Masters
2015-01-09 10:33 ` Catalin Marinas
2015-01-09 10:55 ` Arnd Bergmann
2015-01-09 15:13 ` Catalin Marinas
2015-01-07 18:41 ` Jason Cooper
2015-01-07 19:58 ` Jon Masters
2015-01-07 20:05 ` Jon Masters
2015-01-07 22:59 ` Jason Cooper
2015-01-08 11:26 ` Arnd Bergmann
2015-01-08 19:59 ` Kangkang Shen
2015-01-07 21:40 ` Jason Cooper
2015-01-07 22:10 ` Jon Masters
2015-01-04 9:39 ` Hanjun Guo
2015-01-05 11:05 ` Catalin Marinas
2015-01-06 11:11 ` Hanjun Guo
2015-01-06 11:29 ` Catalin Marinas
2015-01-06 13:50 ` Hanjun Guo
2015-01-06 13:54 ` G Gregory
2015-01-06 13:59 ` Hanjun Guo
2015-01-06 14:05 ` Arnd Bergmann
2015-01-06 14:16 ` Catalin Marinas
2015-01-06 14:37 ` Charles Garcia-Tobin
2015-01-06 16:37 ` Jon Masters
2015-01-09 23:12 ` Arnd Bergmann
[not found] ` <CAJ5Y-eZ5cu9_OhG24yAv+CZq7zKg0vU+eVGekyN+9dDzaz1OhQ@mail.gmail.com>
2014-12-30 20:13 ` ashwinc
2014-12-31 8:34 ` Hanjun Guo
2014-12-31 15:08 ` ashwinc
2015-01-01 20:04 ` Graeme Gregory
2015-01-02 9:28 ` Hanjun Guo
2015-01-02 16:47 ` Catalin Marinas
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=1520439.Y1rXzXY1eS@wuerfel \
--to=arnd@arndb.de \
--cc=Liviu.Dudau@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=bhelgaas@google.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=jason@lakedaemon.net \
--cc=jcm@redhat.com \
--cc=linaro-acpi@lists.linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lv.zheng@intel.com \
--cc=olof@lixom.net \
--cc=rdunlap@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=robh@kernel.org \
--cc=rric@kernel.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 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).