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. -- 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