blob: e41818e59a1585e1bd164e094118e0e9d5ffce2c [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Linus Torvalds1da177e2005-04-16 15:20:36 -07002# ALSA soundcard-configuration
3config SND_TIMER
4 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
6config SND_PCM
7 tristate
Jie Yang90bbaf62015-10-16 17:57:46 +08008 select SND_TIMER if SND_PCM_TIMER
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Russell King838d1632015-05-09 11:26:42 +010010config SND_PCM_ELD
11 bool
12
Russell King9203dd02015-05-09 11:26:47 +010013config SND_PCM_IEC958
14 bool
15
Daniel Mackb7ae6f32013-08-12 10:42:37 +020016config SND_DMAENGINE_PCM
Daniel Mack903eb312013-08-15 16:03:52 +020017 tristate
Daniel Mackb7ae6f32013-08-12 10:42:37 +020018
Linus Torvalds1da177e2005-04-16 15:20:36 -070019config SND_HWDEP
20 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Takashi Iwai111b0cd2017-06-09 15:11:58 +020022config SND_SEQ_DEVICE
23 tristate
24
Linus Torvalds1da177e2005-04-16 15:20:36 -070025config SND_RAWMIDI
26 tristate
Takashi Iwai111b0cd2017-06-09 15:11:58 +020027 select SND_SEQ_DEVICE if SND_SEQUENCER != n
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Takashi Iwaie3a8a5b2023-05-23 09:53:24 +020029config SND_UMP
30 tristate
31 select SND_RAWMIDI
32
Takashi Iwai0b5288f2023-05-23 09:53:35 +020033config SND_UMP_LEGACY_RAWMIDI
34 bool "Legacy raw MIDI support for UMP streams"
35 depends on SND_UMP
36 help
37 This option enables the legacy raw MIDI support for UMP streams.
38 When this option is set, an additional rawmidi device for the
39 legacy MIDI 1.0 byte streams is created for each UMP Endpoint.
40 The device contains 16 substreams corresponding to UMP groups.
41
Takashi Iwai5c845be2012-01-13 09:53:53 +010042config SND_COMPRESS_OFFLOAD
43 tristate
44
Mark Brown0d94e412008-07-28 19:05:36 +010045config SND_JACK
46 bool
47
Takashi Iwaife0d1282016-02-17 09:44:25 +010048# enable input device support in jack layer
49config SND_JACK_INPUT_DEV
50 bool
51 depends on SND_JACK
52 default y if INPUT=y || INPUT=SND
53
Linus Torvalds1da177e2005-04-16 15:20:36 -070054config SND_OSSEMUL
Takashi Iwaieb3b7052017-06-09 13:56:05 +020055 bool "Enable OSS Emulation"
Tejun Heod886e872008-08-28 16:42:51 +020056 select SOUND_OSS_CORE
Takashi Iwaieb3b7052017-06-09 13:56:05 +020057 help
58 This option enables the build of OSS emulation layer.
Linus Torvalds1da177e2005-04-16 15:20:36 -070059
60config SND_MIXER_OSS
61 tristate "OSS Mixer API"
Takashi Iwaieb3b7052017-06-09 13:56:05 +020062 depends on SND_OSSEMUL
Linus Torvalds1da177e2005-04-16 15:20:36 -070063 help
64 To enable OSS mixer API emulation (/dev/mixer*), say Y here
Mauro Carvalho Chehab5fb94e92018-05-08 15:14:57 -030065 and read <file:Documentation/sound/designs/oss-emulation.rst>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070066
67 Many programs still use the OSS API, so say Y.
68
69 To compile this driver as a module, choose M here: the module
70 will be called snd-mixer-oss.
71
72config SND_PCM_OSS
73 tristate "OSS PCM (digital audio) API"
Takashi Iwaieb3b7052017-06-09 13:56:05 +020074 depends on SND_OSSEMUL
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 select SND_PCM
76 help
77 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
Mauro Carvalho Chehab5fb94e92018-05-08 15:14:57 -030078 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
80 Many programs still use the OSS API, so say Y.
81
82 To compile this driver as a module, choose M here: the module
83 will be called snd-pcm-oss.
84
Jaroslav Kysela21a34792006-01-13 09:12:11 +010085config SND_PCM_OSS_PLUGINS
86 bool "OSS PCM (digital audio) API - Include plugin system"
87 depends on SND_PCM_OSS
Krzysztof Kozlowski82e8d722019-10-04 16:49:31 +020088 default y
Jaroslav Kysela21a34792006-01-13 09:12:11 +010089 help
Krzysztof Kozlowski82e8d722019-10-04 16:49:31 +020090 If you disable this option, the ALSA's OSS PCM API will not
91 support conversion of channels, formats and rates. It will
92 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
Jaroslav Kysela21a34792006-01-13 09:12:11 +010093
Jie Yang90bbaf62015-10-16 17:57:46 +080094config SND_PCM_TIMER
95 bool "PCM timer interface" if EXPERT
96 default y
97 help
Randy Dunlapac1efcf2016-01-27 18:04:10 -080098 If you disable this option, pcm timer will be unavailable, so
99 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
Elijah Hardinga893b7f2022-03-17 18:52:01 -0700100 incorrectly.
Jie Yang90bbaf62015-10-16 17:57:46 +0800101
Randy Dunlapac1efcf2016-01-27 18:04:10 -0800102 For some embedded devices, we may disable it to reduce memory
Jie Yang90bbaf62015-10-16 17:57:46 +0800103 footprint, about 20KB on x86_64 platform.
104
Takashi Iwaibbaf5e92008-10-24 18:16:50 +0200105config SND_HRTIMER
106 tristate "HR-timer backend support"
107 depends on HIGH_RES_TIMERS
108 select SND_TIMER
109 help
110 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
111 the hrtimer as a precise timing source. The ALSA sequencer code
112 also can use this timing source.
113
114 To compile this driver as a module, choose M here: the module
115 will be called snd-hrtimer.
116
Clemens Ladisch332682b2005-11-20 14:07:47 +0100117config SND_DYNAMIC_MINORS
Clemens Ladischb10e5392006-06-27 08:41:26 +0200118 bool "Dynamic device file minor numbers"
Clemens Ladisch332682b2005-11-20 14:07:47 +0100119 help
120 If you say Y here, the minor numbers of ALSA device files in
121 /dev/snd/ are allocated dynamically. This allows you to have
122 more than 8 sound cards, but requires a dynamic device file
123 system like udev.
124
125 If you are unsure about this, say N here.
126
Takashi Iwai7bb24912013-05-15 08:46:39 +0200127config SND_MAX_CARDS
128 int "Max number of sound cards"
129 range 4 256
130 default 32
131 depends on SND_DYNAMIC_MINORS
132 help
133 Specify the max number of sound cards that can be assigned
134 on a single machine.
135
Takashi Iwai59d48582005-12-01 10:51:58 +0100136config SND_SUPPORT_OLD_API
137 bool "Support old ALSA API"
Takashi Iwai59d48582005-12-01 10:51:58 +0100138 default y
139 help
140 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
141 or older).
142
Jie Yange0ecb052015-05-27 19:45:44 +0800143config SND_PROC_FS
Krzysztof Kozlowski82e8d722019-10-04 16:49:31 +0200144 bool "Sound Proc FS Support" if EXPERT
145 depends on PROC_FS
146 default y
147 help
148 Say 'N' to disable Sound proc FS, which may reduce code size about
149 9KB on x86_64 platform.
150 If unsure say Y.
Jie Yange0ecb052015-05-27 19:45:44 +0800151
Jaroslav Kysela21a34792006-01-13 09:12:11 +0100152config SND_VERBOSE_PROCFS
153 bool "Verbose procfs contents"
Jie Yange0ecb052015-05-27 19:45:44 +0800154 depends on SND_PROC_FS
Jaroslav Kysela21a34792006-01-13 09:12:11 +0100155 default y
156 help
157 Say Y here to include code for verbose procfs contents (provides
Krzysztof Kozlowski82e8d722019-10-04 16:49:31 +0200158 useful information to developers when a problem occurs). On the
159 other side, it makes the ALSA subsystem larger.
Jaroslav Kysela21a34792006-01-13 09:12:11 +0100160
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161config SND_VERBOSE_PRINTK
162 bool "Verbose printk"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163 help
164 Say Y here to enable verbose log messages. These messages
165 will help to identify source file and position containing
166 printed messages.
167
168 You don't need this unless you're debugging ALSA.
169
Takashi Iwaic27e1ef2022-06-10 08:45:37 +0200170config SND_CTL_FAST_LOOKUP
171 bool "Fast lookup of control elements" if EXPERT
172 default y
173 select XARRAY_MULTI
174 help
175 This option enables the faster lookup of control elements.
176 It will consume more memory because of the additional Xarray.
177 If you want to choose the memory footprint over the performance
178 inevitably, turn this off.
179
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180config SND_DEBUG
181 bool "Debug"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182 help
183 Say Y here to enable ALSA debug code.
184
Takashi Iwai62cf8722008-05-20 12:15:15 +0200185config SND_DEBUG_VERBOSE
186 bool "More verbose debug"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187 depends on SND_DEBUG
188 help
Takashi Iwai62cf8722008-05-20 12:15:15 +0200189 Say Y here to enable extra-verbose debugging messages.
Krzysztof Kozlowski82e8d722019-10-04 16:49:31 +0200190
Takashi Iwai62cf8722008-05-20 12:15:15 +0200191 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
192 So, say Y only if you are ready to be annoyed.
Jaroslav Kysela61fb63c2006-04-24 21:57:16 +0200193
194config SND_PCM_XRUN_DEBUG
195 bool "Enable PCM ring buffer overrun/underrun debugging"
196 default n
Takashi Iwaib7d90a32006-04-25 12:56:04 +0200197 depends on SND_DEBUG && SND_VERBOSE_PROCFS
Jaroslav Kysela61fb63c2006-04-24 21:57:16 +0200198 help
199 Say Y to enable the PCM ring buffer overrun/underrun debugging.
200 It is usually not required, but if you have trouble with
201 sound clicking when system is loaded, it may help to determine
202 the process or driver which causes the scheduling gaps.
Takashi Iwaie922b002008-02-18 13:03:13 +0100203
Takashi Iwaif5e829f2022-06-09 14:02:19 +0200204config SND_CTL_INPUT_VALIDATION
205 bool "Validate input data to control API"
206 help
207 Say Y to enable the additional validation for the input data to
208 each control element, including the value range checks.
209 An error is returned from ALSA core for invalid inputs without
210 passing to the driver. This is a kind of hardening for drivers
211 that have no proper error checks, at the cost of a slight
212 performance overhead.
213
Takashi Iwai1b7ec512022-06-09 14:02:17 +0200214config SND_CTL_DEBUG
215 bool "Enable debugging feature for control API"
Takashi Iwaifbd3eb72020-01-04 09:35:56 +0100216 depends on SND_DEBUG
217 help
Takashi Iwai1b7ec512022-06-09 14:02:17 +0200218 Say Y to enable the debugging feature for ALSA control API.
219 It performs the additional sanity-checks for each control element
220 read access, such as whether the values returned from the driver
221 are in the proper ranges or the check of the invalid access at
222 out-of-array areas. The error is printed when the driver gives
223 such unexpected values.
224 When you develop a driver that deals with control elements, it's
225 strongly recommended to try this one once and verify whether you see
226 any relevant errors or not.
Takashi Iwaifbd3eb72020-01-04 09:35:56 +0100227
Hui Wang2d670ea2021-01-27 16:56:39 +0800228config SND_JACK_INJECTION_DEBUG
229 bool "Sound jack injection interface via debugfs"
230 depends on SND_JACK && SND_DEBUG && DEBUG_FS
231 help
232 This option can be used to enable or disable sound jack
233 software injection.
234 Say Y if you are debugging via jack injection interface.
235 If unsure select "N".
236
Takashi Iwaie922b002008-02-18 13:03:13 +0100237config SND_VMASTER
238 bool
Michal Marek0528c742009-05-26 17:07:52 +0200239
Takashi Iwaicc6a8ac2008-06-17 16:39:06 +0200240config SND_DMA_SGBUF
241 def_bool y
242 depends on X86
243
Jaroslav Kysela22d8de62021-03-17 18:29:42 +0100244config SND_CTL_LED
245 tristate
246 select NEW_LEDS if SND_CTL_LED
247 select LEDS_TRIGGERS if SND_CTL_LED
248 select LEDS_TRIGGER_AUDIO if SND_CTL_LED
249
Michal Marek0528c742009-05-26 17:07:52 +0200250source "sound/core/seq/Kconfig"