* ISA DMA @ 2004-09-08 21:28 Pierre Ossman 2004-09-08 22:27 ` Alan Cox 2004-09-08 22:54 ` Tommy Reynolds 0 siblings, 2 replies; 4+ messages in thread From: Pierre Ossman @ 2004-09-08 21:28 UTC (permalink / raw) To: linux-kernel I'm trying to figure out how to do ISA DMA transfers. I can't figure out how to satisfy all the requirements the ISA DMA controller sets. I've set a DMA mask of 0x00ffffff but mappings end up above the 16MB limit nonetheless. And I have no idea how to keep transfers within the same 64k boundary. I've been trying to figure out how other drivers do it but I can't see what I'm missing. And the documentation doesn't cover ISA DMA. I'm basically stuck now so I'd appreciate any tips you can give me. Rgds Pierre Ossman ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ISA DMA 2004-09-08 21:28 ISA DMA Pierre Ossman @ 2004-09-08 22:27 ` Alan Cox 2004-09-09 15:14 ` Pierre Ossman 2004-09-08 22:54 ` Tommy Reynolds 1 sibling, 1 reply; 4+ messages in thread From: Alan Cox @ 2004-09-08 22:27 UTC (permalink / raw) To: Pierre Ossman; +Cc: Linux Kernel Mailing List On Mer, 2004-09-08 at 22:28, Pierre Ossman wrote: > I'm trying to figure out how to do ISA DMA transfers. I can't figure out > how to satisfy all the requirements the ISA DMA controller sets. I've > set a DMA mask of 0x00ffffff but mappings end up above the 16MB limit > nonetheless. And I have no idea how to keep transfers within the same > 64k boundary. drivers/net/lance.c is a pretty good worked example of driving the old ISA bus grunge. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ISA DMA 2004-09-08 22:27 ` Alan Cox @ 2004-09-09 15:14 ` Pierre Ossman 0 siblings, 0 replies; 4+ messages in thread From: Pierre Ossman @ 2004-09-09 15:14 UTC (permalink / raw) To: Alan Cox; +Cc: Linux Kernel Mailing List Alan Cox wrote: >drivers/net/lance.c is a pretty good worked example of driving the old >ISA bus grunge. > > > Thanks. That helped solve some of the problems at least. The transfers still only work some of the time. Everything seems ok but only junk in the buffers. Not sure which part is causing it so it'll require some more research. Rgds Pierre ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ISA DMA 2004-09-08 21:28 ISA DMA Pierre Ossman 2004-09-08 22:27 ` Alan Cox @ 2004-09-08 22:54 ` Tommy Reynolds 1 sibling, 0 replies; 4+ messages in thread From: Tommy Reynolds @ 2004-09-08 22:54 UTC (permalink / raw) To: linux-kernel [-- Attachment #1: Type: text/plain, Size: 447 bytes --] Uttered Pierre Ossman <drzeus-list@drzeus.cx>, spake thus: > I've been trying to figure out how other drivers do it but I can't see > what I'm missing. And the documentation doesn't cover ISA DMA. Allocate your DMA buffer area by OR'ing in the "GFP_DMA" flag. This keeps your DMA buffer below the magical 16MB limit. Also be sure to use "virt_to_bus()" to convert the kernel buffer address into one that you can give to the DMA engine. HTH. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-09-09 15:14 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-09-08 21:28 ISA DMA Pierre Ossman 2004-09-08 22:27 ` Alan Cox 2004-09-09 15:14 ` Pierre Ossman 2004-09-08 22:54 ` Tommy Reynolds
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox