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
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev