Thread (103 messages) 103 messages, 19 authors, 2015-01-16

[Linaro-acpi] [PATCH v5 18/18] Documentation: ACPI for ARM64

From: arnd@arndb.de (Arnd Bergmann)
Date: 2015-01-06 19:31:05
Also in: linux-acpi, lkml

On Tuesday 06 January 2015 14:11:33 Catalin Marinas wrote:
On Tue, Jan 06, 2015 at 01:59:27PM +0000, Arnd Bergmann wrote:
quoted
On Tuesday 06 January 2015 11:20:01 Catalin Marinas wrote:
quoted
On Mon, Jan 05, 2015 at 08:16:30PM +0000, Arnd Bergmann wrote:
quoted
On Monday 05 January 2015 13:13:02 Catalin Marinas wrote:
quoted
quoted
since passing no DT tables to OS but
acpi=force is missing is a corner case, we can do a follow up patch to
fix that, does it make sense?
Not entirely. Why would no dtb and no acpi=force be a corner case? I
thought this should be the default when only ACPI tables are passed, no
need for an additional acpi=force argument.
We don't really support the case of only ACPI tables for now. The expectation
is that you always have working DT support, at least for the next few years
as ACPI features are ramping up, and without acpi=force it should not try
to use ACPI at all.
So if both DT and ACPI are present, just use DT unless acpi=force is
passed. So far I think we agree but what I want to avoid is always
mandating acpi=force even when the DT tables are missing (in the long
run).

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?
We have no way of enforcing what a board vendor ships, so if they want
to have ACPI-only machines for MS Windows, they just won't work by
default on Linux.
What do you mean by "won't work by default on Linux"? Assuming no
additional drivers are needed (i.e. a few devices mentioned in SBSA and
the rest on a PCIe bus, using existing drivers without further
modifications), do you still want mainline to fail to boot on such
ACPI-only systems?
I mean it won't work without acpi=force on the command line.
quoted
Once ACPI support is mature enough, we can also have a whitelist or a
different default for using it automatically when no DT is present.
Having a white-list requires some for of SoC identification. Does ACPI
provide such thing (like "model" or "compatible" strings in the top DT
node)?
This is independent of the SoC: All SoCs we support have DT drivers, so
machines like this would be board whose vendor doesn't care about Linux,
but happens to use a SoC that we support. What we would need here is
a whitelist of boards.
quoted
For drivers merged upstream, I would insist that every driver merged
for an ARM64 platform has a documented DT binding that is used in the
driver.
That's fine by me. I just hope that for hardware aimed at ACPI we won't
need many non-PCIe drivers.
Yes, that is a reasonable assumption. Looking at the AMD patches that
were posted already, there are however a few devices that are not on
the PCI bus:

- pl011 uart
- pl022 spi
- pl061 gpio
- pl330 dma
- designware i2c
- custom 10gbit ethernet
- probably some I forgot

Most of these will likely just not be needed on servers (pl330) or
handled by AML (spi, i2c, gpio) transparently without needing a
driver, but we do need to support the ethernet port and the uart.
I expect that other SoCs come with different ethernet implementations
that are also not discoverable through PCI.

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