Thread (1 message) 1 message, 1 author, 2013-03-11

[PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems

From: Mitch Bradley <hidden>
Date: 2013-03-11 19:49:10
Also in: linux-devicetree, linux-pci

On 3/11/2013 8:23 AM, Jason Gunthorpe wrote:
quoted
(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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help