Trying a Promise Ultra/66 on powerpc
Paul Mackerras
paulus at cs.anu.edu.au
Mon Aug 9 15:13:28 EST 1999
> This fact was already catered for with the definition of outb/inb and
> friends, which get an offset added to the port. Unfortunately, the
> PowerMac IDE code undoes this and replaces it with a different
> mechanism, which in essence removes the offset. Grrr..
Not any more. I took that stuff out a few weeks ago so that the
CMD646 on the blue&white G3s could work.
Basically the problem is that the IDE driver assumes that you access
all IDE controllers via I/O ports. When you have a controller that
has memory-mapped registers, there is a problem. When you have a
system where one IDE controller has I/O ports and another has memory-
mapped registers, you have a bigger problem. The current approach to
solving this problem is to map the addresses of the memory-mapped
registers into pseudo I/O port numbers (by subtracting _IO_BASE). If
there is a better way, somebody let me know. :-)
> I've solved the problem by adding the right offset directly to the
> io-port values as found in the kernel's PCI structures. I think this
> needs more serious rework, though. Paul, are you the author of the
> PowerMac IDE stuff? So we can work this out...
Yep, for my sins. :-) :-)
Also, does anyone know how a quick way to get the best DMA cycle
timing values in a tuneproc?
Paul.
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
More information about the Linuxppc-dev
mailing list