Thread (1 message) 1 message, 1 author, 2013-11-19

ACPI vs DT at runtime

From: Olof Johansson <hidden>
Date: 2013-11-19 18:34:30
Also in: linux-devicetree

On Tue, Nov 19, 2013 at 03:21:57PM +0000, Mark Rutland wrote:
On Tue, Nov 19, 2013 at 02:05:33PM +0000, Arnd Bergmann wrote:
quoted
On Tuesday 19 November 2013, Mark Rutland wrote:
quoted
On Fri, Nov 15, 2013 at 05:52:41PM +0000, Olof Johansson wrote:
quoted
On Fri, Nov 15, 2013 at 09:57:17AM +0000, Mark Rutland wrote:
quoted
quoted
Oh wait, there's people who have been doing this for years. Microsoft. They
should be the ones driving this and taking the pain for it. Once the platform
is enabled for their needs, we'll sort it out at our end. After all, that has
worked reasonably well for x86 platforms.
I'm not sure it's entirely reasonable to assume that Microsoft will
swoop in and develop standards that are useful to us or even applicable
to the vast majority of the systems that are likely to exist. If they
do, then we will (by the expectation that Linux should be able to run
wherever another OS can) have to support whatever standards they may
create.
That company is undergoing a lot of change now, I think anything is
possible: They might decide that ARM is a really bad idea (after
the Windows-RT fiasco), they could start working together with us
on these problems, or they could do everything in their hands to
make our lives as hard as they can (as before, see
http://www.groklaw.net/articlebasic.php?story=2010011422570951).
 
quoted
Regardless of whether we place support for it into Linux, we should
certainly be spending time now attempting to understand ACPI, what it
does and does not provide, and how it can be moved towards something
that fulfils our needs and we can support long-term. We should certainly
not be taking a back seat approach.

Outside of the ARM Linux community there is work ongoing to change ACPI
to better suit the level of variation we seem in the ARM space (see
Darren Hart's presentation from ELCE [1]). We need to be involved now in
order to make sure that this is actually generally applicable.
Agreed. I'm not sure who "we" is in this, but I assume you mean the wider
ARM Linux developer community.  Linaro already has full-time developers
working on this, with ties into the UEFI and ACPI standard bodies, and that
is good. Still it does not mean we should prematurely merge any of the
code coming out of it, until there are products out there with ACPI firmware
that is not completely messed up and that is worth supporting in mainline,
considering the maintainance effort.
Yes, I meant the greater ARM Linux community. I'm aware that Linaro have
people working full-time on this, but we still need members of the
greater community to become familiar with ACPI and have an input on it
before the greater community can realistically expect to support it.
Getting people to join straight from "the community" isn't likely. Or
if people join, it might not be the people you actually need. It's
more likely that people involved both with upstream and other things
at various vendors will join and try to keep things sane.

However, given that UEFI/ACPI is a standards body, the number of actual
software engineers interested in participating in such activity might
be small.
quoted
I mostly agree, but I think that the decision whether to ignore, translate
or implement support for ACPI BIOS implementations depends a lot on
what kinds of systems we are going to see and the level of sophistication
they put into their firmware.

If we are basically talking about PCs with their x86 CPU removed and
an ARM chip put in there, I think an ACPI implementation would be
harmless enough. However if we are talking about complex SoCs that just
have the same information in ACPI that we have in DT in a different
format, we really need to tell the responsible developers that ACPI
support for these just won't get merged.
I mostly agree. However, I'm not so sure on the latter case. If ACPI
matures support for richer description (as some x86 people are pushing
for) and it's used in a sane manner, then I don't think we should
prevent that, especially if the maintenance burden is shared by the
larger Linux community.
Imposing a maintenance burden on a larger set of users is the completely
wrong way to do this.

I'm hoping what you're meaning to say is that we can share infrastructure
and solutions between the various architectures, which is a completely
different thing than imposing our maintenance on them. :)

Still, I'm with Arnd here: It's not a given at this time that we'll ever
enable ACPI across the board. For the short-to-medium term it certainly
seems like a bad idea to bring in much code for it, and for the longer
term we don't know yet. For a vendor, it's safer to plan for both --
and if you don't care about RT compatibility focus on DT today (but keep
an eye on ACPI developments).


-Olof
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help