Contributed by mbalmer on from the humppan-itsekseni dept.
ICH6 and ICH7 (Intel Controller Hub version 6 and 7) contain a new audio device: azalia(4). About 8 months ago I got a new workstation with one and then started porting the driver from NetBSD. The audio layer in NetBSD has changed substantially recently to include support for resampling and more/different encoding formats, so the port wasn't as easy as it used to be.
Jason did not give up that quickly, read on...
Azalia is a new interface for audio devices. It is similiar to ac97(4), but contains more support for codecs and associated peripherals in addition to being 64bit DMA capable. Azalia is the driver for the Intel High Definition Architecture.
The driver can be broken into pieces: codec support, peripheral support, and DMA/Interrupt support. Codec support provides the ability to manipulate the codec (encoding, translation, etc). Peripheral support allows for manipulating the mixer. Finally, the DMA/Interrupt part escorts sample data from the audio(4) layer to and from the DMA engines on the chip.
While azalia provides many knobs to tweak, only a small fraction will be supported by OpenBSD. At the moment the driver works well enough to work with xmms(1) and other MP3 players. The mixer is not supported, and encodings other than signed-linear 16 bit don't work.
At this point, the driver is enabled in GENERIC in -current, and I'd love to hear feedback.
(Comments are closed)