Thread (23 messages) 23 messages, 8 authors, 1999-08-12

Re: Trying a Promise Ultra/66 on powerpc

From: Benjamin Herrenschmidt <hidden>
Date: 1999-08-09 06:50:29

Possibly related (same subject, not in this thread)

On Mon, Aug 9, 1999, Paul Mackerras [off-list ref] wrote:
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. :-)
Looks like the best way would be to store the port base or pointers to
the in/out functions in the HWIF structure.
quoted
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?
I looked for this not so long ago, when fixing the sl82c105.c for a board
we are designing. unfortunately, it looks like the Linux kernel expect
the BIOS to have done all the work of setting the DMA mode. This is
especially nasty for removable drives and for controllers like the
winbond using the same register for DMA and PIO timings.
Also, I heard (I didn't check) that the tuneproc is not appropriate for
this since it may be called with using_dma not set to it's definitive value.
I was thinking about doing this in the dma_proc itself, when DMA is
enabled/disabled.


-- 
           E-Mail: <mailto:bh40@calva.net>
BenH.      Web   : <http://calvaweb.calvacom.fr/bh40/>




[[ 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.   ]]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help