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

Reply via email to