xref: /openbmc/linux/sound/core/Kconfig (revision 1b7ec514)
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
295c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD
305c845bebSTakashi Iwai	tristate
315c845bebSTakashi Iwai
320d94e41aSMark Brownconfig SND_JACK
330d94e41aSMark Brown	bool
340d94e41aSMark Brown
35fe0d128cSTakashi Iwai# enable input device support in jack layer
36fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV
37fe0d128cSTakashi Iwai	bool
38fe0d128cSTakashi Iwai	depends on SND_JACK
39fe0d128cSTakashi Iwai	default y if INPUT=y || INPUT=SND
40fe0d128cSTakashi Iwai
411da177e4SLinus Torvaldsconfig SND_OSSEMUL
42eb3b705aSTakashi Iwai	bool "Enable OSS Emulation"
43d886e87cSTejun Heo	select SOUND_OSS_CORE
44eb3b705aSTakashi Iwai	help
45eb3b705aSTakashi Iwai	  This option enables the build of OSS emulation layer.
461da177e4SLinus Torvalds
471da177e4SLinus Torvaldsconfig SND_MIXER_OSS
481da177e4SLinus Torvalds	tristate "OSS Mixer API"
49eb3b705aSTakashi Iwai	depends on SND_OSSEMUL
501da177e4SLinus Torvalds	help
511da177e4SLinus Torvalds	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
525fb94e9cSMauro Carvalho Chehab	  and read <file:Documentation/sound/designs/oss-emulation.rst>.
531da177e4SLinus Torvalds
541da177e4SLinus Torvalds	  Many programs still use the OSS API, so say Y.
551da177e4SLinus Torvalds
561da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
571da177e4SLinus Torvalds	  will be called snd-mixer-oss.
581da177e4SLinus Torvalds
591da177e4SLinus Torvaldsconfig SND_PCM_OSS
601da177e4SLinus Torvalds	tristate "OSS PCM (digital audio) API"
61eb3b705aSTakashi Iwai	depends on SND_OSSEMUL
621da177e4SLinus Torvalds	select SND_PCM
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
655fb94e9cSMauro Carvalho Chehab	  here 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-pcm-oss.
711da177e4SLinus Torvalds
7221a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS
7321a3479aSJaroslav Kysela	bool "OSS PCM (digital audio) API - Include plugin system"
7421a3479aSJaroslav Kysela	depends on SND_PCM_OSS
7521a3479aSJaroslav Kysela	default y
7621a3479aSJaroslav Kysela	help
7721a3479aSJaroslav Kysela	  If you disable this option, the ALSA's OSS PCM API will not
7821a3479aSJaroslav Kysela	  support conversion of channels, formats and rates. It will
7921a3479aSJaroslav Kysela	  behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
8021a3479aSJaroslav Kysela
8190bbaf66SJie Yangconfig SND_PCM_TIMER
8290bbaf66SJie Yang	bool "PCM timer interface" if EXPERT
8390bbaf66SJie Yang	default y
8490bbaf66SJie Yang	help
85ac1efcfbSRandy Dunlap	  If you disable this option, pcm timer will be unavailable, so
86ac1efcfbSRandy Dunlap	  those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
87a893b7fcSElijah Harding	  incorrectly.
8890bbaf66SJie Yang
89ac1efcfbSRandy Dunlap	  For some embedded devices, we may disable it to reduce memory
9090bbaf66SJie Yang	  footprint, about 20KB on x86_64 platform.
9190bbaf66SJie Yang
92bbaf5e97STakashi Iwaiconfig SND_HRTIMER
93bbaf5e97STakashi Iwai	tristate "HR-timer backend support"
94bbaf5e97STakashi Iwai	depends on HIGH_RES_TIMERS
95bbaf5e97STakashi Iwai	select SND_TIMER
96bbaf5e97STakashi Iwai	help
97bbaf5e97STakashi Iwai	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
98bbaf5e97STakashi Iwai	  the hrtimer as a precise timing source. The ALSA sequencer code
99bbaf5e97STakashi Iwai	  also can use this timing source.
100bbaf5e97STakashi Iwai
101bbaf5e97STakashi Iwai	  To compile this driver as a module, choose M here: the module
102bbaf5e97STakashi Iwai	  will be called snd-hrtimer.
103bbaf5e97STakashi Iwai
104332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS
105b10e5391SClemens Ladisch	bool "Dynamic device file minor numbers"
106332682b1SClemens Ladisch	help
107332682b1SClemens Ladisch	  If you say Y here, the minor numbers of ALSA device files in
108332682b1SClemens Ladisch	  /dev/snd/ are allocated dynamically.  This allows you to have
109332682b1SClemens Ladisch	  more than 8 sound cards, but requires a dynamic device file
110332682b1SClemens Ladisch	  system like udev.
111332682b1SClemens Ladisch
112332682b1SClemens Ladisch	  If you are unsure about this, say N here.
113332682b1SClemens Ladisch
1147bb2491bSTakashi Iwaiconfig SND_MAX_CARDS
1157bb2491bSTakashi Iwai	int "Max number of sound cards"
1167bb2491bSTakashi Iwai	range 4 256
1177bb2491bSTakashi Iwai	default 32
1187bb2491bSTakashi Iwai	depends on SND_DYNAMIC_MINORS
1197bb2491bSTakashi Iwai	help
1207bb2491bSTakashi Iwai	  Specify the max number of sound cards that can be assigned
1217bb2491bSTakashi Iwai	  on a single machine.
1227bb2491bSTakashi Iwai
12359d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API
12459d48582STakashi Iwai	bool "Support old ALSA API"
12559d48582STakashi Iwai	default y
12659d48582STakashi Iwai	help
12759d48582STakashi Iwai	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
12859d48582STakashi Iwai	  or older).
12959d48582STakashi Iwai
130e0ecb05aSJie Yangconfig SND_PROC_FS
131e0ecb05aSJie Yang	bool "Sound Proc FS Support" if EXPERT
132e0ecb05aSJie Yang	depends on PROC_FS
133e0ecb05aSJie Yang	default y
134e0ecb05aSJie Yang	help
135e0ecb05aSJie Yang	  Say 'N' to disable Sound proc FS, which may reduce code size about
136e0ecb05aSJie Yang	  9KB on x86_64 platform.
137e0ecb05aSJie Yang	  If unsure say Y.
138e0ecb05aSJie Yang
13921a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS
14021a3479aSJaroslav Kysela	bool "Verbose procfs contents"
141e0ecb05aSJie Yang	depends on SND_PROC_FS
14221a3479aSJaroslav Kysela	default y
14321a3479aSJaroslav Kysela	help
14421a3479aSJaroslav Kysela	  Say Y here to include code for verbose procfs contents (provides
145a982ac06SMatt LaPlante	  useful information to developers when a problem occurs).  On the
14621a3479aSJaroslav Kysela	  other side, it makes the ALSA subsystem larger.
14721a3479aSJaroslav Kysela
1481da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK
1491da177e4SLinus Torvalds	bool "Verbose printk"
1501da177e4SLinus Torvalds	help
1511da177e4SLinus Torvalds	  Say Y here to enable verbose log messages.  These messages
1521da177e4SLinus Torvalds	  will help to identify source file and position containing
1531da177e4SLinus Torvalds	  printed messages.
1541da177e4SLinus Torvalds
1551da177e4SLinus Torvalds	  You don't need this unless you're debugging ALSA.
1561da177e4SLinus Torvalds
157c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP
158c27e1efbSTakashi Iwai	bool "Fast lookup of control elements" if EXPERT
159c27e1efbSTakashi Iwai	default y
160c27e1efbSTakashi Iwai	select XARRAY_MULTI
161c27e1efbSTakashi Iwai	help
162c27e1efbSTakashi Iwai	  This option enables the faster lookup of control elements.
163c27e1efbSTakashi Iwai	  It will consume more memory because of the additional Xarray.
164c27e1efbSTakashi Iwai	  If you want to choose the memory footprint over the performance
165c27e1efbSTakashi Iwai	  inevitably, turn this off.
166c27e1efbSTakashi Iwai
1671da177e4SLinus Torvaldsconfig SND_DEBUG
1681da177e4SLinus Torvalds	bool "Debug"
1691da177e4SLinus Torvalds	help
1701da177e4SLinus Torvalds	  Say Y here to enable ALSA debug code.
1711da177e4SLinus Torvalds
17262cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE
17362cf872aSTakashi Iwai	bool "More verbose debug"
1741da177e4SLinus Torvalds	depends on SND_DEBUG
1751da177e4SLinus Torvalds	help
17662cf872aSTakashi Iwai	  Say Y here to enable extra-verbose debugging messages.
17762cf872aSTakashi Iwai
17862cf872aSTakashi Iwai	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
17962cf872aSTakashi Iwai	  So, say Y only if you are ready to be annoyed.
18061fb63c0SJaroslav Kysela
18161fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG
18261fb63c0SJaroslav Kysela	bool "Enable PCM ring buffer overrun/underrun debugging"
18361fb63c0SJaroslav Kysela	default n
184b7d90a35STakashi Iwai	depends on SND_DEBUG && SND_VERBOSE_PROCFS
18561fb63c0SJaroslav Kysela	help
18661fb63c0SJaroslav Kysela	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
18761fb63c0SJaroslav Kysela	  It is usually not required, but if you have trouble with
18861fb63c0SJaroslav Kysela	  sound clicking when system is loaded, it may help to determine
18961fb63c0SJaroslav Kysela	  the process or driver which causes the scheduling gaps.
190e922b002STakashi Iwai
191*1b7ec514STakashi Iwaiconfig SND_CTL_DEBUG
192*1b7ec514STakashi Iwai	bool "Enable debugging feature for control API"
193fbd3eb7fSTakashi Iwai	depends on SND_DEBUG
194fbd3eb7fSTakashi Iwai	help
195*1b7ec514STakashi Iwai	  Say Y to enable the debugging feature for ALSA control API.
196*1b7ec514STakashi Iwai	  It performs the additional sanity-checks for each control element
197*1b7ec514STakashi Iwai	  read access, such as whether the values returned from the driver
198*1b7ec514STakashi Iwai	  are in the proper ranges or the check of the invalid access at
199*1b7ec514STakashi Iwai	  out-of-array areas.  The error is printed when the driver gives
200*1b7ec514STakashi Iwai	  such unexpected values.
201*1b7ec514STakashi Iwai	  When you develop a driver that deals with control elements, it's
202*1b7ec514STakashi Iwai	  strongly recommended to try this one once and verify whether you see
203*1b7ec514STakashi Iwai	  any relevant errors or not.
204fbd3eb7fSTakashi Iwai
2052d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG
2062d670ea2SHui Wang	bool "Sound jack injection interface via debugfs"
2072d670ea2SHui Wang	depends on SND_JACK && SND_DEBUG && DEBUG_FS
2082d670ea2SHui Wang	help
2092d670ea2SHui Wang	  This option can be used to enable or disable sound jack
2102d670ea2SHui Wang	  software injection.
2112d670ea2SHui Wang	  Say Y if you are debugging via jack injection interface.
2122d670ea2SHui Wang	  If unsure select "N".
2132d670ea2SHui Wang
214e922b002STakashi Iwaiconfig SND_VMASTER
215e922b002STakashi Iwai	bool
2160528c749SMichal Marek
217cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF
218cc6a8acdSTakashi Iwai	def_bool y
219cc6a8acdSTakashi Iwai	depends on X86
220cc6a8acdSTakashi Iwai
22122d8de62SJaroslav Kyselaconfig SND_CTL_LED
22222d8de62SJaroslav Kysela	tristate
22322d8de62SJaroslav Kysela	select NEW_LEDS if SND_CTL_LED
22422d8de62SJaroslav Kysela	select LEDS_TRIGGERS if SND_CTL_LED
22522d8de62SJaroslav Kysela	select LEDS_TRIGGER_AUDIO if SND_CTL_LED
22622d8de62SJaroslav Kysela
2270528c749SMichal Mareksource "sound/core/seq/Kconfig"
228