About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sound / alsa / ALSA-Configuration.txt




Custom Search

Based on kernel version 2.6.34. Page generated on 2010-05-31 16:03 EST.

1	
2			Advanced Linux Sound Architecture - Driver
3			==========================================
4				    Configuration guide
5	
6	
7	Kernel Configuration
8	====================
9	
10	To enable ALSA support you need at least to build the kernel with
11	primary sound card support (CONFIG_SOUND).  Since ALSA can emulate OSS,
12	you don't have to choose any of the OSS modules.
13	
14	Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
15	PCM supports if you want to run OSS applications with ALSA.
16	
17	If you want to support the WaveTable functionality on cards such as
18	SB Live! then you need to enable "Sequencer support"
19	(CONFIG_SND_SEQUENCER).
20	
21	To make ALSA debug messages more verbose, enable the "Verbose printk"
22	and "Debug" options.  To check for memory leaks, turn on "Debug memory"
23	too.  "Debug detection" will add checks for the detection of cards.
24	
25	Please note that all the ALSA ISA drivers support the Linux isapnp API
26	(if the card supports ISA PnP).  You don't need to configure the cards
27	using isapnptools.
28	
29	
30	Creating ALSA devices
31	=====================
32	
33	This depends on your distribution, but normally you use the /dev/MAKEDEV
34	script to create the necessary device nodes.  On some systems you use a
35	script named 'snddevices'.
36	
37	
38	Module parameters
39	=================
40	
41	The user can load modules with options. If the module supports more than
42	one card and you have more than one card of the same type then you can
43	specify multiple values for the option separated by commas.
44	
45	Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
46	
47	  Module snd
48	  ----------
49	
50	    The core ALSA module.  It is used by all ALSA card drivers.
51	    It takes the following options which have global effects.
52	
53	    major	- major number for sound driver
54			- Default: 116
55	    cards_limit
56			- limiting card index for auto-loading (1-8)
57			- Default: 1
58			- For auto-loading more than one card, specify this
59			  option together with snd-card-X aliases.
60	    slots	- Reserve the slot index for the given driver.
61			  This option takes multiple strings.		
62			  See "Module Autoloading Support" section for details.
63	    debug	- Specifies the debug message level
64			  (0 = disable debug prints, 1 = normal debug messages,
65			   2 = verbose debug messages)
66			  This option appears only when CONFIG_SND_DEBUG=y.
67			  This option can be dynamically changed via sysfs
68			  /sys/modules/snd/parameters/debug file.
69	  
70	  Module snd-pcm-oss
71	  ------------------
72	
73	    The PCM OSS emulation module.
74	    This module takes options which change the mapping of devices.
75	
76	    dsp_map	- PCM device number maps assigned to the 1st OSS device.
77			- Default: 0
78	    adsp_map	- PCM device number maps assigned to the 2st OSS device.
79			- Default: 1
80	    nonblock_open
81			- Don't block opening busy PCM devices.  Default: 1
82	
83	    For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
84	    the card #0.  Similarly, when adsp_map=0, /dev/adsp will be mapped
85	    to PCM #0 of the card #0.
86	    For changing the second or later card, specify the option with
87	    commas, such like "dsp_map=0,1".
88	
89	    nonblock_open option is used to change the behavior of the PCM
90	    regarding opening the device.  When this option is non-zero,
91	    opening a busy OSS PCM device won't be blocked but return
92	    immediately with EAGAIN (just like O_NONBLOCK flag).
93	    
94	  Module snd-rawmidi
95	  ------------------
96	
97	    This module takes options which change the mapping of devices.
98	    similar to those of the snd-pcm-oss module.
99	
100	    midi_map	- MIDI device number maps assigned to the 1st OSS device.
101			- Default: 0
102	    amidi_map	- MIDI device number maps assigned to the 2st OSS device.
103			- Default: 1
104	
105	  Common parameters for top sound card modules
106	  --------------------------------------------
107	
108	    Each of top level sound card module takes the following options.
109	
110	    index	- index (slot #) of sound card
111			- Values: 0 through 31 or negative
112			- If nonnegative, assign that index number
113	                - if negative, interpret as a bitmask of permissible
114			  indices; the first free permitted index is assigned
115			- Default: -1
116	    id		- card ID (identifier or name)
117			- Can be up to 15 characters long
118			- Default: the card type
119			- A directory by this name is created under /proc/asound/
120			  containing information about the card
121			- This ID can be used instead of the index number in
122			  identifying the card
123	    enable  	- enable card
124			- Default: enabled, for PCI and ISA PnP cards
125	
126	  Module snd-adlib
127	  ----------------
128	
129	    Module for AdLib FM cards.
130	
131	    port	- port # for OPL chip
132	
133	    This module supports multiple cards. It does not support autoprobe, so
134	    the port must be specified. For actual AdLib FM cards it will be 0x388.
135	    Note that this card does not have PCM support and no mixer; only FM
136	    synthesis.
137	
138	    Make sure you have "sbiload" from the alsa-tools package available and,
139	    after loading the module, find out the assigned ALSA sequencer port
140	    number through "sbiload -l". Example output:
141	
142	      Port     Client name                       Port name
143	      64:0     OPL2 FM synth                     OPL2 FM Port
144	
145	    Load the std.sb and drums.sb patches also supplied by sbiload:
146	
147	      sbiload -p 64:0 std.sb drums.sb
148	
149	    If you use this driver to drive an OPL3, you can use std.o3 and drums.o3
150	    instead. To have the card produce sound, use aplaymidi from alsa-utils:
151	
152	      aplaymidi -p 64:0 foo.mid
153	
154	  Module snd-ad1816a
155	  ------------------
156	
157	    Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
158	
159	    clockfreq   - Clock frequency for AD1816A chip (default = 0, 33000Hz)
160	    
161	    This module supports multiple cards, autoprobe and PnP.
162	    
163	  Module snd-ad1848
164	  -----------------
165	
166	    Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
167	
168	    port	- port # for AD1848 chip
169	    irq		- IRQ # for AD1848  chip
170	    dma1	- DMA # for AD1848 chip (0,1,3)
171	    
172	    This module supports multiple cards.  It does not support autoprobe
173	    thus main port must be specified!!! Other ports are optional.
174	    
175	    The power-management is supported.
176	
177	  Module snd-ad1889
178	  -----------------
179	
180	    Module for Analog Devices AD1889 chips.
181	
182	    ac97_quirk  - AC'97 workaround for strange hardware
183	                  See the description of intel8x0 module for details.
184	
185	    This module supports multiple cards.
186	
187	  Module snd-ali5451
188	  ------------------
189	
190	    Module for ALi M5451 PCI chip.
191	
192	    pcm_channels    - Number of hardware channels assigned for PCM
193	    spdif           - Support SPDIF I/O
194	    		    - Default: disabled
195	
196	    This module supports one chip and autoprobe.
197	
198	    The power-management is supported.
199	
200	  Module snd-als100
201	  -----------------
202	
203	    Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
204	
205	    This module supports multiple cards, autoprobe and PnP.
206	
207	    The power-management is supported.
208	
209	  Module snd-als300
210	  -----------------
211	
212	    Module for  Avance Logic ALS300 and ALS300+
213	
214	    This module supports multiple cards.
215	
216	    The power-management is supported.
217	
218	  Module snd-als4000
219	  ------------------
220	
221	    Module for sound cards based on Avance Logic ALS4000 PCI chip.
222	
223	    joystick_port - port # for legacy joystick support.
224	                    0 = disabled (default), 1 = auto-detect
225	    
226	    This module supports multiple cards, autoprobe and PnP.
227	
228	    The power-management is supported.
229	
230	  Module snd-atiixp
231	  -----------------
232	
233	    Module for ATI IXP 150/200/250/400 AC97 controllers.
234	
235	    ac97_clock		- AC'97 clock (default = 48000)
236	    ac97_quirk		- AC'97 workaround for strange hardware
237				  See "AC97 Quirk Option" section below.
238	    ac97_codec		- Workaround to specify which AC'97 codec 
239				  instead of probing.  If this works for you
240				  file a bug with your `lspci -vn` output.
241				  -2  -- Force probing.
242				  -1  -- Default behavior.
243				  0-2 -- Use the specified codec.
244	    spdif_aclink	- S/PDIF transfer over AC-link (default = 1)
245	
246	    This module supports one card and autoprobe.
247	
248	    ATI IXP has two different methods to control SPDIF output.  One is
249	    over AC-link and another is over the "direct" SPDIF output.  The
250	    implementation depends on the motherboard, and you'll need to
251	    choose the correct one via spdif_aclink module option.
252	
253	    The power-management is supported.
254	
255	  Module snd-atiixp-modem
256	  -----------------------
257	
258	    Module for ATI IXP 150/200/250 AC97 modem controllers.
259	
260	    This module supports one card and autoprobe.
261	
262	    Note: The default index value of this module is -2, i.e. the first
263	          slot is excluded.
264	
265	    The power-management is supported.
266	
267	  Module snd-au8810, snd-au8820, snd-au8830
268	  -----------------------------------------
269	
270	    Module for Aureal Vortex, Vortex2 and Advantage device.
271	
272	    pcifix	- Control PCI workarounds
273			  0 = Disable all workarounds
274			  1 = Force the PCI latency of the Aureal card to 0xff
275			  2 = Force the Extend PCI#2 Internal Master for Efficient
276			      Handling of Dummy Requests on the VIA KT133 AGP Bridge
277			  3 = Force both settings
278			  255 = Autodetect what is required (default)
279	
280	    This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
281	    EQ, mpu401, gameport. A3D and wavetable support are still in development.
282	    Development and reverse engineering work is being coordinated at
283	    http://savannah.nongnu.org/projects/openvortex/
284	    SPDIF output has a copy of the AC97 codec output, unless you use the
285	    "spdif" pcm device, which allows raw data passthru.
286	    The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
287	    Advantage.
288	
289	    Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
290	           control correctly. If you have problems regarding this, try
291	           another ALSA compliant mixer (alsamixer works).
292	
293	  Module snd-aw2
294	  --------------
295	
296	    Module for Audiowerk2 sound card
297	
298	    This module supports multiple cards.
299	
300	  Module snd-azt2320
301	  ------------------
302	
303	    Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
304	
305	    This module supports multiple cards, PnP and autoprobe.
306	    
307	    The power-management is supported.
308	
309	  Module snd-azt3328
310	  ------------------
311	
312	    Module for sound cards based on Aztech AZF3328 PCI chip.
313	
314	    joystick	- Enable joystick (default off)
315	
316	    This module supports multiple cards.
317	
318	  Module snd-bt87x
319	  ----------------
320	
321	    Module for video cards based on Bt87x chips.
322	
323	    digital_rate - Override the default digital rate (Hz)
324	    load_all	- Load the driver even if the card model isn't known
325	
326	    This module supports multiple cards.
327	
328	    Note: The default index value of this module is -2, i.e. the first
329	          slot is excluded.
330	
331	  Module snd-ca0106
332	  -----------------
333	
334	    Module for Creative Audigy LS and SB Live 24bit
335	
336	    This module supports multiple cards.
337	
338	
339	  Module snd-cmi8330
340	  ------------------
341	
342	    Module for sound cards based on C-Media CMI8330 ISA chips.
343	
344	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
345	
346	    with isapnp=0, the following options are available:
347	
348	    wssport	- port # for CMI8330 chip (WSS)
349	    wssirq	- IRQ # for CMI8330 chip (WSS)
350	    wssdma	- first DMA # for CMI8330 chip (WSS)
351	    sbport	- port # for CMI8330 chip (SB16)
352	    sbirq	- IRQ # for CMI8330 chip (SB16)
353	    sbdma8	- 8bit DMA # for CMI8330 chip (SB16)
354	    sbdma16	- 16bit DMA # for CMI8330 chip (SB16)
355	    fmport	- (optional) OPL3 I/O port
356	    mpuport	- (optional) MPU401 I/O port
357	    mpuirq	- (optional) MPU401 irq #
358	
359	    This module supports multiple cards and autoprobe.
360	
361	    The power-management is supported.
362	
363	  Module snd-cmipci
364	  -----------------
365	
366	    Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
367	
368	    mpu_port    - port address of MIDI interface (8338 only):
369			  0x300,0x310,0x320,0x330 = legacy port,
370			  0 = disable (default)
371	    fm_port     - port address of OPL-3 FM synthesizer (8x38 only):
372			  0x388 = legacy port,
373			  1 = integrated PCI port (default on 8738),
374			  0 = disable
375	    soft_ac3    - Software-conversion of raw SPDIF packets (model 033 only)
376	                  (default = 1)
377	    joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
378	
379	    This module supports autoprobe and multiple cards.
380	    
381	    The power-management is supported.
382	
383	  Module snd-cs4231
384	  -----------------
385	
386	    Module for sound cards based on CS4231 ISA chips.
387	
388	    port	- port # for CS4231 chip
389	    mpu_port	- port # for MPU-401 UART (optional), -1 = disable
390	    irq		- IRQ # for CS4231 chip
391	    mpu_irq	- IRQ # for MPU-401 UART
392	    dma1	- first DMA # for CS4231 chip
393	    dma2	- second DMA # for CS4231 chip
394	    
395	    This module supports multiple cards. This module does not support autoprobe
396	    thus main port must be specified!!! Other ports are optional.
397	
398	    The power-management is supported.
399	    
400	  Module snd-cs4236
401	  -----------------
402	
403	    Module for sound cards based on CS4232/CS4232A,
404	    	       	     	   	   CS4235/CS4236/CS4236B/CS4237B/
405	                                   CS4238B/CS4239 ISA chips.
406	
407	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
408	
409	    with isapnp=0, the following options are available:
410	
411	    port	- port # for CS4236 chip (PnP setup - 0x534)
412	    cport	- control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
413	    mpu_port	- port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
414	    fm_port	- FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
415	    irq		- IRQ # for CS4236 chip (5,7,9,11,12,15)
416	    mpu_irq	- IRQ # for MPU-401 UART (9,11,12,15)
417	    dma1	- first DMA # for CS4236 chip (0,1,3)
418	    dma2	- second DMA # for CS4236 chip (0,1,3), -1 = disable
419	    
420	    This module supports multiple cards. This module does not support autoprobe
421	    (if ISA PnP is not used) thus main port and control port must be
422	    specified!!! Other ports are optional.
423	
424	    The power-management is supported.
425	
426	    This module is aliased as snd-cs4232 since it provides the old
427	    snd-cs4232 functionality, too.
428	
429	  Module snd-cs4281
430	  -----------------
431	
432	    Module for Cirrus Logic CS4281 soundchip.
433	
434	    dual_codec	- Secondary codec ID (0 = disable, default)
435	
436	    This module supports multiple cards.
437	
438	    The power-management is supported.
439	
440	  Module snd-cs46xx
441	  -----------------
442	
443	    Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
444					       CS4624/CS4630/CS4280 PCI chips.
445	
446	    external_amp     - Force to enable external amplifier.
447	    thinkpad         - Force to enable Thinkpad's CLKRUN control.
448	    mmap_valid       - Support OSS mmap mode (default = 0).
449	
450	    This module supports multiple cards and autoprobe.
451	    Usually external amp and CLKRUN controls are detected automatically
452	    from PCI sub vendor/device ids.  If they don't work, give the options
453	    above explicitly.
454	
455	    The power-management is supported.
456	
457	  Module snd-cs5530
458	  _________________
459	
460	    Module for Cyrix/NatSemi Geode 5530 chip. 
461	  
462	  Module snd-cs5535audio
463	  ----------------------
464	
465	    Module for multifunction CS5535 companion PCI device
466	
467	    The power-management is supported.
468	
469	  Module snd-ctxfi
470	  ----------------
471	
472	    Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
473		* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
474		* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
475		* Creative Sound Blaster X-Fi Titanium Professional Audio
476		* Creative Sound Blaster X-Fi Titanium
477		* Creative Sound Blaster X-Fi Elite Pro
478		* Creative Sound Blaster X-Fi Platinum
479		* Creative Sound Blaster X-Fi Fatal1ty
480		* Creative Sound Blaster X-Fi XtremeGamer
481		* Creative Sound Blaster X-Fi XtremeMusic
482	
483	    reference_rate	- reference sample rate, 44100 or 48000 (default)
484	    multiple		- multiple to ref. sample rate, 1 or 2 (default)
485	    subsystem		- override the PCI SSID for probing; the value
486				  consists of SSVID << 16 | SSDID.  The default is
487				  zero, which means no override.
488	
489	    This module supports multiple cards.
490	
491	  Module snd-darla20
492	  ------------------
493	
494	    Module for Echoaudio Darla20
495	
496	    This module supports multiple cards.
497	    The driver requires the firmware loader support on kernel.
498	
499	  Module snd-darla24
500	  ------------------
501	
502	    Module for Echoaudio Darla24
503	
504	    This module supports multiple cards.
505	    The driver requires the firmware loader support on kernel.
506	
507	  Module snd-dt019x
508	  -----------------
509	
510	    Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
511	    only)
512	
513	    This module supports multiple cards.  This module is enabled only with
514	    ISA PnP support.
515	
516	    The power-management is supported.
517	
518	  Module snd-dummy
519	  ----------------
520	
521	    Module for the dummy sound card. This "card" doesn't do any output
522	    or input, but you may use this module for any application which
523	    requires a sound card (like RealPlayer).
524	
525	    pcm_devs       - Number of PCM devices assigned to each card
526	                     (default = 1, up to 4)
527	    pcm_substreams - Number of PCM substreams assigned to each PCM
528	                     (default = 8, up to 128)
529	    hrtimer        - Use hrtimer (=1, default) or system timer (=0)
530	    fake_buffer    - Fake buffer allocations (default = 1)
531	
532	    When multiple PCM devices are created, snd-dummy gives different
533	    behavior to each PCM device:
534	      0 = interleaved with mmap support
535	      1 = non-interleaved with mmap support
536	      2 = interleaved without mmap 
537	      3 = non-interleaved without mmap
538	
539	    As default, snd-dummy drivers doesn't allocate the real buffers
540	    but either ignores read/write or mmap a single dummy page to all
541	    buffer pages, in order to save the resouces.  If your apps need
542	    the read/ written buffer data to be consistent, pass fake_buffer=0
543	    option.
544	
545	    The power-management is supported.
546	
547	  Module snd-echo3g
548	  -----------------
549	
550	    Module for Echoaudio 3G cards (Gina3G/Layla3G)
551	
552	    This module supports multiple cards.
553	    The driver requires the firmware loader support on kernel.
554	
555	  Module snd-emu10k1
556	  ------------------
557	
558	    Module for EMU10K1/EMU10k2 based PCI sound cards.
559				* Sound Blaster Live!
560				* Sound Blaster PCI 512
561				* Emu APS (partially supported)
562				* Sound Blaster Audigy
563	
564	    extin   - bitmap of available external inputs for FX8010 (see bellow)
565	    extout  - bitmap of available external outputs for FX8010 (see bellow)
566	    seq_ports - allocated sequencer ports (4 by default)
567	    max_synth_voices - limit of voices used for wavetable (64 by default)
568	    max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
569	                       given in MB unit.  Default value is 128.
570	    enable_ir - enable IR
571	
572	    This module supports multiple cards and autoprobe.
573	
574	    Input & Output configurations 			[extin/extout]
575		* Creative Card wo/Digital out			[0x0003/0x1f03]
576		* Creative Card w/Digital out			[0x0003/0x1f0f]
577		* Creative Card w/Digital CD in			[0x000f/0x1f0f]
578		* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]
579		* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]
580		* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]
581		* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
582		* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]
583		* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]
584	        * Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]
585		* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]
586	        * Creative Card all ins and outs		[0x3fff/0x7fff]
587	    
588	    The power-management is supported.
589	
590	  Module snd-emu10k1x
591	  -------------------
592	
593	    Module for Creative Emu10k1X (SB Live Dell OEM version)
594	
595	    This module supports multiple cards.
596	
597	  Module snd-ens1370
598	  ------------------
599	
600	    Module for Ensoniq AudioPCI ES1370 PCI sound cards.
601				* SoundBlaster PCI 64
602				* SoundBlaster PCI 128
603	
604	    joystick		- Enable joystick (default off)
605	
606	    This module supports multiple cards and autoprobe.
607	    
608	    The power-management is supported.
609	
610	  Module snd-ens1371
611	  ------------------
612	
613	    Module for Ensoniq AudioPCI ES1371 PCI sound cards.
614				* SoundBlaster PCI 64
615				* SoundBlaster PCI 128
616				* SoundBlaster Vibra PCI
617	
618	    joystick_port	- port # for joystick (0x200,0x208,0x210,0x218),
619				  0 = disable (default), 1 = auto-detect
620	
621	    This module supports multiple cards and autoprobe.
622	    
623	    The power-management is supported.
624	
625	  Module snd-es968
626	  ----------------
627	
628	    Module for sound cards based on ESS ES968 chip (PnP only).
629	
630	    This module supports multiple cards, PnP and autoprobe.
631	    
632	    The power-management is supported.
633	
634	  Module snd-es1688
635	  -----------------
636	
637	    Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
638	
639	    port	- port # for ES-1688 chip (0x220,0x240,0x260)
640	    fm_port	- port # for OPL3 (option; share the same port as default)
641	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
642	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
643	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
644	    dma8	- DMA # for ES-1688 chip (0,1,3)
645	
646	    This module supports multiple cards and autoprobe (without MPU-401 port).
647	
648	  Module snd-es18xx
649	  -----------------
650	
651	    Module for ESS AudioDrive ES-18xx sound cards.
652	
653	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
654	
655	    with isapnp=0, the following options are available:
656	
657	    port	- port # for ES-18xx chip (0x220,0x240,0x260)
658	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
659	    fm_port	- port # for FM (optional, not used)
660	    irq		- IRQ # for ES-18xx chip (5,7,9,10)
661	    dma1	- first DMA # for ES-18xx chip (0,1,3)
662	    dma2	- first DMA # for ES-18xx chip (0,1,3)
663	
664	    This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
665	    port if native ISA PnP routines are not used).
666	    When dma2 is equal with dma1, the driver works as half-duplex.
667	
668	    The power-management is supported.
669	
670	  Module snd-es1938
671	  -----------------
672	
673	    Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
674	
675	    This module supports multiple cards and autoprobe.
676	
677	    The power-management is supported.
678	
679	  Module snd-es1968
680	  -----------------
681	
682	    Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
683	
684	    total_bufsize	- total buffer size in kB (1-4096kB)
685	    pcm_substreams_p	- playback channels (1-8, default=2)
686	    pcm_substreams_c	- capture channels (1-8, default=0)
687	    clock		- clock (0 = auto-detection)
688	    use_pm		- support the power-management (0 = off, 1 = on,
689				  2 = auto (default))
690	    enable_mpu		- enable MPU401 (0 = off, 1 = on, 2 = auto (default))
691	    joystick		- enable joystick (default off)       
692	
693	    This module supports multiple cards and autoprobe.
694	
695	    The power-management is supported.
696	
697	  Module snd-fm801
698	  ----------------
699	
700	    Module for ForteMedia FM801 based PCI sound cards.
701	
702	    tea575x_tuner       - Enable TEA575x tuner
703	                          - 1 = MediaForte 256-PCS
704	                          - 2 = MediaForte 256-PCPR
705	                          - 3 = MediaForte 64-PCR  
706	                          - High 16-bits are video (radio) device number + 1
707	                          - example: 0x10002 (MediaForte 256-PCPR, device 1)
708	
709	    This module supports multiple cards and autoprobe.
710	    
711	    The power-management is supported.
712	
713	  Module snd-gina20
714	  -----------------
715	
716	    Module for Echoaudio Gina20
717	
718	    This module supports multiple cards.
719	    The driver requires the firmware loader support on kernel.
720	
721	  Module snd-gina24
722	  -----------------
723	
724	    Module for Echoaudio Gina24
725	
726	    This module supports multiple cards.
727	    The driver requires the firmware loader support on kernel.
728	
729	  Module snd-gusclassic
730	  ---------------------
731	
732	    Module for Gravis UltraSound Classic sound card.
733	
734	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
735	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
736	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
737	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
738	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
739	    voices	- GF1 voices limit (14-32)
740	    pcm_voices	- reserved PCM voices
741	
742	    This module supports multiple cards and autoprobe.
743	
744	  Module snd-gusextreme
745	  ---------------------
746	
747	    Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
748	
749	    port	- port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
750	    gf1_port	- port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
751	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
752	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
753	    gf1_irq	- IRQ # for GF1 chip (3,5,9,11,12,15)
754	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
755	    dma8	- DMA # for ES-1688 chip (0,1,3)
756	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
757	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
758	    voices	- GF1 voices limit (14-32)
759	    pcm_voices	- reserved PCM voices
760	
761	    This module supports multiple cards and autoprobe (without MPU-401 port).
762	
763	  Module snd-gusmax
764	  -----------------
765	
766	    Module for Gravis UltraSound MAX sound card.
767	
768	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
769	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
770	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
771	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
772	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
773	    voices	- GF1 voices limit (14-32)
774	    pcm_voices	- reserved PCM voices
775	
776	    This module supports multiple cards and autoprobe.
777	    
778	  Module snd-hda-intel
779	  --------------------
780	
781	    Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
782				PCH, SCH),
783			ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
784				RV630, RV635, RV670, RV770,
785			VIA VT8251/VT8237A,
786			SIS966, ULI M5461
787	
788	    [Multiple options for each card instance]
789	    model	- force the model name
790	    position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF)
791	    probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots)
792	    		  When the bit 8 (0x100) is set, the lower 8 bits are used
793			  as the "fixed" codec slots; i.e. the driver probes the
794			  slots regardless what hardware reports back
795	    probe_only	- Only probing and no codec initialization (default=off);
796			  Useful to check the initial codec status for debugging
797	    bdl_pos_adj	- Specifies the DMA IRQ timing delay in samples.
798			Passing -1 will make the driver to choose the appropriate
799			value based on the controller chip.
800	    patch	- Specifies the early "patch" files to modify the HD-audio
801	    		setup before initializing the codecs.  This option is
802			available only when CONFIG_SND_HDA_PATCH_LOADER=y is set.
803			See HD-Audio.txt for details.
804	    beep_mode	- Selects the beep registration mode (0=off, 1=on, 2=
805			dynamic registration via mute switch on/off); the default
806			value is set via CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig.
807	    
808	    [Single (global) options]
809	    single_cmd  - Use single immediate commands to communicate with
810			codecs (for debugging only)
811	    enable_msi	- Enable Message Signaled Interrupt (MSI) (default = off)
812	    power_save	- Automatic power-saving timeout (in second, 0 =
813			disable)
814	    power_save_controller - Reset HD-audio controller in power-saving mode
815			(default = on)
816	
817	    This module supports multiple cards and autoprobe.
818	    
819	    See Documentation/sound/alsa/HD-Audio.txt for more details about
820	    HD-audio driver.
821	
822	    Each codec may have a model table for different configurations.
823	    If your machine isn't listed there, the default (usually minimal)
824	    configuration is set up.  You can pass "model=<name>" option to
825	    specify a certain model in such a case.  There are different
826	    models depending on the codec chip.  The list of available models
827	    is found in HD-Audio-Models.txt
828	
829	    The model name "genric" is treated as a special case.  When this
830	    model is given, the driver uses the generic codec parser without
831	    "codec-patch".  It's sometimes good for testing and debugging.
832	
833	    If the default configuration doesn't work and one of the above
834	    matches with your device, report it together with alsa-info.sh
835	    output (with --no-upload option) to kernel bugzilla or alsa-devel
836	    ML (see the section "Links and Addresses").
837	
838	    power_save and power_save_controller options are for power-saving
839	    mode.  See powersave.txt for details.
840	
841	    Note 2: If you get click noises on output, try the module option
842		    position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
843		    register value without FIFO size correction as the current
844		    DMA pointer.  position_fix=2 will make the driver to use
845		    the position buffer instead of reading SD_LPIB register.
846		    (Usually SD_LPIB register is more accurate than the
847		    position buffer.)
848	
849	    NB: If you get many "azx_get_response timeout" messages at
850	    loading, it's likely a problem of interrupts (e.g. ACPI irq
851	    routing).  Try to boot with options like "pci=noacpi".  Also, you
852	    can try "single_cmd=1" module option.  This will switch the
853	    communication method between HDA controller and codecs to the
854	    single immediate commands instead of CORB/RIRB.  Basically, the
855	    single command mode is provided only for BIOS, and you won't get
856	    unsolicited events, too.  But, at least, this works independently
857	    from the irq.  Remember this is a last resort, and should be
858	    avoided as much as possible...
859	    
860	    MORE NOTES ON "azx_get_response timeout" PROBLEMS:
861	    On some hardwares, you may need to add a proper probe_mask option
862	    to avoid the "azx_get_response timeout" problem above, instead.
863	    This occurs when the access to non-existing or non-working codec slot
864	    (likely a modem one) causes a stall of the communication via HD-audio
865	    bus.  You can see which codec slots are probed by enabling
866	    CONFIG_SND_DEBUG_VERBOSE, or simply from the file name of the codec
867	    proc files.  Then limit the slots to probe by probe_mask option.
868	    For example, probe_mask=1 means to probe only the first slot, and
869	    probe_mask=4 means only the third slot.
870	
871	    The power-management is supported.
872	
873	  Module snd-hdsp
874	  ---------------
875	
876	    Module for RME Hammerfall DSP audio interface(s)
877	
878	    This module supports multiple cards.
879	
880	    Note: The firmware data can be automatically loaded via hotplug
881	          when CONFIG_FW_LOADER is set.  Otherwise, you need to load
882	          the firmware via hdsploader utility included in alsa-tools
883	          package.
884	          The firmware data is found in alsa-firmware package.
885	
886	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
887	          module did formerly.  It will allocate the buffers in advance
888	          when any HDSP cards are found.  To make the buffer
889	          allocation sure, load snd-page-alloc module in the early
890	          stage of boot sequence.  See "Early Buffer Allocation"
891		  section.
892	
893	  Module snd-hdspm
894	  ----------------
895	
896	    Module for RME HDSP MADI board.
897	
898	    precise_ptr		- Enable precise pointer, or disable.
899	    line_outs_monitor	- Send playback streams to analog outs by default.
900	    enable_monitor	- Enable Analog Out on Channel 63/64 by default.
901	
902	    See hdspm.txt for details.
903	
904	  Module snd-hifier
905	  -----------------
906	
907	    Module for the MediaTek/TempoTec HiFier Fantasia sound card.
908	
909	    This module supports autoprobe and multiple cards.
910	
911	  Module snd-ice1712
912	  ------------------
913	
914	    Module for Envy24 (ICE1712) based PCI sound cards.
915				* MidiMan M Audio Delta 1010
916				* MidiMan M Audio Delta 1010LT
917				* MidiMan M Audio Delta DiO 2496
918				* MidiMan M Audio Delta 66
919				* MidiMan M Audio Delta 44
920				* MidiMan M Audio Delta 410
921				* MidiMan M Audio Audiophile 2496
922	                        * TerraTec EWS 88MT
923	                        * TerraTec EWS 88D
924	                        * TerraTec EWX 24/96
925	                        * TerraTec DMX 6Fire
926				* TerraTec Phase 88
927	                        * Hoontech SoundTrack DSP 24
928	                        * Hoontech SoundTrack DSP 24 Value
929	                        * Hoontech SoundTrack DSP 24 Media 7.1
930				* Event Electronics, EZ8
931	                        * Digigram VX442
932				* Lionstracs, Mediastaton
933				* Terrasoniq TS 88
934	
935	    model       - Use the given board model, one of the following:
936			  delta1010, dio2496, delta66, delta44, audiophile, delta410,
937			  delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
938			  dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
939			  phase88, mediastation
940	    omni	- Omni I/O support for MidiMan M-Audio Delta44/66
941	    cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transceiver)
942	                     in msec resolution, default value is 500 (0.5 sec)
943	
944	    This module supports multiple cards and autoprobe. Note: The consumer part
945	    is not used with all Envy24 based cards (for example in the MidiMan Delta
946	    serie).
947	
948	    Note: The supported board is detected by reading EEPROM or PCI
949		  SSID (if EEPROM isn't available).  You can override the
950		  model by passing "model" module option in case that the
951		  driver isn't configured properly or you want to try another
952		  type for testing.
953	
954	  Module snd-ice1724
955	  ------------------
956	
957	    Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
958				* MidiMan M Audio Revolution 5.1
959				* MidiMan M Audio Revolution 7.1
960				* MidiMan M Audio Audiophile 192
961				* AMP Ltd AUDIO2000
962				* TerraTec Aureon 5.1 Sky
963				* TerraTec Aureon 7.1 Space
964				* TerraTec Aureon 7.1 Universe
965				* TerraTec Phase 22
966				* TerraTec Phase 28
967				* AudioTrak Prodigy 7.1
968				* AudioTrak Prodigy 7.1 LT
969				* AudioTrak Prodigy 7.1 XT
970				* AudioTrak Prodigy 7.1 HIFI
971				* AudioTrak Prodigy 7.1 HD2
972				* AudioTrak Prodigy 192
973				* Pontis MS300
974				* Albatron K8X800 Pro II 
975				* Chaintech ZNF3-150
976				* Chaintech ZNF3-250
977				* Chaintech 9CJS
978				* Chaintech AV-710
979				* Shuttle SN25P
980				* Onkyo SE-90PCI
981				* Onkyo SE-200PCI
982				* ESI Juli@
983				* ESI Maya44
984				* Hercules Fortissimo IV
985				* EGO-SYS WaveTerminal 192M
986	
987	    model       - Use the given board model, one of the following:
988			  revo51, revo71, amp2000, prodigy71, prodigy71lt,
989			  prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
990			  juli, aureon51, aureon71, universe, ap192, k8x800,
991			  phase22, phase28, ms300, av710, se200pci, se90pci,
992			  fortissimo4, sn25p, WT192M, maya44
993	
994	    This module supports multiple cards and autoprobe.
995	
996	    Note: The supported board is detected by reading EEPROM or PCI
997		  SSID (if EEPROM isn't available).  You can override the
998		  model by passing "model" module option in case that the
999		  driver isn't configured properly or you want to try another
1000		  type for testing.
1001	
1002	  Module snd-indigo
1003	  -----------------
1004	
1005	    Module for Echoaudio Indigo
1006	
1007	    This module supports multiple cards.
1008	    The driver requires the firmware loader support on kernel.
1009	
1010	  Module snd-indigodj
1011	  -------------------
1012	
1013	    Module for Echoaudio Indigo DJ
1014	
1015	    This module supports multiple cards.
1016	    The driver requires the firmware loader support on kernel.
1017	
1018	  Module snd-indigoio
1019	  -------------------
1020	
1021	    Module for Echoaudio Indigo IO
1022	
1023	    This module supports multiple cards.
1024	    The driver requires the firmware loader support on kernel.
1025	
1026	  Module snd-intel8x0
1027	  -------------------
1028	
1029	    Module for AC'97 motherboards from Intel and compatibles.
1030				* Intel i810/810E, i815, i820, i830, i84x, MX440
1031					ICH5, ICH6, ICH7, 6300ESB, ESB2
1032				* SiS 7012 (SiS 735)
1033				* NVidia NForce, NForce2, NForce3, MCP04, CK804
1034					 CK8, CK8S, MCP501
1035				* AMD AMD768, AMD8111
1036				* ALi m5455
1037	
1038	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1039	    ac97_quirk    - AC'97 workaround for strange hardware
1040			    See "AC97 Quirk Option" section below.
1041	    buggy_irq     - Enable workaround for buggy interrupts on some
1042	                    motherboards (default yes on nForce chips,
1043			    otherwise off)
1044	    buggy_semaphore - Enable workaround for hardwares with buggy
1045			    semaphores (e.g. on some ASUS laptops)
1046			    (default off)
1047	    spdif_aclink  - Use S/PDIF over AC-link instead of direct connection
1048			    from the controller chip
1049			    (0 = off, 1 = on, -1 = default)
1050	
1051	    This module supports one chip and autoprobe.
1052	
1053	    Note: the latest driver supports auto-detection of chip clock.
1054	    if you still encounter too fast playback, specify the clock
1055	    explicitly via the module option "ac97_clock=41194".
1056	
1057	    Joystick/MIDI ports are not supported by this driver.  If your
1058	    motherboard has these devices, use the ns558 or snd-mpu401
1059	    modules, respectively.
1060	
1061	    The power-management is supported.
1062	    
1063	  Module snd-intel8x0m
1064	  --------------------
1065	
1066	    Module for Intel ICH (i8x0) chipset MC97 modems.
1067				* Intel i810/810E, i815, i820, i830, i84x, MX440
1068					ICH5, ICH6, ICH7
1069				* SiS 7013 (SiS 735)
1070				* NVidia NForce, NForce2, NForce2s, NForce3
1071				* AMD AMD8111
1072				* ALi m5455
1073	
1074	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1075	
1076	    This module supports one card and autoprobe.
1077	
1078	    Note: The default index value of this module is -2, i.e. the first
1079	          slot is excluded.
1080	
1081	    The power-management is supported.
1082	
1083	  Module snd-interwave
1084	  --------------------
1085	
1086	    Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1087	    and other sound cards based on AMD InterWave (tm) chip.
1088	  
1089	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1090	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1091	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1092	    effect	- 1 = InterWave effects enable (default 0);
1093	                  requires 8 voices
1094	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1095	
1096	    with isapnp=0, the following options are available:
1097	
1098	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1099	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1100	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1101	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1102	
1103	    This module supports multiple cards, autoprobe and ISA PnP.
1104	
1105	  Module snd-interwave-stb
1106	  ------------------------
1107	
1108	    Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1109	    and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1110	    circuit for extended control of bass, treble and master volume.
1111	  
1112	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1113	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1114	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1115	    effect	- 1 = InterWave effects enable (default 0);
1116	                  requires 8 voices
1117	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1118	
1119	    with isapnp=0, the following options are available:
1120	
1121	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1122	    port_tc	- tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1123	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1124	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1125	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1126	
1127	    This module supports multiple cards, autoprobe and ISA PnP.
1128	
1129	  Module snd-jazz16
1130	  -------------------
1131	
1132	    Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1133	    MVD1216 + MVA416 + MVA514.
1134	
1135	    port	- port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1136	    irq		- IRQ # for SB DSP chip (3,5,7,9,10,15)
1137	    dma8	- DMA # for SB DSP chip (1,3)
1138	    dma16	- DMA # for SB DSP chip (5,7)
1139	    mpu_port	- MPU-401 port # (0x300,0x310,0x320,0x330)
1140	    mpu_irq	- MPU-401 irq # (2,3,5,7)
1141	
1142	    This module supports multiple cards.
1143	
1144	  Module snd-korg1212
1145	  -------------------
1146	
1147	    Module for Korg 1212 IO PCI card
1148	
1149	    This module supports multiple cards.
1150	
1151	  Module snd-layla20
1152	  ------------------
1153	
1154	    Module for Echoaudio Layla20
1155	
1156	    This module supports multiple cards.
1157	    The driver requires the firmware loader support on kernel.
1158	
1159	  Module snd-layla24
1160	  ------------------
1161	
1162	    Module for Echoaudio Layla24
1163	
1164	    This module supports multiple cards.
1165	    The driver requires the firmware loader support on kernel.
1166	
1167	  Module snd-lx6464es
1168	  -------------------
1169	
1170	    Module for Digigram LX6464ES boards
1171	
1172	    This module supports multiple cards.
1173	
1174	  Module snd-maestro3
1175	  -------------------
1176	
1177	    Module for Allegro/Maestro3 chips
1178	
1179	    external_amp     - enable external amp (enabled by default)
1180	    amp_gpio         - GPIO pin number for external amp (0-15) or
1181	                       -1 for default pin (8 for allegro, 1 for
1182	                       others) 
1183	
1184	    This module supports autoprobe and multiple chips.
1185	
1186	    Note: the binding of amplifier is dependent on hardware.
1187	    If there is no sound even though all channels are unmuted, try to
1188	    specify other gpio connection via amp_gpio option. 
1189	    For example, a Panasonic notebook might need "amp_gpio=0x0d"
1190	    option.
1191	
1192	    The power-management is supported.
1193	
1194	  Module snd-mia
1195	  ---------------
1196	
1197	    Module for Echoaudio Mia
1198	
1199	    This module supports multiple cards.
1200	    The driver requires the firmware loader support on kernel.
1201	
1202	  Module snd-miro
1203	  ---------------
1204	
1205	    Module for Miro soundcards: miroSOUND PCM 1 pro, 
1206					miroSOUND PCM 12,
1207					miroSOUND PCM 20 Radio.
1208	
1209	    port	- Port # (0x530,0x604,0xe80,0xf40)
1210	    irq		- IRQ # (5,7,9,10,11)
1211	    dma1	- 1st dma # (0,1,3)
1212	    dma2	- 2nd dma # (0,1)
1213	    mpu_port	- MPU-401 port # (0x300,0x310,0x320,0x330)
1214	    mpu_irq	- MPU-401 irq # (5,7,9,10)
1215	    fm_port	- FM Port # (0x388)
1216	    wss		- enable WSS mode
1217	    ide		- enable onboard ide support
1218	
1219	  Module snd-mixart
1220	  -----------------
1221	
1222	    Module for Digigram miXart8 sound cards.
1223	
1224	    This module supports multiple cards.
1225	    Note: One miXart8 board will be represented as 4 alsa cards.
1226	          See MIXART.txt for details.
1227	
1228	    When the driver is compiled as a module and the hotplug firmware
1229	    is supported, the firmware data is loaded via hotplug automatically.
1230	    Install the necessary firmware files in alsa-firmware package.
1231	    When no hotplug fw loader is available, you need to load the
1232	    firmware via mixartloader utility in alsa-tools package.
1233	
1234	  Module snd-mona
1235	  ---------------
1236	
1237	    Module for Echoaudio Mona
1238	
1239	    This module supports multiple cards.
1240	    The driver requires the firmware loader support on kernel.
1241	
1242	  Module snd-mpu401
1243	  -----------------
1244	
1245	    Module for MPU-401 UART devices.
1246	
1247	    port	- port number or -1 (disable)
1248	    irq		- IRQ number or -1 (disable)
1249	    pnp		- PnP detection - 0 = disable, 1 = enable (default)
1250	
1251	    This module supports multiple devices and PnP.
1252	    
1253	  Module snd-msnd-classic
1254	  -----------------------
1255	
1256	    Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1257	    soundcards.
1258	
1259	    io		- Port # for msnd-classic card
1260	    irq		- IRQ # for msnd-classic card
1261	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1262			  0xe0000 or 0xe8000)
1263	    write_ndelay - enable write ndelay (default = 1)
1264	    calibrate_signal - calibrate signal (default = 0)
1265	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1266	    digital	- Digital daughterboard present (default = 0)
1267	    cfg		- Config port (0x250, 0x260 or 0x270) default = PnP
1268	    reset	- Reset all devices
1269	    mpu_io	- MPU401 I/O port
1270	    mpu_irq	- MPU401 irq#
1271	    ide_io0	- IDE port #0
1272	    ide_io1	- IDE port #1
1273	    ide_irq	- IDE irq#
1274	    joystick_io	- Joystick I/O port
1275	
1276	    The driver requires firmware files "turtlebeach/msndinit.bin" and
1277	    "turtlebeach/msndperm.bin" in the proper firmware directory.
1278	
1279	    See Documentation/sound/oss/MultiSound for important information
1280	    about this driver.  Note that it has been discontinued, but the 
1281	    Voyetra Turtle Beach knowledge base entry for it is still available
1282	    at
1283		http://www.turtlebeach.com/site/kb_ftp/790.asp
1284	
1285	  Module snd-msnd-pinnacle
1286	  ------------------------
1287	
1288	    Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1289	
1290	    io		- Port # for pinnacle/fiji card
1291	    irq		- IRQ # for pinnalce/fiji card
1292	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1293			  0xe0000 or 0xe8000)
1294	    write_ndelay - enable write ndelay (default = 1)
1295	    calibrate_signal - calibrate signal (default = 0)
1296	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1297	
1298	    The driver requires firmware files "turtlebeach/pndspini.bin" and
1299	    "turtlebeach/pndsperm.bin" in the proper firmware directory.
1300	
1301	  Module snd-mtpav
1302	  ----------------
1303	
1304	    Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1305	    port).
1306	
1307	    port	- I/O port # for MTPAV (0x378,0x278, default=0x378)
1308	    irq		- IRQ # for MTPAV (7,5, default=7)
1309	    hwports	- number of supported hardware ports, default=8.
1310	    
1311	    Module supports only 1 card.  This module has no enable option.
1312	
1313	  Module snd-mts64
1314	  ----------------
1315	
1316	    Module for Ego Systems (ESI) Miditerminal 4140
1317	
1318	    This module supports multiple devices.
1319	    Requires parport (CONFIG_PARPORT).
1320	
1321	  Module snd-nm256
1322	  ----------------
1323	
1324	    Module for NeoMagic NM256AV/ZX chips
1325	
1326	    playback_bufsize - max playback frame size in kB (4-128kB)
1327	    capture_bufsize  - max capture frame size in kB (4-128kB)
1328	    force_ac97       - 0 or 1 (disabled by default)
1329	    buffer_top       - specify buffer top address
1330	    use_cache        - 0 or 1 (disabled by default)
1331	    vaio_hack        - alias buffer_top=0x25a800
1332	    reset_workaround - enable AC97 RESET workaround for some laptops
1333	    reset_workaround2 - enable extended AC97 RESET workaround for some
1334			      other laptops
1335	
1336	    This module supports one chip and autoprobe.
1337	
1338	    The power-management is supported.
1339	
1340	    Note: on some notebooks the buffer address cannot be detected
1341	    automatically, or causes hang-up during initialization.
1342	    In such a case, specify the buffer top address explicitly via
1343	    the buffer_top option.
1344	    For example,
1345	      Sony F250: buffer_top=0x25a800
1346	      Sony F270: buffer_top=0x272800
1347	    The driver supports only ac97 codec.  It's possible to force
1348	    to initialize/use ac97 although it's not detected.  In such a
1349	    case, use force_ac97=1 option - but *NO* guarantee whether it
1350	    works!
1351	
1352	    Note: The NM256 chip can be linked internally with non-AC97
1353	    codecs.  This driver supports only the AC97 codec, and won't work
1354	    with machines with other (most likely CS423x or OPL3SAx) chips,
1355	    even though the device is detected in lspci.  In such a case, try
1356	    other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1357	    but some doesn't have ISA PnP.  You'll need to specify isapnp=0
1358	    and proper hardware parameters in the case without ISA PnP.
1359	
1360	    Note: some laptops need a workaround for AC97 RESET.  For the
1361	    known hardware like Dell Latitude LS and Sony PCG-F305, this
1362	    workaround is enabled automatically.  For other laptops with a
1363	    hard freeze, you can try reset_workaround=1 option.
1364	
1365	    Note: Dell Latitude CSx laptops have another problem regarding
1366	    AC97 RESET.  On these laptops, reset_workaround2 option is
1367	    turned on as default.  This option is worth to try if the
1368	    previous reset_workaround option doesn't help.
1369	
1370	    Note: This driver is really crappy.  It's a porting from the
1371	    OSS driver, which is a result of black-magic reverse engineering.
1372	    The detection of codec will fail if the driver is loaded *after*
1373	    X-server as described above.  You might be able to force to load
1374	    the module, but it may result in hang-up.   Hence, make sure that
1375	    you load this module *before* X if you encounter this kind of
1376	    problem.
1377	
1378	  Module snd-opl3sa2
1379	  ------------------
1380	
1381	    Module for Yamaha OPL3-SA2/SA3 sound cards.
1382	
1383	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1384	
1385	    with isapnp=0, the following options are available:
1386	
1387	    port	- control port # for OPL3-SA chip (0x370)
1388	    sb_port	- SB port # for OPL3-SA chip (0x220,0x240)
1389	    wss_port	- WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1390	    midi_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1391	    fm_port	- FM port # for OPL3-SA chip (0x388), -1 = disable
1392	    irq		- IRQ # for OPL3-SA chip (5,7,9,10)
1393	    dma1	- first DMA # for Yamaha OPL3-SA chip (0,1,3)
1394	    dma2	- second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1395	    
1396	    This module supports multiple cards and ISA PnP.  It does not support
1397	    autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1398	    
1399	    The power-management is supported.
1400	
1401	  Module snd-opti92x-ad1848
1402	  -------------------------
1403	
1404	    Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1405	    Module works with OAK Mozart cards as well.
1406	    
1407	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1408	
1409	    with isapnp=0, the following options are available:
1410	
1411	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1412	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1413	    fm_port   - port # for OPL3 device (0x388)
1414	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1415	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1416	    dma1      - first DMA # for WSS chip (0,1,3)
1417	
1418	    This module supports only one card, autoprobe and PnP.
1419	
1420	  Module snd-opti92x-cs4231
1421	  -------------------------
1422	
1423	    Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1424	    
1425	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1426	
1427	    with isapnp=0, the following options are available:
1428	
1429	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1430	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1431	    fm_port   - port # for OPL3 device (0x388)
1432	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1433	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1434	    dma1      - first DMA # for WSS chip (0,1,3)
1435	    dma2      - second DMA # for WSS chip (0,1,3)
1436	
1437	    This module supports only one card, autoprobe and PnP.
1438	
1439	  Module snd-opti93x
1440	  ------------------
1441	
1442	    Module for sound cards based on OPTi 82c93x chips.
1443	    
1444	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1445	
1446	    with isapnp=0, the following options are available:
1447	
1448	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1449	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1450	    fm_port   - port # for OPL3 device (0x388)
1451	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1452	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1453	    dma1      - first DMA # for WSS chip (0,1,3)
1454	    dma2      - second DMA # for WSS chip (0,1,3)
1455	
1456	    This module supports only one card, autoprobe and PnP.
1457	
1458	  Module snd-oxygen
1459	  -----------------
1460	
1461	    Module for sound cards based on the C-Media CMI8788 chip:
1462	    * Asound A-8788
1463	    * AuzenTech X-Meridian
1464	    * Bgears b-Enspirer
1465	    * Club3D Theatron DTS
1466	    * HT-Omega Claro (plus)
1467	    * HT-Omega Claro halo (XT)
1468	    * Razer Barracuda AC-1
1469	    * Sondigo Inferno
1470	
1471	    This module supports autoprobe and multiple cards.
1472	
1473	  Module snd-pcsp
1474	  -----------------
1475	
1476	    Module for internal PC-Speaker.
1477	
1478	    nopcm	- Disable PC-Speaker PCM sound. Only beeps remain.
1479	    nforce_wa	- enable NForce chipset workaround. Expect bad sound.
1480	
1481	    This module supports system beeps, some kind of PCM playback and
1482	    even a few mixer controls.
1483	
1484	  Module snd-pcxhr
1485	  ----------------
1486	
1487	    Module for Digigram PCXHR boards
1488	
1489	    This module supports multiple cards.
1490	
1491	  Module snd-portman2x4
1492	  ---------------------
1493	
1494	    Module for Midiman Portman 2x4 parallel port MIDI interface
1495	
1496	    This module supports multiple cards.
1497	
1498	  Module snd-powermac (on ppc only)
1499	  ---------------------------------
1500	
1501	    Module for PowerMac, iMac and iBook on-board soundchips
1502	
1503	    enable_beep     - enable beep using PCM (enabled as default)
1504	
1505	    Module supports autoprobe a chip.
1506	
1507	    Note: the driver may have problems regarding endianess.
1508	
1509	    The power-management is supported.
1510	
1511	  Module snd-pxa2xx-ac97 (on arm only)
1512	  ------------------------------------
1513	
1514	    Module for AC97 driver for the Intel PXA2xx chip
1515	
1516	    For ARM architecture only.
1517	
1518	    The power-management is supported.
1519	
1520	  Module snd-riptide
1521	  ------------------
1522	
1523	    Module for Conexant Riptide chip
1524	
1525	      joystick_port	- Joystick port # (default: 0x200)
1526	      mpu_port		- MPU401 port # (default: 0x330)
1527	      opl3_port		- OPL3 port # (default: 0x388)
1528	
1529	    This module supports multiple cards.
1530	    The driver requires the firmware loader support on kernel.
1531	    You need to install the firmware file "riptide.hex" to the standard
1532	    firmware path (e.g. /lib/firmware).
1533	
1534	  Module snd-rme32
1535	  ----------------
1536	
1537	    Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1538	    Prodif96 and Prodif Gold) sound cards.
1539	
1540	    This module supports multiple cards.
1541	
1542	  Module snd-rme96
1543	  ----------------
1544	
1545	    Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1546	
1547	    This module supports multiple cards.
1548	
1549	  Module snd-rme9652
1550	  ------------------
1551	
1552	    Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1553	
1554	    precise_ptr	- Enable precise pointer (doesn't work reliably).
1555			  (default = 0)
1556	
1557	    This module supports multiple cards.
1558	
1559	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
1560	          module did formerly.  It will allocate the buffers in advance
1561	          when any RME9652 cards are found.  To make the buffer
1562	          allocation sure, load snd-page-alloc module in the early
1563	          stage of boot sequence.  See "Early Buffer Allocation"
1564		  section.
1565	
1566	  Module snd-sa11xx-uda1341 (on arm only)
1567	  ---------------------------------------
1568	
1569	    Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1570	
1571	    Module supports only one card.
1572	    Module has no enable and index options.
1573	
1574	    The power-management is supported.
1575	
1576	  Module snd-sb8
1577	  --------------
1578	
1579	    Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1580						 SoundBlaster 2.0,
1581						 SoundBlaster Pro
1582	
1583	    port	- port # for SB DSP chip (0x220,0x240,0x260)
1584	    irq		- IRQ # for SB DSP chip (5,7,9,10)
1585	    dma8	- DMA # for SB DSP chip (1,3)
1586	
1587	    This module supports multiple cards and autoprobe.
1588	    
1589	    The power-management is supported.
1590	
1591	  Module snd-sb16 and snd-sbawe
1592	  -----------------------------
1593	
1594	    Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1595						  SoundBlaster AWE 32 (PnP),
1596						  SoundBlaster AWE 64 PnP
1597	
1598	    mic_agc	- Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1599	    csp		- ASP/CSP chip support - 0 = disable (default), 1 = enable
1600	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1601	
1602	    with isapnp=0, the following options are available:
1603	
1604	    port	- port # for SB DSP 4.x chip (0x220,0x240,0x260)
1605	    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1606	    awe_port	- base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1607	                   (snd-sbawe module only)
1608	    irq		- IRQ # for SB DSP 4.x chip (5,7,9,10)
1609	    dma8	- 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1610	    dma16	- 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1611	    
1612	    This module supports multiple cards, autoprobe and ISA PnP.
1613	
1614	    Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1615	          disable 16bit DMA with dma16 = -1 module parameter.
1616	          Also, all Sound Blaster 16 type cards can operate in 16-bit
1617	          half duplex mode through 8-bit DMA channel by disabling their
1618	          16-bit DMA channel.
1619	    
1620	    The power-management is supported.
1621	
1622	  Module snd-sc6000
1623	  -----------------
1624	
1625	    Module for Gallant SC-6000 soundcard and later models: SC-6600
1626	    and SC-7000.
1627	
1628	    port	- Port # (0x220 or 0x240)
1629	    mss_port	- MSS Port # (0x530 or 0xe80)
1630	    irq		- IRQ # (5,7,9,10,11)
1631	    mpu_irq	- MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
1632	    dma		- DMA # (1,3,0)
1633	    joystick	- Enable gameport - 0 = disable (default), 1 = enable
1634	
1635	    This module supports multiple cards.
1636	
1637	    This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
1638	
1639	  Module snd-sgalaxy
1640	  ------------------
1641	
1642	    Module for Aztech Sound Galaxy sound card.
1643	
1644	    sbport	- Port # for SB16 interface (0x220,0x240)
1645	    wssport	- Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1646	    irq		- IRQ # (7,9,10,11)
1647	    dma1	- DMA #
1648	
1649	    This module supports multiple cards.
1650	
1651	    The power-management is supported.
1652	
1653	  Module snd-sscape
1654	  -----------------
1655	
1656	    Module for ENSONIQ SoundScape cards.
1657	
1658	    port	- Port # (PnP setup)
1659	    wss_port	- WSS Port # (PnP setup)
1660	    irq		- IRQ # (PnP setup)
1661	    mpu_irq	- MPU-401 IRQ # (PnP setup)
1662	    dma		- DMA # (PnP setup)
1663	    dma2	- 2nd DMA # (PnP setup, -1 to disable)
1664	    joystick	- Enable gameport - 0 = disable (default), 1 = enable
1665	
1666	    This module supports multiple cards.
1667	
1668	    The driver requires the firmware loader support on kernel.
1669	
1670	  Module snd-sun-amd7930 (on sparc only)
1671	  --------------------------------------
1672	
1673	    Module for AMD7930 sound chips found on Sparcs.
1674	
1675	    This module supports multiple cards.
1676	
1677	  Module snd-sun-cs4231 (on sparc only)
1678	  -------------------------------------
1679	
1680	    Module for CS4231 sound chips found on Sparcs.
1681	
1682	    This module supports multiple cards.
1683	
1684	  Module snd-sun-dbri (on sparc only)
1685	  -----------------------------------
1686	
1687	    Module for DBRI sound chips found on Sparcs.
1688	
1689	    This module supports multiple cards.
1690	
1691	  Module snd-wavefront
1692	  --------------------
1693	
1694	    Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1695	
1696	    use_cs4232_midi - Use CS4232 MPU-401 interface
1697	                      (inaccessibly located inside your computer)
1698	    isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1699	
1700	    with isapnp=0, the following options are available:
1701	
1702	    cs4232_pcm_port - Port # for CS4232 PCM interface.
1703	    cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1704	    cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1705	    cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1706	    ics2115_port    - Port # for ICS2115
1707	    ics2115_irq     - IRQ # for ICS2115
1708	    fm_port         - FM OPL-3 Port #
1709	    dma1            - DMA1 # for CS4232 PCM interface.
1710	    dma2            - DMA2 # for CS4232 PCM interface.
1711	
1712	    The below are options for wavefront_synth features:
1713	    wf_raw	    - Assume that we need to boot the OS (default:no)
1714		If yes, then during driver loading, the state of the board is
1715		ignored, and we reset the board and load the firmware anyway.
1716	    fx_raw	    - Assume that the FX process needs help (default:yes)
1717		If false, we'll leave the FX processor in whatever state it is
1718		when the driver is loaded.  The default is to download the
1719		microprogram and associated coefficients to set it up for
1720		"default" operation, whatever that means.
1721	    debug_default   - Debug parameters for card initialization
1722	    wait_usecs	    - How long to wait without sleeping, usecs
1723			      (default:150)
1724		This magic number seems to give pretty optimal throughput
1725		based on my limited experimentation. 
1726		If you want to play around with it and find a better value, be
1727		my guest. Remember, the idea is to get a number that causes us
1728		to just busy wait for as many WaveFront commands as possible,
1729		without coming up with a number so large that we hog the whole
1730		CPU. 
1731		Specifically, with this number, out of about 134,000 status
1732		waits, only about 250 result in a sleep. 
1733	    sleep_interval  - How long to sleep when waiting for reply
1734			      (default: 100)
1735	    sleep_tries	    - How many times to try sleeping during a wait
1736			      (default: 50)
1737	    ospath	    - Pathname to processed ICS2115 OS firmware
1738			      (default:wavefront.os)
1739		The path name of the ISC2115 OS firmware.  In the recent
1740		version, it's handled via firmware loader framework, so it
1741		must be installed in the proper path, typically,
1742		/lib/firmware.
1743	    reset_time	    - How long to wait for a reset to take effect
1744			      (default:2)
1745	    ramcheck_time   - How many seconds to wait for the RAM test
1746			      (default:20)
1747	    osrun_time	    - How many seconds to wait for the ICS2115 OS
1748			      (default:10)
1749	
1750	    This module supports multiple cards and ISA PnP.
1751	
1752	    Note: the firmware file "wavefront.os" was located in the earlier
1753	          version in /etc.  Now it's loaded via firmware loader, and
1754		  must be in the proper firmware path, such as /lib/firmware.
1755		  Copy (or symlink) the file appropriately if you get an error
1756		  regarding firmware downloading after upgrading the kernel.
1757	
1758	  Module snd-sonicvibes
1759	  ---------------------
1760	
1761	    Module for S3 SonicVibes PCI sound cards.
1762				* PINE Schubert 32 PCI
1763	
1764	    reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1765	                  - SoundCard must have onboard SRAM for this.
1766	    mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1767	    
1768	    This module supports multiple cards and autoprobe.
1769	
1770	  Module snd-serial-u16550
1771	  ------------------------
1772	
1773	    Module for UART16550A serial MIDI ports.
1774	
1775	    port	- port # for UART16550A chip
1776	    irq		- IRQ # for UART16550A chip, -1 = poll mode
1777	    speed	- speed in bauds (9600,19200,38400,57600,115200)
1778			  38400 = default
1779	    base	- base for divisor in bauds (57600,115200,230400,460800)
1780			  115200 = default
1781	    outs	- number of MIDI ports in a serial port (1-4)
1782			  1 = default
1783	    adaptor	- Type of adaptor.
1784	                  0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1785			  3 = MS-124W M/B, 4 = Generic
1786	    
1787	    This module supports multiple cards. This module does not support autoprobe
1788	    thus the main port must be specified!!! Other options are optional.
1789	
1790	  Module snd-trident
1791	  ------------------
1792	
1793	    Module for Trident 4DWave DX/NX sound cards.
1794				* Best Union  Miss Melody 4DWave PCI
1795				* HIS  4DWave PCI
1796				* Warpspeed  ONSpeed 4DWave PCI
1797				* AzTech  PCI 64-Q3D
1798				* Addonics  SV 750
1799				* CHIC  True Sound 4Dwave
1800				* Shark  Predator4D-PCI
1801				* Jaton  SonicWave 4D
1802				* SiS SI7018 PCI Audio
1803				* Hoontech SoundTrack Digital 4DWave NX
1804	
1805	    pcm_channels   - max channels (voices) reserved for PCM
1806	    wavetable_size - max wavetable size in kB (4-?kb)
1807	
1808	    This module supports multiple cards and autoprobe.
1809	
1810	    The power-management is supported.
1811	
1812	  Module snd-ua101
1813	  ----------------
1814	
1815	    Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
1816	
1817	    This module supports multiple devices, autoprobe and hotplugging.
1818	
1819	  Module snd-usb-audio
1820	  --------------------
1821	
1822	    Module for USB audio and USB MIDI devices.
1823	
1824	    vid             - Vendor ID for the device (optional)
1825	    pid             - Product ID for the device (optional)
1826	    nrpacks	    - Max. number of packets per URB (default: 8)
1827	    async_unlink    - Use async unlink mode (default: yes)
1828	    device_setup    - Device specific magic number (optional)
1829	                    - Influence depends on the device
1830	                    - Default: 0x0000 
1831	    ignore_ctl_error - Ignore any USB-controller regarding mixer
1832	    		       interface (default: no)
1833	
1834	    This module supports multiple devices, autoprobe and hotplugging.
1835	
1836	    NB: nrpacks parameter can be modified dynamically via sysfs.
1837	        Don't put the value over 20.  Changing via sysfs has no sanity
1838		check.
1839	    NB: async_unlink=0 would cause Oops.  It remains just for
1840	        debugging purpose (if any).
1841	    NB: ignore_ctl_error=1 may help when you get an error at accessing
1842	        the mixer element such as URB error -22.  This happens on some
1843	        buggy USB device or the controller.
1844	
1845	  Module snd-usb-caiaq
1846	  --------------------
1847	
1848	    Module for caiaq UB audio interfaces,
1849		    * Native Instruments RigKontrol2
1850		    * Native Instruments Kore Controller
1851		    * Native Instruments Audio Kontrol 1
1852		    * Native Instruments Audio 8 DJ
1853	
1854	    This module supports multiple devices, autoprobe and hotplugging.
1855	
1856	  Module snd-usb-usx2y
1857	  --------------------
1858	
1859	    Module for Tascam USB US-122, US-224 and US-428 devices.
1860	
1861	    This module supports multiple devices, autoprobe and hotplugging.
1862	
1863	    Note: you need to load the firmware via usx2yloader utility included
1864	          in alsa-tools and alsa-firmware packages.
1865	
1866	  Module snd-via82xx
1867	  ------------------
1868	
1869	    Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1870	    8233A, 8233C, 8235, 8237 (south) bridge.
1871	
1872	    mpu_port	- 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1873			  [VIA686A/686B only]
1874	    joystick	- Enable joystick (default off) [VIA686A/686B only]
1875	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
1876	    dxs_support	- support DXS channels,
1877			  0 = auto (default), 1 = enable, 2 = disable,
1878			  3 = 48k only, 4 = no VRA, 5 = enable any sample
1879			  rate and different sample rates on different
1880			  channels
1881			  [VIA8233/C, 8235, 8237 only]
1882	    ac97_quirk  - AC'97 workaround for strange hardware
1883			  See "AC97 Quirk Option" section below.
1884	
1885	    This module supports one chip and autoprobe.
1886	
1887	    Note: on some SMP motherboards like MSI 694D the interrupts might
1888	          not be generated properly.  In such a case, please try to
1889	          set the SMP (or MPS) version on BIOS to 1.1 instead of
1890	          default value 1.4.  Then the interrupt number will be
1891	          assigned under 15. You might also upgrade your BIOS.
1892	    
1893	    Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
1894		  channels as the first PCM.  On these channels, up to 4
1895		  streams can be played at the same time, and the controller
1896		  can perform sample rate conversion with separate rates for
1897		  each channel.
1898		  As default (dxs_support = 0), 48k fixed rate is chosen
1899		  except for the known devices since the output is often
1900		  noisy except for 48k on some mother boards due to the
1901		  bug of BIOS.
1902		  Please try once dxs_support=5 and if it works on other
1903		  sample rates (e.g. 44.1kHz of mp3 playback), please let us
1904		  know the PCI subsystem vendor/device id's (output of
1905		  "lspci -nv").
1906		  If dxs_support=5 does not work, try dxs_support=4; if it
1907		  doesn't work too, try dxs_support=1.  (dxs_support=1 is
1908		  usually for old motherboards.  The correct implemented
1909		  board should work with 4 or 5.)  If it still doesn't
1910		  work and the default setting is ok, dxs_support=3 is the
1911		  right choice.  If the default setting doesn't work at all,
1912		  try dxs_support=2 to disable the DXS channels.
1913		  In any cases, please let us know the result and the
1914		  subsystem vendor/device ids.  See "Links and Addresses"
1915		  below.
1916	
1917	    Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1918		  additionally.  The mpu_port option is for VIA686 chips only.
1919	
1920	    The power-management is supported.
1921	
1922	  Module snd-via82xx-modem
1923	  ------------------------
1924	
1925	    Module for VIA82xx AC97 modem
1926	
1927	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
1928	
1929	    This module supports one card and autoprobe.
1930	
1931	    Note: The default index value of this module is -2, i.e. the first
1932	          slot is excluded.
1933	
1934	    The power-management is supported.
1935	
1936	  Module snd-virmidi
1937	  ------------------
1938	
1939	    Module for virtual rawmidi devices.
1940	    This module creates virtual rawmidi devices which communicate
1941	    to the corresponding ALSA sequencer ports.
1942	
1943	    midi_devs	- MIDI devices # (1-4, default=4)
1944	    
1945	    This module supports multiple cards.
1946	
1947	  Module snd-virtuoso
1948	  -------------------
1949	
1950	    Module for sound cards based on the Asus AV100/AV200 chips,
1951	    i.e., Xonar D1, DX, D2, D2X, DS, HDAV1.3 (Deluxe), Essence ST
1952	    (Deluxe) and Essence STX.
1953	
1954	    This module supports autoprobe and multiple cards.
1955	
1956	  Module snd-vx222
1957	  ----------------
1958	
1959	    Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1960	
1961	    mic		- Enable Microphone on V222 Mic (NYI)
1962	    ibl		- Capture IBL size. (default = 0, minimum size)
1963	
1964	    This module supports multiple cards.
1965	
1966	    When the driver is compiled as a module and the hotplug firmware
1967	    is supported, the firmware data is loaded via hotplug automatically.
1968	    Install the necessary firmware files in alsa-firmware package.
1969	    When no hotplug fw loader is available, you need to load the
1970	    firmware via vxloader utility in alsa-tools package.  To invoke
1971	    vxloader automatically, add the following to /etc/modprobe.conf
1972	
1973		install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1974	
1975	    (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1976	     /etc/modules.conf, instead.)
1977	    IBL size defines the interrupts period for PCM.  The smaller size
1978	    gives smaller latency but leads to more CPU consumption, too.
1979	    The size is usually aligned to 126.  As default (=0), the smallest
1980	    size is chosen.  The possible IBL values can be found in
1981	    /proc/asound/cardX/vx-status proc file.
1982	
1983	    The power-management is supported.
1984	
1985	  Module snd-vxpocket
1986	  -------------------
1987	
1988	    Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
1989	
1990	    ibl      - Capture IBL size. (default = 0, minimum size)
1991	
1992	    This module supports multiple cards.  The module is compiled only when
1993	    PCMCIA is supported on kernel.
1994	
1995	    With the older 2.6.x kernel, to activate the driver via the card
1996	    manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
1997	    sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
1998	    longer require a config file.
1999	
2000	    When the driver is compiled as a module and the hotplug firmware
2001	    is supported, the firmware data is loaded via hotplug automatically.
2002	    Install the necessary firmware files in alsa-firmware package.
2003	    When no hotplug fw loader is available, you need to load the
2004	    firmware via vxloader utility in alsa-tools package.
2005	
2006	    About capture IBL, see the description of snd-vx222 module.
2007	
2008	    Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2009	           ALSA 1.0.10.
2010	
2011	    The power-management is supported.
2012	
2013	  Module snd-ymfpci
2014	  -----------------
2015	
2016	    Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2017	
2018	    mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
2019	                    1 (auto-detect for YMF744/754 only)
2020	    fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2021	                    1 (auto-detect for YMF744/754 only)
2022	    joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
2023	                    1 (auto-detect)
2024	    rear_switch   - enable shared rear/line-in switch (bool)
2025	
2026	    This module supports autoprobe and multiple chips.
2027	
2028	    The power-management is supported.
2029	
2030	  Module snd-pdaudiocf
2031	  --------------------
2032	
2033	    Module for Sound Core PDAudioCF sound card.
2034	
2035	    The power-management is supported.
2036	
2037	
2038	AC97 Quirk Option
2039	=================
2040	
2041	The ac97_quirk option is used to enable/override the workaround for
2042	specific devices on drivers for on-board AC'97 controllers like
2043	snd-intel8x0.  Some hardware have swapped output pins between Master
2044	and Headphone, or Surround (thanks to confusion of AC'97
2045	specifications from version to version :-)
2046	
2047	The driver provides the auto-detection of known problematic devices,
2048	but some might be unknown or wrongly detected.  In such a case, pass
2049	the proper value with this option.
2050	
2051	The following strings are accepted:
2052	    - default	Don't override the default setting
2053	    - none	Disable the quirk
2054	    - hp_only	Bind Master and Headphone controls as a single control
2055	    - swap_hp	Swap headphone and master controls
2056	    - swap_surround  Swap master and surround controls
2057	    - ad_sharing  For AD1985, turn on OMS bit and use headphone
2058	    - alc_jack	For ALC65x, turn on the jack sense mode
2059	    - inv_eapd	Inverted EAPD implementation
2060	    - mute_led	Bind EAPD bit for turning on/off mute LED
2061	
2062	For backward compatibility, the corresponding integer value -1, 0,
2063	... are  accepted, too.
2064	
2065	For example, if "Master" volume control has no effect on your device
2066	but only "Headphone" does, pass ac97_quirk=hp_only module option.
2067	
2068	
2069	Configuring Non-ISAPNP Cards
2070	============================
2071	
2072	When the kernel is configured with ISA-PnP support, the modules
2073	supporting the isapnp cards will have module options "isapnp".
2074	If this option is set, *only* the ISA-PnP devices will be probed.
2075	For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
2076	together with the proper i/o and irq configuration.
2077	
2078	When the kernel is configured without ISA-PnP support, isapnp option
2079	will be not built in.
2080	
2081	
2082	Module Autoloading Support
2083	==========================
2084	
2085	The ALSA drivers can be loaded automatically on demand by defining
2086	module aliases.  The string 'snd-card-%1' is requested for ALSA native
2087	devices where %i is sound card number from zero to seven.
2088	
2089	To auto-load an ALSA driver for OSS services, define the string
2090	'sound-slot-%i' where %i means the slot number for OSS, which
2091	corresponds to the card index of ALSA.  Usually, define this
2092	as the same card module.
2093	
2094	An example configuration for a single emu10k1 card is like below:
2095	----- /etc/modprobe.conf
2096	alias snd-card-0 snd-emu10k1
2097	alias sound-slot-0 snd-emu10k1
2098	----- /etc/modprobe.conf
2099	
2100	The available number of auto-loaded sound cards depends on the module
2101	option "cards_limit" of snd module.  As default it's set to 1.
2102	To enable the auto-loading of multiple cards, specify the number of
2103	sound cards in that option.
2104	
2105	When multiple cards are available, it'd better to specify the index
2106	number for each card via module option, too, so that the order of
2107	cards is kept consistent.
2108	
2109	An example configuration for two sound cards is like below:
2110	
2111	----- /etc/modprobe.conf
2112	# ALSA portion
2113	options snd cards_limit=2
2114	alias snd-card-0 snd-interwave
2115	alias snd-card-1 snd-ens1371
2116	options snd-interwave index=0
2117	options snd-ens1371 index=1
2118	# OSS/Free portion
2119	alias sound-slot-0 snd-interwave
2120	alias sound-slot-1 snd-ens1371
2121	----- /etc/modprobe.conf
2122	
2123	In this example, the interwave card is always loaded as the first card
2124	(index 0) and ens1371 as the second (index 1).
2125	
2126	Alternative (and new) way to fixate the slot assignment is to use
2127	"slots" option of snd module.  In the case above, specify like the
2128	following: 
2129	
2130	options snd slots=snd-interwave,snd-ens1371
2131	
2132	Then, the first slot (#0) is reserved for snd-interwave driver, and
2133	the second (#1) for snd-ens1371.  You can omit index option in each
2134	driver if slots option is used (although you can still have them at
2135	the same time as long as they don't conflict).
2136	
2137	The slots option is especially useful for avoiding the possible
2138	hot-plugging and the resultant slot conflict.  For example, in the
2139	case above again, the first two slots are already reserved.  If any
2140	other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2141	snd-ens1371, it will be assigned to the third or later slot.
2142	
2143	When a module name is given with '!', the slot will be given for any
2144	modules but that name.  For example, "slots=!snd-pcsp" will reserve
2145	the first slot for any modules but snd-pcsp. 
2146	
2147	
2148	ALSA PCM devices to OSS devices mapping
2149	=======================================
2150	
2151	/dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2152	/dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2153	/dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2154	/dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2155	/dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2156	/dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2157	/dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2158	/dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2159	/dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2160	
2161	The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
2162	sound card number and second means device number.  The ALSA devices
2163	have either 'c' or 'p' suffix indicating the direction, capture and
2164	playback, respectively.
2165	
2166	Please note that the device mapping above may be varied via the module
2167	options of snd-pcm-oss module.
2168	
2169	
2170	Proc interfaces (/proc/asound)
2171	==============================
2172	
2173	/proc/asound/card#/pcm#[cp]/oss
2174	-------------------------------
2175	  String "erase" - erase all additional informations about OSS applications
2176	  String "<app_name> <fragments> <fragment_size> [<options>]"
2177	
2178	   <app_name> - name of application with (higher priority) or without path
2179	   <fragments> - number of fragments or zero if auto
2180	   <fragment_size> - size of fragment in bytes or zero if auto
2181	   <options> - optional parameters
2182		  - disable   the application tries to open a pcm device for
2183			      this channel but does not want to use it.
2184			      (Cause a bug or mmap needs)
2185			      It's good for Quake etc...
2186		  - direct    don't use plugins
2187		  - block     force block mode (rvplayer)
2188		  - non-block force non-block mode
2189		  - whole-frag  write only whole fragments (optimization affecting
2190				playback only)
2191		  - no-silence  do not fill silence ahead to avoid clicks
2192		  - buggy-ptr	Returns the whitespace blocks in GETOPTR ioctl
2193				instead of filled blocks
2194	
2195	  Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2196	           echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2197		   echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2198	
2199	
2200	Early Buffer Allocation
2201	=======================
2202	
2203	Some drivers (e.g. hdsp) require the large contiguous buffers, and
2204	sometimes it's too late to find such spaces when the driver module is
2205	actually loaded due to memory fragmentation.  You can pre-allocate the
2206	PCM buffers by loading snd-page-alloc module and write commands to its
2207	proc file in prior, for example, in the early boot stage like
2208	/etc/init.d/*.local scripts.
2209	
2210	Reading the proc file /proc/drivers/snd-page-alloc shows the current
2211	usage of page allocation.  In writing, you can send the following
2212	commands to the snd-page-alloc driver:
2213	
2214	  - add VENDOR DEVICE MASK SIZE BUFFERS
2215	
2216	    VENDOR and DEVICE are PCI vendor and device IDs.  They take
2217	    integer numbers (0x prefix is needed for the hex).
2218	    MASK is the PCI DMA mask.  Pass 0 if not restricted.
2219	    SIZE is the size of each buffer to allocate.  You can pass
2220	    k and m suffix for KB and MB.  The max number is 16MB.
2221	    BUFFERS is the number of buffers to allocate.  It must be greater
2222	    than 0.  The max number is 4.
2223	
2224	  - erase
2225	
2226	    This will erase the all pre-allocated buffers which are not in
2227	    use.
2228	
2229	
2230	Links and Addresses
2231	===================
2232	
2233	  ALSA project homepage
2234	       http://www.alsa-project.org
2235	
2236	  Kernel Bugzilla
2237	       http://bugzilla.kernel.org/
2238	
2239	  ALSA Developers ML
2240	       mailto:alsa-devel[AT]alsa-project[DOT]org
2241	
2242	  alsa-info.sh script
2243	       http://www.alsa-project.org/alsa-info.sh
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.