[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