[427] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: Grrr: Reading more than buffersize

daemon@ATHENA.MIT.EDU (Ralf Baechle)
Tue Jul 25 19:03:54 1995

To: submit-linux-dev-scsi@ratatosk.yggdrasil.com
From: ralf@mailhost.uni-koblenz.de (Ralf Baechle)
Date: 25 Jul 1995 12:12:19 GMT

In article <199507240235.WAA19050@huahaga.rutgers.edu>, "David S. Miller" <davem@caip.rutgers.edu> writes:
 
|> As an interesting aside, on certain architectures the DMA used with
|> the SCSI subsystem does it's transfers via virtual address, and as
|> such this virt->phys address acquisition would not even be necessary.
|> Sparc has this, the ESP Scsi chip has what is called DVMA where all
|> transfers are virtually addressed.  Only problem with this is that
|> once needs to flush the relevant pages on DVMA writes since Sparc uses
|> virtual cache tagged with context keys.

Does that mean that the ESP chip is being fed with the same memory managment
data like the CPU's MMU itself?  Or does has it to use own page tables?

Linux/MIPS for Olivetti M700/Mips Magnum 4000/Acer Pica 61 targets already
uses the DMA to virtual address approach.  On those boards it is impossible
to use DMA (not even for floppy or similar trivial) with physical addresses
as destinations.

The approach of doing scatter/gather DMA to a continous virtual address space
that is translated into possibly throughout the whole core scattered physical
addresses is also about %30 faster compared with the simple approach of just
mapping DMA virtual addresses 1:1 to physical addresses.  It even reduces
CPU usage during the scatter/gather-ed SCSI command to zero.

  Ralf

home help back first fref pref prev next nref lref last post