[PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Mon Mar 11 14:23:39 EDT 2013
> (b) The discovery/enumeration code needs to access config space via
> pci_ops. The root complex driver implements pci_ops based on a trivial
> parsing of ranges (omitting irrelevant details):
>
> pci_op_read(devfn, pos) {
> loop_over_ranges_entries {
> if (to_devfn(ranges_entry.child) == devfn) {
> return mmio_read(ranges_entry.parent + pos);
^^^^^^^^^^^^^^^^^^^
This has to be converted through all enclosing node's ranges prior to
being used as a CPU address - the OF core has all the code to do this,
but a new entry point would be needed for this specific application...
Cheers,
Jason
More information about the linux-arm-kernel
mailing list