summaryrefslogtreecommitdiffstats
path: root/Documentation/sound
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-05 06:47:02 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-05 06:47:02 +0000
commit99a7e12f34b3661a0d1354eef83a0eef4df5e34c (patch)
tree3560aca9ca86792f9ab7bd87861ea143a1b3c7a3 /Documentation/sound
parente73a04659c0b8cdee4dd40e58630e2cf63afb316 (diff)
Merge with Linux 2.3.38.
Diffstat (limited to 'Documentation/sound')
-rw-r--r--Documentation/sound/Maestro98
-rw-r--r--Documentation/sound/via82cxxx.txt146
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
+
+