Via motherboard audio driver Copyright 1999,2000 Jeff Garzik Driver software and documentation distributed under the GNU GENERAL PUBLIC LICENSE (GPL) Version 2. See the "COPYING" file distributed with this software for more info. Introduction ------------------------------------------------------------------------ The via82cxxx audio driver found in the drivers/sound directory of the kernel source tree is a PCI audio driver for audio chips found on Via-based motherboards, such as the MVP4. Currently the driver provides audio via SoundBlaster Pro compatibility, and MIDI via MPU-401 compatibility. An AC97 mixing device is also supported, and is generally preferred over the SoundBlaster mixer. IMPORTANT NOTE: Some users report that the SoundBlaster mixer does not work at all -- use the AC97 mixer if possible. Please send bug reports to the mailing list linux-via@gtf.org. To subscribe, e-mail majordomo@gtf.org with "subscribe linux-via" in the body of the message. Thanks ------------------------------------------------------------------------ Via for providing e-mail support, specs, and NDA's source code. MandrakeSoft for providing hacking time. AC97 mixer interface fixes and debugging by Ron Cemer Installation ------------------------------------------------------------------------ If the driver is being statically compiled into the kernel, no configuration should be necessary. If the driver is being compiled as a module, generally two lines must be added to your /etc/conf.modules (or /etc/modules.conf) file: alias sound via82cxxx options sb support=1 The second line is very important: it tells the required 'sb' module not to load SoundBlaster support, but to instead let the Via driver do so at a later time. Driver notes ------------------------------------------------------------------------ This driver by default supports all PCI audio devices which report a vendor id of 0x1106, and a device id of 0x3058. Subsystem vendor and device ids are not examined. Only supports a single sound chip, as this is a motherboard chipset. Some architecture remains for multiple cards, feel free to submit a patch to clean some of that up. Ideally, No consideration for SMP, this chipset is not known to be found on any SMP motherboards. However, this will change when we start handling our own interrupts in "native mode." GNU indent formatting options: -kr -i8 -pcs Tested Hardware ------------------------------------------------------------------------ The following is an _incomplete_ list of motherboards supported by this audio driver. If your motherboard (or notebook) is not listed here, please e-mail the maintainer with details. AOpen MX59 Pro (Apollo MVP4) The Future ------------------------------------------------------------------------ Via has graciously donated e-mail support and source code to help further the development of this driver. Their assistance has been invaluable in the design and coding of the next major version of this driver. This audio chip supports a DirectSound(tm)-style hardware interface, with a single 16-bit stereo input channel, and a single 16-bit stereo output channel. Data is transferred to/from the hardware using table-driven scatter-gather DMA buffers. Work is currently underway to support this "native mode" of the chip. When complete, SoundBlaster legacy mode will be completely removed. After a round of testing, this code will become version 2.0.0. Following the 2.0.0 release, the last major task to complete is MIDI support. MPU-401 legacy support is available currently, but not well tested at all. The Via audio chip apparently provides a second PCM scatter-gather DMA channel just for FM data, but does not have a full hardware MIDI processor. I haven't put much thought towards a solution here, but it might involve using SoftOSS midi wave table, or simply disabling MIDI support altogether and using the FM PCM channel as a second (input? output?) General To-do List (patches/suggestions welcome) ------------------------------------------------------------------------ Better docs Code review by sound guru(s) Native DSP audio driver using scatter-gather DMA, as described above Native MIDI driver, as described above Known bugs (patches/suggestions welcome) ------------------------------------------------------------------------ 1) Two MIDI devices are loaded by the sound driver. Eliminate one of them. 2) Two mixer devices are loaded by the sound driver. Eliminate one of them. At least one bug report says that SB mixer does not work at all, only AC97 mixer.