From owner-freebsd-multimedia@FreeBSD.ORG Tue Apr 4 01:49:29 2006 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6EC7C16A400 for ; Tue, 4 Apr 2006 01:49:29 +0000 (UTC) (envelope-from harikurniawan@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A19543D48 for ; Tue, 4 Apr 2006 01:49:28 +0000 (GMT) (envelope-from harikurniawan@gmail.com) Received: by wproxy.gmail.com with SMTP id i31so1136670wra for ; Mon, 03 Apr 2006 18:49:27 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=TSUoNYKrMob2DhkXAqbHB7YXzykhzwooArTLVj4wQFur4FEZiC1FjoVFr22U1SQvMlMiDsqHT8HDJEtpKuPM89AcLvcWn77E5R8UL5I+okO2J4Iy2Xuh68Rre2DrMIBqkkpHzHEaQg06ULq8MzaxBdEkWuS3AfYMTg0EZHedsrA= Received: by 10.65.181.12 with SMTP id i12mr22908qbp; Mon, 03 Apr 2006 18:49:27 -0700 (PDT) Received: by 10.64.201.6 with HTTP; Mon, 3 Apr 2006 18:49:27 -0700 (PDT) Message-ID: <4c40c4e70604031849l4ac2610btcadd088cbe204bc6@mail.gmail.com> Date: Tue, 4 Apr 2006 08:49:27 +0700 From: "Angka H. K." To: "Stephane E. Potvin" In-Reply-To: <4430AE68.6000301@videotron.ca> MIME-Version: 1.0 References: <4430AE68.6000301@videotron.ca> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-multimedia@freebsd.org Subject: Re: High Definition Audio driver X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2006 01:49:29 -0000 When I try to compile it I didn't found a "Makefile", then I impoerted the snd_ich Makefile with a few changes and adding my device id. It wa compiled and can be loaded but it cannot allocate memory for my card. Where can I take a look about memory alocation in my hardware ? On 4/3/06, Stephane E. Potvin wrote: > > A few weeks ago I upgraded my laptop only to discover that the sound > system > on it was unsupported by FreeBSD, being an High Definition Audio > controller / codec. I started at that time to write a driver specific to > FreeBSD. Given that it seems that I'm not the only one stuck with this > problem, I decided after some gentle prodding by Alexander to share what > I'm trying to achieve. > > I first had a look at the NetBSD driver but soon decided not to start fro= m > it. They chose to use a monolithic driver that controls both the HDA > controller and the audio codec. The HDA architecture calls for a single > HDA > controller to have many codecs connected via a shared bus. Each codec can > have multiple functions. These functions could be Audio, Modems, etc. > > So I decided to take another approach for the driver I'm writing. I've > decided to split it into a driver for the HDA controller itself, one for > the HDA bus and one (or many) for the actual functions. The bus driver > will > be used to enumerate the different functions that are on the different > codecs to find matching drivers. > > This will enable us, in the long run, to be able to support other drivers > than Audio ones (like modems). It will also enable to have more than one > Audio function active on a single controller (in the case of an external > codec in a docking station for example). It will also enable the support > of > different controllers on other architectures in case this standard catche= s > up without having to rewrite the audio functions. > > Here are the major steps that I currently plan to do for this driver. The= y > are not in any relevant order: > > - Implement the CORB and RIRB engines to send verbs and receive responses > from the codecs (mostly done). > > - Implement a bus driver (hda) that will enumerate the functions on the > codecs and try to attach matching drivers. I'm not sure yet if I'll use > the > bus_space subsystem to handle reading and writing the function registers > (via the CORB/RIRB). If anyone has any thoughts about that I'll be glad t= o > hear about them. (started but progressing slowly) > > - Add support for the Stream Resources on the HDA controller. These are > the > DMA engines that transfer the actual audio data to and from the codecs to > physical memory. > > - Write the actual audio driver to control the audio function. This will > be > the driver that will actually attach to the pcm subsystem. > > - Add unsolicited response support to handle asynchronous events from the > functions. This will enable, for example, to send a devd events (or via > any > other mechanism required) to userspace applications to indicate that a > jack > was inserted or removed. > > - Add hot insertion/removal of codecs to handle the case where a docking > station that sports a codec is added. > > - Support for low power states on the HDA controller and on the codecs. > > - Suspend / Resume support for laptop. I guess that I'll somewhat need to > fix basic suspend/resume on my laptop before I can tackle that :( > > - Any other things I might need to add along the way...( > > Now, the bad news. I'm working on this when I have the time but it's > usually not nearly enough as I would like it to be. I'll get there someda= y > unless somebody else beat me to it. If anybody would like this to go > faster, I'll be very happy to get any help that I might get. > > In case it might be of interest to anybody, there's a version of the > driver > (about 2 weeks ago) available at: (Thanks again Alexander) > http://www.leidinger.net/FreeBSD/hdac-20060313.tbz > > Usual disclaimers, use this at your own risk. It may eat your computer, > make your cats sick, yaya. Some parts were added in a hurry just to make > this work (the interrupt handler for example), so they are kind of really > ugly. I plan to refine them with time. > > I'm currently working on the bus driver itself. Once I get it working to > my > liking, I'll update the driver and post a message here.. > > I would appreciate any feedback I can get about my plans, what I have don= e > so far, etc. Please don't hesitate to drop me an email in that case. > > Regards, > > Steph > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to " > freebsd-multimedia-unsubscribe@freebsd.org" >