On 3/11/2013 8:23 AM, Jason Gunthorpe wrote: >> (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... Agreed. But I was considering that detail to be outside the scope of this discussion because the same thing must happen for any physical address at this level of the tree. > > Cheers, > Jason > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html