diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
commit | 99a7e12f34b3661a0d1354eef83a0eef4df5e34c (patch) | |
tree | 3560aca9ca86792f9ab7bd87861ea143a1b3c7a3 /Documentation/sound | |
parent | e73a04659c0b8cdee4dd40e58630e2cf63afb316 (diff) |
Merge with Linux 2.3.38.
Diffstat (limited to 'Documentation/sound')
-rw-r--r-- | Documentation/sound/Maestro | 98 | ||||
-rw-r--r-- | Documentation/sound/via82cxxx.txt | 146 |
2 files changed, 244 insertions, 0 deletions
diff --git a/Documentation/sound/Maestro b/Documentation/sound/Maestro new file mode 100644 index 000000000..f3cc4ab77 --- /dev/null +++ b/Documentation/sound/Maestro @@ -0,0 +1,98 @@ + An OSS/Lite Driver for the ESS Maestro family of sound cards + + Zach Brown, December 1999 + +Driver Status and Availability +------------------------------ + +The most recent version of this driver will hopefully always be available at + http://people.redhat.com/zab/maestro/ + +I will try and maintain the most recent stable version of the driver +in both the stable and development kernel lines. + +ESS Maestro Chip Family +----------------------- + +There are 3 main variants of the ESS Maestro PCI sound chip. The first +is the Maestro 1. It was originally produced by Platform Tech as the +'AGOGO'. It can be recognized by Platform Tech's PCI ID 0x1285 with +0x0100 as the device ID. It was put on some sound boards and a few laptops. +ESS bought the design and cleaned it up as the Maestro 2. This starts +their marking with the ESS vendor ID 0x125D and the 'year' device IDs. +The Maestro 2 claims 0x1968 while the Maestro 2e has 0x1978. + +The various families of Maestro are mostly identical as far as this +driver is concerned. It doesn't touch the DSP parts that differ (though +it could for FM synthesis) + +Driver OSS Behavior +-------------------- + +This OSS driver exports /dev/mixer and /dev/dsp to applications, which +mostly adhere to the OSS spec. This driver doesn't register itself +with /dev/sndstat, so don't expect information to appear there. + +The /dev/dsp device exported behaves almost as expected. Playback is +supported in all the various lovely formats. 8/16bit stereo/mono from +8khz to 48khz, and mmap()ing for playback behaves. Capture/recording +is limited due to oddities with the Maestro hardware. One can only +record in 16bit stereo. For recording the maestro uses non interleaved +stereo buffers so that mmap()ing the incoming data does not result in +a ring buffer of LRLR data. mmap()ing of the read buffers is therefore +disallowed until this can be cleaned up. + +/dev/mixer is an interface to the AC'97 codec on the Maestro. It is +worth noting that there are a variety of AC'97s that can be wired to +the Maestro. Which is used is entirely up to the hardware implementor. +This should only be visible to the user by the presence, or lack, of +'Bass' and 'Treble' sliders in the mixer. Not all AC'97s have them. + +The driver doesn't support MIDI or FM playback at the moment. Typically +the Maestro is wired to an MPU MIDI chip, but some hardware implementations +don't. We need to assemble a white list of hardware implementations that +have MIDI wired properly before we can claim to support it safely. + +Compiling and Installing +------------------------ + +With the drivers inclusion into the kernel, compiling and installing +is the same as most OSS/Lite modular sound drivers. Compilation +of the driver is enabled through the CONFIG_SOUND_MAESTRO variable +in the config system. + +It may be modular or statically linked. If it is modular it should be +installed with the rest of the modules for the kernel on the system. +Typically this will be in /lib/modules/ somewhere. 'alias sound maestro' +should also be added to your module configs (typically /etc/conf.modules) +if you're using modular OSS/Lite sound and want to default to using a +maestro chip. + +As this is a PCI device, the module does not need to be informed of +any IO or IRQ resources it should use, it devines these from the +system. Somtimes, on sucky PCs, the BIOS fails to allocated resources +for the maestro. This will result in a message like: + maestro: PCI subsystem reports IRQ 0, this might not be correct. +from the kernel. Should this happen the sound chip most likely will +not operate correctly. To solve this one has to dig through their BIOS +(typically entered by hitting a hot key at boot time) and figure out +what magic needs to happen so that the BIOS will reward the maestro with +an IRQ. This operation is incredibly system specific, so you're on your +own. Sometimes the magic lies in 'PNP Capable Operating System' settings. + +There are very few options to the driver. One is 'debug' which will +tell the driver to print minimal debugging information as it runs. This +can be collected with 'dmesg' or through the klogd daemon. + +The other, more interesting option, is 'dsps_order'. Typically at +install time the driver will only register one available /dev/dsp device +for its use. The 'dsps_order' module parameter allows for more devices +to be allocated, as a power of two. Up to 4 devices can be registered +( dsps_order=2 ). These devices act as fully distinct units and use +separate channels in the maestro. + +.. more details .. +----------------- + +drivers/sound/maestro.c contains comments that hopefully explain +the maestro implementation. diff --git a/Documentation/sound/via82cxxx.txt b/Documentation/sound/via82cxxx.txt new file mode 100644 index 000000000..62877fd79 --- /dev/null +++ b/Documentation/sound/via82cxxx.txt @@ -0,0 +1,146 @@ + Via motherboard audio driver + Copyright 1999,2000 Jeff Garzik <jgarzik@mandrakesoft.com> + +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 <roncemer@gte.net> + + + +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. +Sample /proc/sound output: + + Midi devices: + 0: Sound Blaster + 1: VIA 82Cxxx Audio driver 1.1.2 + +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. Sample /proc/sound output: + + Mixers: + 0: via82cxxxAC97Mixer + 1: Sound Blaster + +3) After unloading the driver, a SoundBlaster MIDI device is still +listed in /proc/sound. Investigate what is not being unloaded, +and fix it. Sample /proc/sound output, after 'rmmod via82cxxx': + + Midi devices: + 0: Sound Blaster + + |