This message generated a parse failure. Raw output follows here. Please use 'back' to navigate. From devnull@lkml.org Sun May 5 07:03:40 2024 Received: from entropy.muc.muohio.edu (IDENT:root@entropy.muc.muohio.edu [134.53.213.10]) by herbie.ucs.indiana.edu (8.9.3/8.9.3) with ESMTP id LAA27273 for ; Wed, 10 Nov 1999 11:51:08 -0500 (EST) Received: from vger.rutgers.edu (vger.rutgers.edu [128.6.190.2]) by entropy.muc.muohio.edu (8.9.3/8.9.3) with ESMTP id XAA09147; Tue, 9 Nov 1999 23:48:41 -0500 Received: by vger.rutgers.edu via listexpand id ; Wed, 10 Nov 1999 11:33:57 -0500 Received: by vger.rutgers.edu id ; Wed, 10 Nov 1999 11:33:16 -0500 Received: from mail.scitechsoft.com ([207.231.9.234]:1757 "EHLO mail.scitechsoft.com") by vger.rutgers.edu with ESMTP id ; Wed, 10 Nov 1999 11:32:14 -0500 Received: from kendallb [207.231.9.62] by mail.scitechsoft.com (SMTPD32-5.05 EVAL) id AFF7BD8802B2; Wed, 10 Nov 1999 08:40:23 -0800 From: "Kendall Bennett" Organization: SciTech Software, Inc. To: linux-kernel@vger.rutgers.edu Date: Wed, 10 Nov 1999 08:33:37 -0800 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Subject: Interrupts sound drivers in Linux? In-Reply-To: X-Mailer: Pegasus Mail for Win32 (v3.01d) Message-Id: <199911100840572.SM00115@kendallb> Sender: owner-linux-kernel@vger.rutgers.edu Precedence: bulk X-Loop: majordomo@vger.rutgers.edu X-Orcpt: rfc822;linux-kernel-outgoing-dig Hi Guys, I have some general questions about how sound drivers are implemented in Linux. What I am interested in knowing is how interrupts and filling of DMA buffers is handled. From what I can work out the driver exports an interface to the DMA buffers, such that calls to read/write will write data into the DMA buffers directly, blocking when full. It also seems that the select call can be used to selectively block on I/O so that the user app can block when necessary, being woken up when a portion of the DMA buffer is ready for writing. So I have a couple of questions: 1. Are the DMA buffers handled in a dual 'ping-pong' type scheme, with half the DMA buffers being read and the other written to? Is some other more flexible scheme used. 2. How are the interrupts handle in the driver? Is the only interrupt that is available the regular 'End-Of-DMA' interrupt, or can the sound drivers make use of timer interrupts if desired? 3. I know that OSS supports a 'software mixer' in their drivers. I assume this software mixer runs in kernel space, so in that case how is mixing of multiple sounds handled using the software mixer? The main reason I am asking is that we are interested in abstracting the mechanisms that are used to implement sound drivers in different systems. I already know how DOS, Windows and OS/2 do sound, and I am interested in learning more about how Unix does it. Thanks! +---------------------------------------------------------------+ | SciTech Software - Building Truly Plug'n'Play Software! | +---------------------------------------------------------------+ | Kendall Bennett | Email: KendallB@scitechsoft.com | | Director of Engineering | Phone: (530) 894 8400 | | SciTech Software, Inc. | Fax : (530) 894 9069 | | 505 Wall Street | ftp : ftp.scitechsoft.com | | Chico, CA 95928, USA | www : http://www.scitechsoft.com | +---------------------------------------------------------------+ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/