From owner-freebsd-hackers Tue Oct 22 07:02:13 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA00971 for hackers-outgoing; Tue, 22 Oct 1996 07:02:13 -0700 (PDT) Received: from gatekeeper.ctron.com (ctron.com [134.141.197.25]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id HAA00961 for ; Tue, 22 Oct 1996 07:02:10 -0700 (PDT) Received: (from news@localhost) by gatekeeper.ctron.com (8.6.12/8.6.9) id KAA02645 for ; Tue, 22 Oct 1996 10:02:08 -0400 Received: from stealth.ctron.com(134.141.5.107) by gatekeeper via smap (V1.3mjr) id sma002617; Tue Oct 22 10:01:56 1996 Received: from thoth.ctron.com by stealth.ctron.com (4.1/SMI-4.1) id AA24551; Tue, 22 Oct 96 10:08:10 EDT Received: from thoth (localhost [127.0.0.1]) by thoth.ctron.com (8.6.12/8.6.12) with SMTP id KAA16220 for ; Tue, 22 Oct 1996 10:03:17 -0400 Message-Id: <326CD424.7085@ctron.com> Date: Tue, 22 Oct 1996 10:03:16 -0400 From: Alexander Seth Jones Organization: Cabletron Systems, Inc. X-Mailer: Mozilla 3.0Gold (X11; I; SunOS 5.4 sun4m) Mime-Version: 1.0 To: hackers@freefall.freebsd.org Subject: DMA and autoinitialize Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk I'm writing a device driver for an audio card and would like to autoinitialize the DMA. Right now, I do this using isa_dmastart. However, I don't see any routines to grab the data periodically to place it in a buffer inside my driver. I can't use isa_dmadone, because if a bounce buffer is being used, it'll flag it as not being used anymore, so I won't be able to get anymore data. What makes things tough is that the interrupt on the card is not tied to DMA in hardware, so I have to poll the DMA controller periodically to see how many bytes I can transfer over to an internal buffer. I looked through all the drivers and didn't see anybody even doing any autoinitialization, nor did I see a routine to periodically grab stuff from the DMA buffer (2.1.5-RELEASE) Does such a routine exist? or will I have to write one? or can someone suggest another way to approach this? Thanks. -- Alex Jones | ajones@ctron.com Cabletron Systems, Inc. Durham, NH USA 03824