xref: /openbmc/linux/sound/core/Kconfig (revision 0b5288f5)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds# ALSA soundcard-configuration
31da177e4SLinus Torvaldsconfig SND_TIMER
41da177e4SLinus Torvalds	tristate
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsconfig SND_PCM
71da177e4SLinus Torvalds	tristate
890bbaf66SJie Yang	select SND_TIMER if SND_PCM_TIMER
91da177e4SLinus Torvalds
10838d1631SRussell Kingconfig SND_PCM_ELD
11838d1631SRussell King	bool
12838d1631SRussell King
139203dd01SRussell Kingconfig SND_PCM_IEC958
149203dd01SRussell King	bool
159203dd01SRussell King
16b7ae6f31SDaniel Mackconfig SND_DMAENGINE_PCM
17903eb318SDaniel Mack	tristate
18b7ae6f31SDaniel Mack
191da177e4SLinus Torvaldsconfig SND_HWDEP
201da177e4SLinus Torvalds	tristate
211da177e4SLinus Torvalds
22111b0cdbSTakashi Iwaiconfig SND_SEQ_DEVICE
23111b0cdbSTakashi Iwai	tristate
24111b0cdbSTakashi Iwai
251da177e4SLinus Torvaldsconfig SND_RAWMIDI
261da177e4SLinus Torvalds	tristate
27111b0cdbSTakashi Iwai	select SND_SEQ_DEVICE if SND_SEQUENCER != n
281da177e4SLinus Torvalds
29e3a8a5b7STakashi Iwaiconfig SND_UMP
30e3a8a5b7STakashi Iwai	tristate
31e3a8a5b7STakashi Iwai	select SND_RAWMIDI
32e3a8a5b7STakashi Iwai
33*0b5288f5STakashi Iwaiconfig SND_UMP_LEGACY_RAWMIDI
34*0b5288f5STakashi Iwai	bool "Legacy raw MIDI support for UMP streams"
35*0b5288f5STakashi Iwai	depends on SND_UMP
36*0b5288f5STakashi Iwai	help
37*0b5288f5STakashi Iwai	  This option enables the legacy raw MIDI support for UMP streams.
38*0b5288f5STakashi Iwai	  When this option is set, an additional rawmidi device for the
39*0b5288f5STakashi Iwai	  legacy MIDI 1.0 byte streams is created for each UMP Endpoint.
40*0b5288f5STakashi Iwai	  The device contains 16 substreams corresponding to UMP groups.
41*0b5288f5STakashi Iwai
425c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD
435c845bebSTakashi Iwai	tristate
445c845bebSTakashi Iwai
450d94e41aSMark Brownconfig SND_JACK
460d94e41aSMark Brown	bool
470d94e41aSMark Brown
48fe0d128cSTakashi Iwai# enable input device support in jack layer
49fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV
50fe0d128cSTakashi Iwai	bool
51fe0d128cSTakashi Iwai	depends on SND_JACK
52fe0d128cSTakashi Iwai	default y if INPUT=y || INPUT=SND
53fe0d128cSTakashi Iwai
541da177e4SLinus Torvaldsconfig SND_OSSEMUL
55eb3b705aSTakashi Iwai	bool "Enable OSS Emulation"
56d886e87cSTejun Heo	select SOUND_OSS_CORE
57eb3b705aSTakashi Iwai	help
58eb3b705aSTakashi Iwai	  This option enables the build of OSS emulation layer.
591da177e4SLinus Torvalds
601da177e4SLinus Torvaldsconfig SND_MIXER_OSS
611da177e4SLinus Torvalds	tristate "OSS Mixer API"
62eb3b705aSTakashi Iwai	depends on SND_OSSEMUL
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
655fb94e9cSMauro Carvalho Chehab	  and read <file:Documentation/sound/designs/oss-emulation.rst>.
661da177e4SLinus Torvalds
671da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
701da177e4SLinus Torvalds	  will be called snd-mixer-oss.
711da177e4SLinus Torvalds
721da177e4SLinus Torvaldsconfig SND_PCM_OSS
731da177e4SLinus Torvalds	tristate "OSS PCM (digital audio) API"
74eb3b705aSTakashi Iwai	depends on SND_OSSEMUL
751da177e4SLinus Torvalds	select SND_PCM
761da177e4SLinus Torvalds	help
771da177e4SLinus Torvalds	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
785fb94e9cSMauro Carvalho Chehab	  here and read <file:Documentation/sound/designs/oss-emulation.rst>.
791da177e4SLinus Torvalds
801da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
811da177e4SLinus Torvalds
821da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
831da177e4SLinus Torvalds	  will be called snd-pcm-oss.
841da177e4SLinus Torvalds
8521a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS
8621a3479aSJaroslav Kysela	bool "OSS PCM (digital audio) API - Include plugin system"
8721a3479aSJaroslav Kysela	depends on SND_PCM_OSS
8821a3479aSJaroslav Kysela	default y
8921a3479aSJaroslav Kysela	help
9021a3479aSJaroslav Kysela	  If you disable this option, the ALSA's OSS PCM API will not
9121a3479aSJaroslav Kysela	  support conversion of channels, formats and rates. It will
9221a3479aSJaroslav Kysela	  behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
9321a3479aSJaroslav Kysela
9490bbaf66SJie Yangconfig SND_PCM_TIMER
9590bbaf66SJie Yang	bool "PCM timer interface" if EXPERT
9690bbaf66SJie Yang	default y
9790bbaf66SJie Yang	help
98ac1efcfbSRandy Dunlap	  If you disable this option, pcm timer will be unavailable, so
99ac1efcfbSRandy Dunlap	  those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
100a893b7fcSElijah Harding	  incorrectly.
10190bbaf66SJie Yang
102ac1efcfbSRandy Dunlap	  For some embedded devices, we may disable it to reduce memory
10390bbaf66SJie Yang	  footprint, about 20KB on x86_64 platform.
10490bbaf66SJie Yang
105bbaf5e97STakashi Iwaiconfig SND_HRTIMER
106bbaf5e97STakashi Iwai	tristate "HR-timer backend support"
107bbaf5e97STakashi Iwai	depends on HIGH_RES_TIMERS
108bbaf5e97STakashi Iwai	select SND_TIMER
109bbaf5e97STakashi Iwai	help
110bbaf5e97STakashi Iwai	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
111bbaf5e97STakashi Iwai	  the hrtimer as a precise timing source. The ALSA sequencer code
112bbaf5e97STakashi Iwai	  also can use this timing source.
113bbaf5e97STakashi Iwai
114bbaf5e97STakashi Iwai	  To compile this driver as a module, choose M here: the module
115bbaf5e97STakashi Iwai	  will be called snd-hrtimer.
116bbaf5e97STakashi Iwai
117332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS
118b10e5391SClemens Ladisch	bool "Dynamic device file minor numbers"
119332682b1SClemens Ladisch	help
120332682b1SClemens Ladisch	  If you say Y here, the minor numbers of ALSA device files in
121332682b1SClemens Ladisch	  /dev/snd/ are allocated dynamically.  This allows you to have
122332682b1SClemens Ladisch	  more than 8 sound cards, but requires a dynamic device file
123332682b1SClemens Ladisch	  system like udev.
124332682b1SClemens Ladisch
125332682b1SClemens Ladisch	  If you are unsure about this, say N here.
126332682b1SClemens Ladisch
1277bb2491bSTakashi Iwaiconfig SND_MAX_CARDS
1287bb2491bSTakashi Iwai	int "Max number of sound cards"
1297bb2491bSTakashi Iwai	range 4 256
1307bb2491bSTakashi Iwai	default 32
1317bb2491bSTakashi Iwai	depends on SND_DYNAMIC_MINORS
1327bb2491bSTakashi Iwai	help
1337bb2491bSTakashi Iwai	  Specify the max number of sound cards that can be assigned
1347bb2491bSTakashi Iwai	  on a single machine.
1357bb2491bSTakashi Iwai
13659d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API
13759d48582STakashi Iwai	bool "Support old ALSA API"
13859d48582STakashi Iwai	default y
13959d48582STakashi Iwai	help
14059d48582STakashi Iwai	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
14159d48582STakashi Iwai	  or older).
14259d48582STakashi Iwai
143e0ecb05aSJie Yangconfig SND_PROC_FS
144e0ecb05aSJie Yang	bool "Sound Proc FS Support" if EXPERT
145e0ecb05aSJie Yang	depends on PROC_FS
146e0ecb05aSJie Yang	default y
147e0ecb05aSJie Yang	help
148e0ecb05aSJie Yang	  Say 'N' to disable Sound proc FS, which may reduce code size about
149e0ecb05aSJie Yang	  9KB on x86_64 platform.
150e0ecb05aSJie Yang	  If unsure say Y.
151e0ecb05aSJie Yang
15221a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS
15321a3479aSJaroslav Kysela	bool "Verbose procfs contents"
154e0ecb05aSJie Yang	depends on SND_PROC_FS
15521a3479aSJaroslav Kysela	default y
15621a3479aSJaroslav Kysela	help
15721a3479aSJaroslav Kysela	  Say Y here to include code for verbose procfs contents (provides
158a982ac06SMatt LaPlante	  useful information to developers when a problem occurs).  On the
15921a3479aSJaroslav Kysela	  other side, it makes the ALSA subsystem larger.
16021a3479aSJaroslav Kysela
1611da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK
1621da177e4SLinus Torvalds	bool "Verbose printk"
1631da177e4SLinus Torvalds	help
1641da177e4SLinus Torvalds	  Say Y here to enable verbose log messages.  These messages
1651da177e4SLinus Torvalds	  will help to identify source file and position containing
1661da177e4SLinus Torvalds	  printed messages.
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvalds	  You don't need this unless you're debugging ALSA.
1691da177e4SLinus Torvalds
170c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP
171c27e1efbSTakashi Iwai	bool "Fast lookup of control elements" if EXPERT
172c27e1efbSTakashi Iwai	default y
173c27e1efbSTakashi Iwai	select XARRAY_MULTI
174c27e1efbSTakashi Iwai	help
175c27e1efbSTakashi Iwai	  This option enables the faster lookup of control elements.
176c27e1efbSTakashi Iwai	  It will consume more memory because of the additional Xarray.
177c27e1efbSTakashi Iwai	  If you want to choose the memory footprint over the performance
178c27e1efbSTakashi Iwai	  inevitably, turn this off.
179c27e1efbSTakashi Iwai
1801da177e4SLinus Torvaldsconfig SND_DEBUG
1811da177e4SLinus Torvalds	bool "Debug"
1821da177e4SLinus Torvalds	help
1831da177e4SLinus Torvalds	  Say Y here to enable ALSA debug code.
1841da177e4SLinus Torvalds
18562cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE
18662cf872aSTakashi Iwai	bool "More verbose debug"
1871da177e4SLinus Torvalds	depends on SND_DEBUG
1881da177e4SLinus Torvalds	help
18962cf872aSTakashi Iwai	  Say Y here to enable extra-verbose debugging messages.
19062cf872aSTakashi Iwai
19162cf872aSTakashi Iwai	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
19262cf872aSTakashi Iwai	  So, say Y only if you are ready to be annoyed.
19361fb63c0SJaroslav Kysela
19461fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG
19561fb63c0SJaroslav Kysela	bool "Enable PCM ring buffer overrun/underrun debugging"
19661fb63c0SJaroslav Kysela	default n
197b7d90a35STakashi Iwai	depends on SND_DEBUG && SND_VERBOSE_PROCFS
19861fb63c0SJaroslav Kysela	help
19961fb63c0SJaroslav Kysela	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
20061fb63c0SJaroslav Kysela	  It is usually not required, but if you have trouble with
20161fb63c0SJaroslav Kysela	  sound clicking when system is loaded, it may help to determine
20261fb63c0SJaroslav Kysela	  the process or driver which causes the scheduling gaps.
203e922b002STakashi Iwai
204f5e829f9STakashi Iwaiconfig SND_CTL_INPUT_VALIDATION
205f5e829f9STakashi Iwai	bool "Validate input data to control API"
206f5e829f9STakashi Iwai	help
207f5e829f9STakashi Iwai	  Say Y to enable the additional validation for the input data to
208f5e829f9STakashi Iwai	  each control element, including the value range checks.
209f5e829f9STakashi Iwai	  An error is returned from ALSA core for invalid inputs without
210f5e829f9STakashi Iwai	  passing to the driver.  This is a kind of hardening for drivers
211f5e829f9STakashi Iwai	  that have no proper error checks, at the cost of a slight
212f5e829f9STakashi Iwai	  performance overhead.
213f5e829f9STakashi Iwai
2141b7ec514STakashi Iwaiconfig SND_CTL_DEBUG
2151b7ec514STakashi Iwai	bool "Enable debugging feature for control API"
216fbd3eb7fSTakashi Iwai	depends on SND_DEBUG
217fbd3eb7fSTakashi Iwai	help
2181b7ec514STakashi Iwai	  Say Y to enable the debugging feature for ALSA control API.
2191b7ec514STakashi Iwai	  It performs the additional sanity-checks for each control element
2201b7ec514STakashi Iwai	  read access, such as whether the values returned from the driver
2211b7ec514STakashi Iwai	  are in the proper ranges or the check of the invalid access at
2221b7ec514STakashi Iwai	  out-of-array areas.  The error is printed when the driver gives
2231b7ec514STakashi Iwai	  such unexpected values.
2241b7ec514STakashi Iwai	  When you develop a driver that deals with control elements, it's
2251b7ec514STakashi Iwai	  strongly recommended to try this one once and verify whether you see
2261b7ec514STakashi Iwai	  any relevant errors or not.
227fbd3eb7fSTakashi Iwai
2282d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG
2292d670ea2SHui Wang	bool "Sound jack injection interface via debugfs"
2302d670ea2SHui Wang	depends on SND_JACK && SND_DEBUG && DEBUG_FS
2312d670ea2SHui Wang	help
2322d670ea2SHui Wang	  This option can be used to enable or disable sound jack
2332d670ea2SHui Wang	  software injection.
2342d670ea2SHui Wang	  Say Y if you are debugging via jack injection interface.
2352d670ea2SHui Wang	  If unsure select "N".
2362d670ea2SHui Wang
237e922b002STakashi Iwaiconfig SND_VMASTER
238e922b002STakashi Iwai	bool
2390528c749SMichal Marek
240cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF
241cc6a8acdSTakashi Iwai	def_bool y
242cc6a8acdSTakashi Iwai	depends on X86
243cc6a8acdSTakashi Iwai
24422d8de62SJaroslav Kyselaconfig SND_CTL_LED
24522d8de62SJaroslav Kysela	tristate
24622d8de62SJaroslav Kysela	select NEW_LEDS if SND_CTL_LED
24722d8de62SJaroslav Kysela	select LEDS_TRIGGERS if SND_CTL_LED
24822d8de62SJaroslav Kysela	select LEDS_TRIGGER_AUDIO if SND_CTL_LED
24922d8de62SJaroslav Kysela
2500528c749SMichal Mareksource "sound/core/seq/Kconfig"
251