linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

  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).