Messages in this thread | | | Subject | Re: [PATCH v11 04/60] sparc/PCI: Use correct offset for bus address to resource | From | Benjamin Herrenschmidt <> | Date | Fri, 06 May 2016 08:02:54 +1000 |
| |
On Thu, 2016-05-05 at 08:53 -0700, Yinghai Lu wrote: > For powerpc io port, we still need extra offset from resource address > to final address. > > resource_size_t offset = > ((resource_size_t)vma->vm_pgoff) << PAGE_SHIFT; > > + if (mmap_state == pci_mmap_io) { > + struct pci_controller *hose = pci_bus_to_host(dev->bus); > + > + /* hose should never be NULL */ > + offset += hose->io_base_phys - > + ((unsigned long)hose->io_base_virt - _IO_BASE); > + } > > vma->vm_pgoff = offset >> PAGE_SHIFT; > > but sparc does not need that trick.
I'm not sure how sparc handles IO space but on powerpc, the IO resource is not a physical address, it's a virtual address (coming from ioremap).
Cheers, Ben.
| |