On 05/30/2013 03:32 PM, wolfking wrote:
(continued) I traced the 8139too.c when it uses pci_iomap, the pci_iomap called the ioport_map. The difference between 8139 and my PCIe card lies in the "port" value : void __iomem *ioport_map(unsigned long port, unsigned int len) { return (void __iomem *) (port + _IO_BASE);
_IO_BASE is equal to isa_io_base. So if this is not zero, I think there's a isa bridge in your platform. So you can access these I/O ports based on that isa bridge/bus with ioreadx/iowritex.
} in 8139too.c, the "port" value is 0x1000; for my PCIe card, the "port" value is 0xfefff000. And the value is got from pci_resource_start. So you see, the
But this means the port is as memory-mapped so ioremap() should be workable in this case. Then out_bex/in_bex should be fine.
Tiejun _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev