xref: /openbmc/linux/sound/core/Kconfig (revision 90bbaf66)
11da177e4SLinus Torvalds# ALSA soundcard-configuration
21da177e4SLinus Torvaldsconfig SND_TIMER
31da177e4SLinus Torvalds	tristate
41da177e4SLinus Torvalds
51da177e4SLinus Torvaldsconfig SND_PCM
61da177e4SLinus Torvalds	tristate
7*90bbaf66SJie Yang	select SND_TIMER if SND_PCM_TIMER
81da177e4SLinus Torvalds
9838d1631SRussell Kingconfig SND_PCM_ELD
10838d1631SRussell King	bool
11838d1631SRussell King
129203dd01SRussell Kingconfig SND_PCM_IEC958
139203dd01SRussell King	bool
149203dd01SRussell King
15b7ae6f31SDaniel Mackconfig SND_DMAENGINE_PCM
16903eb318SDaniel Mack	tristate
17b7ae6f31SDaniel Mack
181da177e4SLinus Torvaldsconfig SND_HWDEP
191da177e4SLinus Torvalds	tristate
201da177e4SLinus Torvalds
211da177e4SLinus Torvaldsconfig SND_RAWMIDI
221da177e4SLinus Torvalds	tristate
231da177e4SLinus Torvalds
245c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD
255c845bebSTakashi Iwai	tristate
265c845bebSTakashi Iwai
270d94e41aSMark Brown# To be effective this also requires INPUT - users should say:
280d94e41aSMark Brown#    select SND_JACK if INPUT=y || INPUT=SND
290d94e41aSMark Brown# to avoid having to force INPUT on.
300d94e41aSMark Brownconfig SND_JACK
310d94e41aSMark Brown	bool
320d94e41aSMark Brown
331da177e4SLinus Torvaldsconfig SND_SEQUENCER
341da177e4SLinus Torvalds	tristate "Sequencer support"
351da177e4SLinus Torvalds	select SND_TIMER
361da177e4SLinus Torvalds	help
371da177e4SLinus Torvalds	  Say Y or M to enable MIDI sequencer and router support.  This
381da177e4SLinus Torvalds	  feature allows routing and enqueueing of MIDI events.  Events
391da177e4SLinus Torvalds	  can be processed at a given time.
401da177e4SLinus Torvalds
411da177e4SLinus Torvalds	  Many programs require this feature, so you should enable it
421da177e4SLinus Torvalds	  unless you know what you're doing.
431da177e4SLinus Torvalds
441da177e4SLinus Torvaldsconfig SND_SEQ_DUMMY
451da177e4SLinus Torvalds	tristate "Sequencer dummy client"
461da177e4SLinus Torvalds	depends on SND_SEQUENCER
471da177e4SLinus Torvalds	help
481da177e4SLinus Torvalds	  Say Y here to enable the dummy sequencer client.  This client
491da177e4SLinus Torvalds	  is a simple MIDI-through client: all normal input events are
501da177e4SLinus Torvalds	  redirected to the output port immediately.
511da177e4SLinus Torvalds
521da177e4SLinus Torvalds	  You don't need this unless you want to connect many MIDI
531da177e4SLinus Torvalds	  devices or applications together.
541da177e4SLinus Torvalds
551da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
561da177e4SLinus Torvalds	  will be called snd-seq-dummy.
571da177e4SLinus Torvalds
581da177e4SLinus Torvaldsconfig SND_OSSEMUL
59d886e87cSTejun Heo	select SOUND_OSS_CORE
601da177e4SLinus Torvalds	bool
611da177e4SLinus Torvalds
621da177e4SLinus Torvaldsconfig SND_MIXER_OSS
631da177e4SLinus Torvalds	tristate "OSS Mixer API"
641da177e4SLinus Torvalds	select SND_OSSEMUL
651da177e4SLinus Torvalds	help
661da177e4SLinus Torvalds	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
671da177e4SLinus Torvalds	  and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
701da177e4SLinus Torvalds
711da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
721da177e4SLinus Torvalds	  will be called snd-mixer-oss.
731da177e4SLinus Torvalds
741da177e4SLinus Torvaldsconfig SND_PCM_OSS
751da177e4SLinus Torvalds	tristate "OSS PCM (digital audio) API"
761da177e4SLinus Torvalds	select SND_OSSEMUL
771da177e4SLinus Torvalds	select SND_PCM
781da177e4SLinus Torvalds	help
791da177e4SLinus Torvalds	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
801da177e4SLinus Torvalds	  here and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
811da177e4SLinus Torvalds
821da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
831da177e4SLinus Torvalds
841da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
851da177e4SLinus Torvalds	  will be called snd-pcm-oss.
861da177e4SLinus Torvalds
8721a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS
8821a3479aSJaroslav Kysela	bool "OSS PCM (digital audio) API - Include plugin system"
8921a3479aSJaroslav Kysela	depends on SND_PCM_OSS
9021a3479aSJaroslav Kysela        default y
9121a3479aSJaroslav Kysela	help
9221a3479aSJaroslav Kysela          If you disable this option, the ALSA's OSS PCM API will not
9321a3479aSJaroslav Kysela          support conversion of channels, formats and rates. It will
9421a3479aSJaroslav Kysela          behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
9521a3479aSJaroslav Kysela
96*90bbaf66SJie Yangconfig SND_PCM_TIMER
97*90bbaf66SJie Yang	bool "PCM timer interface" if EXPERT
98*90bbaf66SJie Yang	default y
99*90bbaf66SJie Yang	help
100*90bbaf66SJie Yang	  If you disable this option, pcm timer will be inavailable, so
101*90bbaf66SJie Yang	  those stubs used pcm timer (e.g. dmix, dsnoop & co) may work
102*90bbaf66SJie Yang	  incorrectlly.
103*90bbaf66SJie Yang
104*90bbaf66SJie Yang	  For some embedded device, we may disable it to reduce memory
105*90bbaf66SJie Yang	  footprint, about 20KB on x86_64 platform.
106*90bbaf66SJie Yang
1071da177e4SLinus Torvaldsconfig SND_SEQUENCER_OSS
1081da177e4SLinus Torvalds	bool "OSS Sequencer API"
10989fe5117STakashi Iwai	depends on SND_SEQUENCER
1101da177e4SLinus Torvalds	select SND_OSSEMUL
1111da177e4SLinus Torvalds	help
1121da177e4SLinus Torvalds	  Say Y here to enable OSS sequencer emulation (both
1131da177e4SLinus Torvalds	  /dev/sequencer and /dev/music interfaces).
1141da177e4SLinus Torvalds
1151da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
1161da177e4SLinus Torvalds
117c2f60c52SFrederik Deweerdt	  If you choose M in "Sequencer support" (SND_SEQUENCER),
118c2f60c52SFrederik Deweerdt	  this will be compiled as a module. The module will be called
119c2f60c52SFrederik Deweerdt	  snd-seq-oss.
1201da177e4SLinus Torvalds
121bbaf5e97STakashi Iwaiconfig SND_HRTIMER
122bbaf5e97STakashi Iwai	tristate "HR-timer backend support"
123bbaf5e97STakashi Iwai	depends on HIGH_RES_TIMERS
124bbaf5e97STakashi Iwai	select SND_TIMER
125bbaf5e97STakashi Iwai	help
126bbaf5e97STakashi Iwai	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
127bbaf5e97STakashi Iwai	  the hrtimer as a precise timing source. The ALSA sequencer code
128bbaf5e97STakashi Iwai	  also can use this timing source.
129bbaf5e97STakashi Iwai
130bbaf5e97STakashi Iwai	  To compile this driver as a module, choose M here: the module
131bbaf5e97STakashi Iwai	  will be called snd-hrtimer.
132bbaf5e97STakashi Iwai
133bbaf5e97STakashi Iwaiconfig SND_SEQ_HRTIMER_DEFAULT
134bbaf5e97STakashi Iwai	bool "Use HR-timer as default sequencer timer"
135bbaf5e97STakashi Iwai	depends on SND_HRTIMER && SND_SEQUENCER
136bbaf5e97STakashi Iwai	default y
137bbaf5e97STakashi Iwai	help
138bbaf5e97STakashi Iwai	  Say Y here to use the HR-timer backend as the default sequencer
139bbaf5e97STakashi Iwai	  timer.
140bbaf5e97STakashi Iwai
1411da177e4SLinus Torvaldsconfig SND_RTCTIMER
1421da177e4SLinus Torvalds	tristate "RTC Timer support"
14389fe5117STakashi Iwai	depends on RTC
1441da177e4SLinus Torvalds	select SND_TIMER
1451da177e4SLinus Torvalds	help
1461da177e4SLinus Torvalds	  Say Y here to enable RTC timer support for ALSA.  ALSA uses
1471da177e4SLinus Torvalds	  the RTC timer as a precise timing source and maps the RTC
1481da177e4SLinus Torvalds	  timer to ALSA's timer interface.  The ALSA sequencer code also
1491da177e4SLinus Torvalds	  can use this timing source.
1501da177e4SLinus Torvalds
1511da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
1521da177e4SLinus Torvalds	  will be called snd-rtctimer.
1531da177e4SLinus Torvalds
15452948b3fSTakashi Iwai	  Note that this option is exclusive with the new RTC drivers
15552948b3fSTakashi Iwai	  (CONFIG_RTC_CLASS) since this requires the old API.
15652948b3fSTakashi Iwai
157a4f508b2SClemens Ladischconfig SND_SEQ_RTCTIMER_DEFAULT
158a4f508b2SClemens Ladisch	bool "Use RTC as default sequencer timer"
159a4f508b2SClemens Ladisch	depends on SND_RTCTIMER && SND_SEQUENCER
160e78a37bcSTakashi Iwai	depends on !SND_SEQ_HRTIMER_DEFAULT
161a4f508b2SClemens Ladisch	default y
162a4f508b2SClemens Ladisch	help
163a4f508b2SClemens Ladisch	  Say Y here to use the RTC timer as the default sequencer
164a4f508b2SClemens Ladisch	  timer.  This is strongly recommended because it ensures
165a4f508b2SClemens Ladisch	  precise MIDI timing even when the system timer runs at less
166a4f508b2SClemens Ladisch	  than 1000 Hz.
167a4f508b2SClemens Ladisch
168a4f508b2SClemens Ladisch	  If in doubt, say Y.
169a4f508b2SClemens Ladisch
170332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS
171b10e5391SClemens Ladisch	bool "Dynamic device file minor numbers"
172332682b1SClemens Ladisch	help
173332682b1SClemens Ladisch	  If you say Y here, the minor numbers of ALSA device files in
174332682b1SClemens Ladisch	  /dev/snd/ are allocated dynamically.  This allows you to have
175332682b1SClemens Ladisch	  more than 8 sound cards, but requires a dynamic device file
176332682b1SClemens Ladisch	  system like udev.
177332682b1SClemens Ladisch
178332682b1SClemens Ladisch	  If you are unsure about this, say N here.
179332682b1SClemens Ladisch
1807bb2491bSTakashi Iwaiconfig SND_MAX_CARDS
1817bb2491bSTakashi Iwai	int "Max number of sound cards"
1827bb2491bSTakashi Iwai	range 4 256
1837bb2491bSTakashi Iwai	default 32
1847bb2491bSTakashi Iwai	depends on SND_DYNAMIC_MINORS
1857bb2491bSTakashi Iwai	help
1867bb2491bSTakashi Iwai	  Specify the max number of sound cards that can be assigned
1877bb2491bSTakashi Iwai	  on a single machine.
1887bb2491bSTakashi Iwai
18959d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API
19059d48582STakashi Iwai	bool "Support old ALSA API"
19159d48582STakashi Iwai	default y
19259d48582STakashi Iwai	help
19359d48582STakashi Iwai	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
19459d48582STakashi Iwai	  or older).
19559d48582STakashi Iwai
196e0ecb05aSJie Yangconfig SND_PROC_FS
197e0ecb05aSJie Yang        bool "Sound Proc FS Support" if EXPERT
198e0ecb05aSJie Yang        depends on PROC_FS
199e0ecb05aSJie Yang        default y
200e0ecb05aSJie Yang        help
201e0ecb05aSJie Yang          Say 'N' to disable Sound proc FS, which may reduce code size about
202e0ecb05aSJie Yang          9KB on x86_64 platform.
203e0ecb05aSJie Yang          If unsure say Y.
204e0ecb05aSJie Yang
20521a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS
20621a3479aSJaroslav Kysela	bool "Verbose procfs contents"
207e0ecb05aSJie Yang	depends on SND_PROC_FS
20821a3479aSJaroslav Kysela	default y
20921a3479aSJaroslav Kysela	help
21021a3479aSJaroslav Kysela	  Say Y here to include code for verbose procfs contents (provides
211a982ac06SMatt LaPlante          useful information to developers when a problem occurs).  On the
21221a3479aSJaroslav Kysela          other side, it makes the ALSA subsystem larger.
21321a3479aSJaroslav Kysela
2141da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK
2151da177e4SLinus Torvalds	bool "Verbose printk"
2161da177e4SLinus Torvalds	help
2171da177e4SLinus Torvalds	  Say Y here to enable verbose log messages.  These messages
2181da177e4SLinus Torvalds	  will help to identify source file and position containing
2191da177e4SLinus Torvalds	  printed messages.
2201da177e4SLinus Torvalds
2211da177e4SLinus Torvalds	  You don't need this unless you're debugging ALSA.
2221da177e4SLinus Torvalds
2231da177e4SLinus Torvaldsconfig SND_DEBUG
2241da177e4SLinus Torvalds	bool "Debug"
2251da177e4SLinus Torvalds	help
2261da177e4SLinus Torvalds	  Say Y here to enable ALSA debug code.
2271da177e4SLinus Torvalds
22862cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE
22962cf872aSTakashi Iwai	bool "More verbose debug"
2301da177e4SLinus Torvalds	depends on SND_DEBUG
2311da177e4SLinus Torvalds	help
23262cf872aSTakashi Iwai	  Say Y here to enable extra-verbose debugging messages.
23362cf872aSTakashi Iwai
23462cf872aSTakashi Iwai	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
23562cf872aSTakashi Iwai	  So, say Y only if you are ready to be annoyed.
23661fb63c0SJaroslav Kysela
23761fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG
23861fb63c0SJaroslav Kysela	bool "Enable PCM ring buffer overrun/underrun debugging"
23961fb63c0SJaroslav Kysela	default n
240b7d90a35STakashi Iwai	depends on SND_DEBUG && SND_VERBOSE_PROCFS
24161fb63c0SJaroslav Kysela	help
24261fb63c0SJaroslav Kysela	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
24361fb63c0SJaroslav Kysela	  It is usually not required, but if you have trouble with
24461fb63c0SJaroslav Kysela	  sound clicking when system is loaded, it may help to determine
24561fb63c0SJaroslav Kysela	  the process or driver which causes the scheduling gaps.
246e922b002STakashi Iwai
247e922b002STakashi Iwaiconfig SND_VMASTER
248e922b002STakashi Iwai	bool
2490528c749SMichal Marek
250cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF
251cc6a8acdSTakashi Iwai	def_bool y
252cc6a8acdSTakashi Iwai	depends on X86
253cc6a8acdSTakashi Iwai
2540528c749SMichal Mareksource "sound/core/seq/Kconfig"
255