~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/Documentation/sound/via82cxxx.txt

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1                         Via motherboard audio driver
  2         Copyright 1999,2000 Jeff Garzik <jgarzik@mandrakesoft.com>
  3 
  4 Driver software and documentation distributed under the GNU GENERAL
  5 PUBLIC LICENSE (GPL) Version 2. See the "COPYING" file distributed with
  6 this software for more info.
  7 
  8 
  9 
 10 Introduction
 11 ------------------------------------------------------------------------
 12 The via82cxxx audio driver found in the drivers/sound directory
 13 of the kernel source tree is a PCI audio driver for audio chips
 14 found on Via-based motherboards, such as the MVP4.
 15 
 16 Currently the driver exports the following features:
 17 
 18         * /dev/dsp and /dev/audio support
 19         * 16-bit stereo PCM output channel
 20         * AC97 mixer
 21 
 22 Please send bug reports to the mailing list linux-via@gtf.org.
 23 To subscribe, e-mail majordomo@gtf.org with "subscribe linux-via" in the
 24 body of the message.
 25 
 26 
 27 Thanks
 28 ------------------------------------------------------------------------
 29 Via for providing e-mail support, specs, and NDA'd source code.
 30 
 31 MandrakeSoft for providing hacking time.
 32 
 33 AC97 mixer interface fixes and debugging by Ron Cemer <roncemer@gte.net>
 34 
 35 
 36 
 37 Installation
 38 ------------------------------------------------------------------------
 39 If the driver is being statically compiled into the kernel, no
 40 configuration should be necessary.
 41 
 42 If the driver is being compiled as a module, generally one line must
 43 be added to your /etc/conf.modules (or /etc/modules.conf) file:
 44 
 45         alias sound via82cxxx_audio
 46 
 47 
 48 
 49 Driver notes
 50 ------------------------------------------------------------------------
 51 Two /proc pseudo-files provide diagnostic information.  This is generally
 52 not useful to most users.  Power users can disable VIA_PROC_FS macro in the 
 53 driver source code, and remove the /proc support code.  In any case, once
 54 version 2.0.0 is released, the /proc support code will be disabled by
 55 default.  Available /proc pseudo-files:
 56 
 57         /proc/driver/via/0/info
 58         /proc/driver/via/0/ac97
 59 
 60 This driver by default supports all PCI audio devices which report
 61 a vendor id of 0x1106, and a device id of 0x3058.  Subsystem vendor
 62 and device ids are not examined.
 63 
 64 Only supports a single sound chip, as this is a motherboard chipset.
 65 Some architecture remains for multiple cards, feel free to submit
 66 a patch to clean some of that up.  Ideally, 
 67 
 68 No consideration for SMP, this chipset is not known to be found on
 69 any SMP motherboards.  However, spin_locks must be used anyway in order
 70 to handle interrupts correctly.
 71 
 72 GNU indent formatting options:  -kr -i8 -pcs
 73 
 74 
 75 
 76 Tested Hardware
 77 ------------------------------------------------------------------------
 78 The following is an _incomplete_ list of motherboards supported by this
 79 audio driver.  If your motherboard (or notebook) is not listed here,
 80 please e-mail the maintainer with details.
 81 
 82         AOpen MX59 Pro
 83         Compaq Presario 1247
 84 
 85 
 86 
 87 Random Developer Notes / Comments
 88 ------------------------------------------------------------------------
 89 Via has graciously donated e-mail support and source code to help further
 90 the development of this driver.  Their assistance has been invaluable
 91 in the design and coding of the next major version of this driver.
 92 
 93 The Via audio chip apparently provides a second PCM scatter-gather
 94 DMA channel just for FM data, but does not have a full hardware MIDI
 95 processor.  I haven't put much thought towards a solution here, but it
 96 might involve using SoftOSS midi wave table, or simply disabling MIDI
 97 support altogether and using the FM PCM channel as a second (input? output?)
 98 
 99 
100 
101 General To-do List (patches/suggestions welcome)
102 ------------------------------------------------------------------------
103 Recording support
104 
105 mmap support
106 
107 Other advanced ioctls
108 
109 Better docs
110 
111 Code review
112 
113 Native MIDI driver, as described above
114 
115 
116 
117 Known bugs (patches/suggestions welcome)
118 ------------------------------------------------------------------------
119 1) Volume too low on many systems.  Workaround:  use mixer program
120 such as xmixer to increase volume.
121 
122 2) RealPlayer output very scratchy.  Workaround:  use esd, and
123 configure RealPlayer to output to esd.
124 
125 3) Applications which attempt to open the sound device in read/write
126 mode (O_RDWR) will fail.  This is incorrect OSS behavior, but since
127 this driver will eventually support recording as well as playback,
128 we will be able to (in the future) support even broken programs which
129 unconditionally use O_RDWR.
130 
131 
132 
133 Submitting a bug report
134 ------------------------------------------------------------------------
135 Describe the application you were using to play/record sound, and how
136 to reproduce the problem.
137 
138 Obtain the via-audio-diag diagnostics program from
139 http://gtf.org/garzik/drivers/via82cxxx/ and provide a dump of the
140 audio chip's registers while the problem is occurring.  Sample command line:
141         ./via-audio-diag -aps > diag-output.txt
142 
143 Define "VIA_DEBUG" at the beginning of the driver, then capture and email
144 the kernel log output.  This can be viewed in the system kernel log (if
145 enabled), or via the 'dmesg' program.
146 
147 If you wish to increase the size of the buffer displayed by 'dmesg', then
148 change the LOG_BUF_LEN macro at the top of linux/kernel/printk.c, recompile
149 your kernel, and pass the "-s <size>" option to 'dmesg'.
150 
151 
152 
153 Change history
154 ------------------------------------------------------------------------
155 Version 1.1.7:
156 * Fix module unload bug where mixer device left registered
157   after driver exit
158 
159 Version 1.1.6:
160 * Rewrite via_set_rate to mimic ALSA basic AC97 rate setting
161 * Remove much dead code
162 * Complete spin_lock_irqsave -> spin_lock_irq conversion in via_dsp_ioctl
163 * Fix build problem in via_dsp_ioctl
164 * Optimize included headers to eliminate headers found in linux/drivers/sound
165 
166 Version 1.1.5:
167 * Disable some overly-verbose debugging code
168 * Remove unnecessary sound locks
169 * Fix some ioctls for better time resolution
170 * Begin spin_lock_irqsave -> spin_lock_irq conversion in via_dsp_ioctl
171 
172 Version 1.1.4:
173 * Completed rewrite of driver.  Eliminated SoundBlaster compatibility
174   completely, and now uses the much-faster scatter-gather DMA engine.
175 
176 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.