1 # SPDX-License-Identifier: GPL-2.0-only
2 # ALSA soundcard-configuration
8 select SND_TIMER if SND_PCM_TIMER
16 config SND_DMAENGINE_PCM
27 select SND_SEQ_DEVICE if SND_SEQUENCER != n
33 config SND_UMP_LEGACY_RAWMIDI
34 bool "Legacy raw MIDI support for UMP streams"
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.
43 tristate "Sound core KUnit test"
46 default KUNIT_ALL_TESTS
48 This options enables the sound core functions KUnit test.
50 KUnit tests run during boot and output the results to the debug
51 log in TAP format (https://testanything.org/). Only useful for
52 kernel devs running KUnit test harness and are not for inclusion
53 into a production build.
55 For more information on KUnit and unit tests in general, refer
56 to the KUnit documentation in Documentation/dev-tools/kunit/.
59 config SND_COMPRESS_OFFLOAD
65 # enable input device support in jack layer
66 config SND_JACK_INPUT_DEV
69 default y if INPUT=y || INPUT=SND
72 bool "Enable OSS Emulation"
75 This option enables the build of OSS emulation layer.
78 tristate "OSS Mixer API"
79 depends on SND_OSSEMUL
81 To enable OSS mixer API emulation (/dev/mixer*), say Y here
82 and read <file:Documentation/sound/designs/oss-emulation.rst>.
84 Many programs still use the OSS API, so say Y.
86 To compile this driver as a module, choose M here: the module
87 will be called snd-mixer-oss.
90 tristate "OSS PCM (digital audio) API"
91 depends on SND_OSSEMUL
94 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
95 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
97 Many programs still use the OSS API, so say Y.
99 To compile this driver as a module, choose M here: the module
100 will be called snd-pcm-oss.
102 config SND_PCM_OSS_PLUGINS
103 bool "OSS PCM (digital audio) API - Include plugin system"
104 depends on SND_PCM_OSS
107 If you disable this option, the ALSA's OSS PCM API will not
108 support conversion of channels, formats and rates. It will
109 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
112 bool "PCM timer interface" if EXPERT
115 If you disable this option, pcm timer will be unavailable, so
116 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
119 For some embedded devices, we may disable it to reduce memory
120 footprint, about 20KB on x86_64 platform.
123 tristate "HR-timer backend support"
124 depends on HIGH_RES_TIMERS
127 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
128 the hrtimer as a precise timing source. The ALSA sequencer code
129 also can use this timing source.
131 To compile this driver as a module, choose M here: the module
132 will be called snd-hrtimer.
134 config SND_DYNAMIC_MINORS
135 bool "Dynamic device file minor numbers"
137 If you say Y here, the minor numbers of ALSA device files in
138 /dev/snd/ are allocated dynamically. This allows you to have
139 more than 8 sound cards, but requires a dynamic device file
142 If you are unsure about this, say N here.
145 int "Max number of sound cards"
148 depends on SND_DYNAMIC_MINORS
150 Specify the max number of sound cards that can be assigned
153 config SND_SUPPORT_OLD_API
154 bool "Support old ALSA API"
157 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
161 bool "Sound Proc FS Support" if EXPERT
165 Say 'N' to disable Sound proc FS, which may reduce code size about
166 9KB on x86_64 platform.
169 config SND_VERBOSE_PROCFS
170 bool "Verbose procfs contents"
171 depends on SND_PROC_FS
174 Say Y here to include code for verbose procfs contents (provides
175 useful information to developers when a problem occurs). On the
176 other side, it makes the ALSA subsystem larger.
178 config SND_VERBOSE_PRINTK
179 bool "Verbose printk"
181 Say Y here to enable verbose log messages. These messages
182 will help to identify source file and position containing
185 You don't need this unless you're debugging ALSA.
187 config SND_CTL_FAST_LOOKUP
188 bool "Fast lookup of control elements" if EXPERT
192 This option enables the faster lookup of control elements.
193 It will consume more memory because of the additional Xarray.
194 If you want to choose the memory footprint over the performance
195 inevitably, turn this off.
200 Say Y here to enable ALSA debug code.
202 config SND_DEBUG_VERBOSE
203 bool "More verbose debug"
206 Say Y here to enable extra-verbose debugging messages.
208 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
209 So, say Y only if you are ready to be annoyed.
211 config SND_PCM_XRUN_DEBUG
212 bool "Enable PCM ring buffer overrun/underrun debugging"
214 depends on SND_DEBUG && SND_VERBOSE_PROCFS
216 Say Y to enable the PCM ring buffer overrun/underrun debugging.
217 It is usually not required, but if you have trouble with
218 sound clicking when system is loaded, it may help to determine
219 the process or driver which causes the scheduling gaps.
221 config SND_CTL_INPUT_VALIDATION
222 bool "Validate input data to control API"
224 Say Y to enable the additional validation for the input data to
225 each control element, including the value range checks.
226 An error is returned from ALSA core for invalid inputs without
227 passing to the driver. This is a kind of hardening for drivers
228 that have no proper error checks, at the cost of a slight
229 performance overhead.
232 bool "Enable debugging feature for control API"
235 Say Y to enable the debugging feature for ALSA control API.
236 It performs the additional sanity-checks for each control element
237 read access, such as whether the values returned from the driver
238 are in the proper ranges or the check of the invalid access at
239 out-of-array areas. The error is printed when the driver gives
240 such unexpected values.
241 When you develop a driver that deals with control elements, it's
242 strongly recommended to try this one once and verify whether you see
243 any relevant errors or not.
245 config SND_JACK_INJECTION_DEBUG
246 bool "Sound jack injection interface via debugfs"
247 depends on SND_JACK && SND_DEBUG && DEBUG_FS
249 This option can be used to enable or disable sound jack
251 Say Y if you are debugging via jack injection interface.
252 If unsure select "N".
263 select NEW_LEDS if SND_CTL_LED
264 select LEDS_TRIGGERS if SND_CTL_LED
266 source "sound/core/seq/Kconfig"