[Ksummit-discuss] [TECH TOPIC] Driver model/resources, ACPI, DT, etc (sigh)

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon May 12 06:21:33 UTC 2014


On Tue, 2014-05-06 at 15:35 +0200, Arnd Bergmann wrote:
> 
> With ACPI (or a server running OF for that matter), you assume that the
> PCI host is operational and all buses are fully probed and then you
> have methods for doing hotplugging, you just look at the device that
> are already initialized by the firmware.
> 
> With embedded systems, you (in general, some steps may get skipped
> in practice) go through a lot more steps:
> - detect the presence of the host bridge device
> - enable clocks, voltages, phys, resets, etc.
> - set up inbound and outbound MMIO and PIO address translation windows
> - perform a full bus scan and assign bus and device resources
> 
> We probably woulnd't go through that hassle on ACPI systems. I think
> we shouldn't attempt any translation here, and keep the code completely
> separate, with the common parts being handled by the PCI core as we
> do today.

Well, you said it "or a server running OF for that matter" ...

PCI Hotplug is a whole separate can of worms, let's not get there :-)

Even on OF machine, it's very platform specific. I don't think we can
use it as an example of something that's widely different between DT
and ACPI per-se as it's going to be widely different between everything
non-ACPI.

This is a case of ACPI-does-methods being actually somewhat useful.

Cheers,
Ben.




More information about the Ksummit-discuss mailing list