Re: [PATCH] small sym-2 fix

Anton Blanchard
2001-11-21T02:21:15Z

Hi,

> Linux/ppc64 looks strange invention to me. As you know IO base addresses
> are limited to 32 bit in PCI. And, btw, 32 bits seems to work just fine
> here as PPC is defined from the driver as using normal IO. But, IIRC, the
> strange Linux/PPC invention only supports MMIO. :-)

Since all PCI IO is memory mapped on ppc64, IO addresses end up > 32 bits.
Until recently we used to have an IO offset that we added to all accesses
which kept the driver visible IO addresses < 32 bits. (This is still the
case with ppc32)

The change was made to support error handling, the 64 bit token has the
pci bus,dev,fn embedded in it so that the low level IO routines can do
error recovery if in{b,w,l} fails.

I didnt make these changes and it would seem we can link IO address <->
pci bus,dev,fn in other ways, if it turns out many drivers cannot use u64
for IO ports then we will have to investigate them.

> If you want to play with _explicit_ MMIO, you just have to remove a couple
> of line from sym53c8xx.h. Here they are:

Yes MMIO works fine. Is there a reason we force PCI IO on __powerpc__?

Anton