[PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems
Mitch Bradley
wmb at firmworks.com
Mon Mar 11 15:49:10 EDT 2013
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
>
More information about the linux-arm-kernel
mailing list