From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] ACPI on arm64 TODO List
Date: Mon, 12 Jan 2015 15:23:59 +0100 [thread overview]
Message-ID: <20150112142358.GA23680@amd> (raw)
In-Reply-To: <CACxGe6sbGu53x5rsx2sWVVVVCnnFvmkQAk3Se9ZGNOXCkqpi=A@mail.gmail.com>
On Sat 2015-01-10 14:44:02, Grant Likely wrote:
> On Wed, Dec 17, 2014 at 10:26 PM, Grant Likely <grant.likely@linaro.org> wrote:
> > On Tue, Dec 16, 2014 at 11:27 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> >> On Monday 15 December 2014 19:18:16 Al Stone wrote:
> >>> 7. Why is ACPI required?
> >>> * Problem:
> >>> * arm64 maintainers still haven't been convinced that ACPI is
> >>> necessary.
> >>> * Why do hardware and OS vendors say ACPI is required?
> >>> * Status: Al & Grant collecting statements from OEMs to be posted
> >>> publicly early in the new year; firmware summit for broader
> >>> discussion planned.
> >>
> >> I was particularly hoping to see better progress on this item. It
> >> really shouldn't be that hard to explain why someone wants this feature.
> >
> > I've written something up in as a reply on the firmware summit thread.
> > I'm going to rework it to be a standalone document and post it
> > publicly. I hope that should resolve this issue.
>
> I've posted an article on my blog, but I'm reposting it here because
> the mailing list is more conducive to discussion...
>
> http://www.secretlab.ca/archives/151
Unfortunately, I seen the blog post before the mailing list post, so
here's reply in blog format.
Grant Likely published article about ACPI and ARM at
http://www.secretlab.ca/archives/151
. He acknowledges systems with ACPI are harder to debug, but because
Microsoft says so, we have to use ACPI (basically).
I believe doing wrong technical choice "because Microsoft says so" is
a wrong thing to do.
Yes, ACPI gives more flexibility to hardware vendors. Imagine
replacing block devices with interpretted bytecode coming from
ROM. That is obviously bad, right? Why is it good for power
management?
It is not.
Besides being harder to debug, there are more disadvantages:
* Size, speed and complexity disadvantage of bytecode interpretter in
the kernel.
* Many more drivers. Imagine GPIO switch, controlling rfkill
(for
example). In device tree case, that's few lines in the .dts
specifying
which GPIO that switch is on.
In ACPI case, each hardware vendor initially implements rfkill switch
in AML, differently. After few years, each vendor implements
(different) kernel<->AML interface for querying rfkill state and
toggling it in software. Few years after that, we implement kernel
drivers for those AML interfaces, to properly integrate them in
the
kernel.
* Incompatibility. ARM servers will now be very different from other
ARM systems.
Now, are there some arguments for ACPI? Yes -- it allows hw vendors to
hack half-working drivers without touching kernel
sources. (Half-working: such drivers are not properly integrated in
all the various subsystems). Grant claims that power management is
somehow special, and requirement for real drivers is somehow ok for
normal drivers (block, video), but not for power management. Now,
getting driver merged into the kernel does not take that long -- less
than half a year if you know what you are doing. Plus, for power
management, you can really just initialize hardware in the bootloader
(into working but not optimal state). But basic drivers are likely to
merged fast, and then you'll just have to supply DT tables.
Avoid ACPI. It only makes things more complex and harder to debug.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2015-01-12 14:23 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-16 2:18 [RFC] ACPI on arm64 TODO List Al Stone
2014-12-16 11:27 ` Arnd Bergmann
2014-12-16 15:27 ` Catalin Marinas
2014-12-17 0:03 ` Al Stone
2014-12-17 9:25 ` Catalin Marinas
2014-12-18 4:57 ` Jon Masters
2014-12-18 9:55 ` Catalin Marinas
2014-12-17 13:43 ` [Linaro-acpi] " Charles Garcia-Tobin
2014-12-16 15:48 ` Mark Rutland
2014-12-17 0:37 ` Al Stone
2014-12-17 9:08 ` G Gregory
2014-12-17 16:02 ` Mark Rutland
2014-12-17 16:52 ` Hurwitz, Sherry
2014-12-17 18:14 ` Lorenzo Pieralisi
2014-12-18 5:04 ` Jon Masters
2014-12-18 14:36 ` Jon Masters
2014-12-16 22:55 ` Al Stone
2014-12-17 17:31 ` Catalin Marinas
2014-12-17 22:26 ` Grant Likely
2015-01-10 14:44 ` Grant Likely
2015-01-12 10:21 ` Arnd Bergmann
2015-01-12 12:00 ` Grant Likely
2015-01-12 19:40 ` [Linaro-acpi] " Arnd Bergmann
2015-01-13 17:22 ` Grant Likely
2015-01-14 0:26 ` Al Stone
2015-01-15 4:07 ` Hanjun Guo
2015-01-15 17:15 ` Arnd Bergmann
2015-01-15 17:19 ` Arnd Bergmann
2015-01-12 14:23 ` Pavel Machek [this message]
2015-01-12 14:41 ` Grant Likely
2015-01-12 19:39 ` Pavel Machek
2015-01-12 19:55 ` Arnd Bergmann
2015-01-13 14:12 ` Grant Likely
2015-01-14 1:21 ` Al Stone
2015-01-15 17:45 ` [Linaro-acpi] " Linda Knippers
2015-01-13 17:02 ` Grant Likely
2015-01-05 20:52 ` Pavel Machek
2015-01-06 11:53 ` 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=20150112142358.GA23680@amd \
--to=pavel@ucw.cz \
--cc=linux-arm-kernel@lists.infradead.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).