Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 1995 19:10:28 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-hackers@freebsd.org
Subject:   Re: How to abort a DMA transfer ?
Message-ID:  <199508211710.TAA06361@uriah.heep.sax.de>
In-Reply-To: <199508211340.XAA23788@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Aug 21, 95 11:10:41 pm

next in thread | previous in thread | raw e-mail | index | archive | help
As Michael Smith wrote:
> 
> If the scanner is using the old Omron mechanism, or a compatible, data is
> only sent to the interface, and thus the DMAC, as the user moves the scanner
> (clocked via an encoder driven off a roller).  If the user stops moving the
> scanner before the intended number of lines have been read, there's
> no way for anything on that side to know.  Either the driver can time out
> and cancel the transfer, or it can wait 'till a new one is requested.

Not an ideal basis for using DMA transfers.

> Personally, I'd try to run the card on interrupt (if it generates one) -
> my general opinion of the PC's DMA implementation is not flattering 8)

It's an ugly crock, and the only reason the floppy driver is stuck
with using it is that the hardware design essentially requires to
transfer the floppy data via DMA.  (PIO is unacceptable, and per-byte
interrupts are neither supported nor extremely useful.)

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



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