Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 1995 09:15:39 -0700 (PDT)
From:      Julian Elischer <julian@ref.tfs.com>
To:        luigi@labinfo.iet.unipi.it (Luigi Rizzo)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: How to abort a DMA transfer ?
Message-ID:  <199508211615.JAA23757@ref.tfs.com>
In-Reply-To: <199508201701.TAA12803@labinfo.iet.unipi.it> from "Luigi Rizzo" at Aug 20, 95 07:01:00 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> How (within a device driver) do I abort a DMA transfer which has
> been started but has not completed yet ? I am having this problem
> in the driver for a hand-scanner (the scanner does some read ahead;
> meanwhile, a user might close the device and we want to abort the
> transfer and free the buffer). I am surprised I haven't seen (or
> understood!) anything like this in existing drivers, not even in
> the floppy driver!
 most drivers assume that if a DMA starts it will complete..
in fact I know of no mechanism to stop a DMA from completing
even if the devices and memory doesn't respond, the DMA will complete,
because of the marvelous PC way that DMA is implimented,
if something fails to respond with a WAIT-STATE, it's assumed to have
completed. So a frozen device is the QUICKEST to respond :(


> 
> 	Thanks
> 	Luigi
> ====================================================================
> Luigi Rizzo                     Dip. di Ingegneria dell'Informazione
> email: luigi@iet.unipi.it       Universita' di Pisa
> tel: +39-50-568533              via Diotisalvi 2, 56126 PISA (Italy)
> fax: +39-50-568522              http://www.iet.unipi.it/~luigi/
> ====================================================================
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508211615.JAA23757>