1# SPDX-License-Identifier: GPL-2.0-only 2# ALSA soundcard-configuration 3config SND_TIMER 4 tristate 5 6config SND_PCM 7 tristate 8 select SND_TIMER if SND_PCM_TIMER 9 10config SND_PCM_ELD 11 bool 12 13config SND_PCM_IEC958 14 bool 15 16config SND_DMAENGINE_PCM 17 tristate 18 19config SND_HWDEP 20 tristate 21 22config SND_SEQ_DEVICE 23 tristate 24 25config SND_RAWMIDI 26 tristate 27 select SND_SEQ_DEVICE if SND_SEQUENCER != n 28 29config SND_UMP 30 tristate 31 select SND_RAWMIDI 32 33config 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 42config SND_CORE_TEST 43 tristate "Sound core KUnit test" 44 depends on KUNIT 45 select SND_PCM 46 default KUNIT_ALL_TESTS 47 help 48 This options enables the sound core functions KUnit test. 49 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. 54 55 For more information on KUnit and unit tests in general, refer 56 to the KUnit documentation in Documentation/dev-tools/kunit/. 57 58 59config SND_COMPRESS_OFFLOAD 60 tristate 61 62config SND_COMPRESS_ACCEL 63 bool 64 65config SND_JACK 66 bool 67 68# enable input device support in jack layer 69config SND_JACK_INPUT_DEV 70 bool 71 depends on SND_JACK 72 default y if INPUT=y || INPUT=SND 73 74config SND_OSSEMUL 75 bool "Enable OSS Emulation" 76 select SOUND_OSS_CORE 77 help 78 This option enables the build of OSS emulation layer. 79 80config SND_MIXER_OSS 81 tristate "OSS Mixer API" 82 depends on SND_OSSEMUL 83 help 84 To enable OSS mixer API emulation (/dev/mixer*), say Y here 85 and read <file:Documentation/sound/designs/oss-emulation.rst>. 86 87 Many programs still use the OSS API, so say Y. 88 89 To compile this driver as a module, choose M here: the module 90 will be called snd-mixer-oss. 91 92config SND_PCM_OSS 93 tristate "OSS PCM (digital audio) API" 94 depends on SND_OSSEMUL 95 select SND_PCM 96 help 97 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 98 here and read <file:Documentation/sound/designs/oss-emulation.rst>. 99 100 Many programs still use the OSS API, so say Y. 101 102 To compile this driver as a module, choose M here: the module 103 will be called snd-pcm-oss. 104 105config SND_PCM_OSS_PLUGINS 106 bool "OSS PCM (digital audio) API - Include plugin system" 107 depends on SND_PCM_OSS 108 default y 109 help 110 If you disable this option, the ALSA's OSS PCM API will not 111 support conversion of channels, formats and rates. It will 112 behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 113 114config SND_PCM_TIMER 115 bool "PCM timer interface" if EXPERT 116 default y 117 help 118 If you disable this option, pcm timer will be unavailable, so 119 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 120 incorrectly. 121 122 For some embedded devices, we may disable it to reduce memory 123 footprint, about 20KB on x86_64 platform. 124 125config SND_HRTIMER 126 tristate "HR-timer backend support" 127 depends on HIGH_RES_TIMERS 128 select SND_TIMER 129 help 130 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 131 the hrtimer as a precise timing source. The ALSA sequencer code 132 also can use this timing source. 133 134 To compile this driver as a module, choose M here: the module 135 will be called snd-hrtimer. 136 137config SND_DYNAMIC_MINORS 138 bool "Dynamic device file minor numbers" 139 help 140 If you say Y here, the minor numbers of ALSA device files in 141 /dev/snd/ are allocated dynamically. This allows you to have 142 more than 8 sound cards, but requires a dynamic device file 143 system like udev. 144 145 If you are unsure about this, say N here. 146 147config SND_MAX_CARDS 148 int "Max number of sound cards" 149 range 4 256 150 default 32 151 depends on SND_DYNAMIC_MINORS 152 help 153 Specify the max number of sound cards that can be assigned 154 on a single machine. 155 156config SND_SUPPORT_OLD_API 157 bool "Support old ALSA API" 158 default y 159 help 160 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 161 or older). 162 163config SND_PROC_FS 164 bool "Sound Proc FS Support" if EXPERT 165 depends on PROC_FS 166 default y 167 help 168 Say 'N' to disable Sound proc FS, which may reduce code size about 169 9KB on x86_64 platform. 170 If unsure say Y. 171 172config SND_VERBOSE_PROCFS 173 bool "Verbose procfs contents" 174 depends on SND_PROC_FS 175 default y 176 help 177 Say Y here to include code for verbose procfs contents (provides 178 useful information to developers when a problem occurs). On the 179 other side, it makes the ALSA subsystem larger. 180 181config SND_CTL_FAST_LOOKUP 182 bool "Fast lookup of control elements" if EXPERT 183 default y 184 select XARRAY_MULTI 185 help 186 This option enables the faster lookup of control elements. 187 It will consume more memory because of the additional Xarray. 188 If you want to choose the memory footprint over the performance 189 inevitably, turn this off. 190 191config SND_DEBUG 192 bool "Debug" 193 help 194 Say Y here to enable ALSA debug code. 195 196config SND_DEBUG_VERBOSE 197 bool "More verbose debug" 198 depends on SND_DEBUG 199 help 200 Say Y here to enable extra-verbose debugging messages. 201 202 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 203 So, say Y only if you are ready to be annoyed. 204 205config SND_PCM_XRUN_DEBUG 206 bool "Enable PCM ring buffer overrun/underrun debugging" 207 default n 208 depends on SND_DEBUG && SND_VERBOSE_PROCFS 209 help 210 Say Y to enable the PCM ring buffer overrun/underrun debugging. 211 It is usually not required, but if you have trouble with 212 sound clicking when system is loaded, it may help to determine 213 the process or driver which causes the scheduling gaps. 214 215config SND_CTL_INPUT_VALIDATION 216 bool "Validate input data to control API" 217 help 218 Say Y to enable the additional validation for the input data to 219 each control element, including the value range checks. 220 An error is returned from ALSA core for invalid inputs without 221 passing to the driver. This is a kind of hardening for drivers 222 that have no proper error checks, at the cost of a slight 223 performance overhead. 224 225config SND_CTL_DEBUG 226 bool "Enable debugging feature for control API" 227 depends on SND_DEBUG 228 help 229 Say Y to enable the debugging feature for ALSA control API. 230 It performs the additional sanity-checks for each control element 231 read access, such as whether the values returned from the driver 232 are in the proper ranges or the check of the invalid access at 233 out-of-array areas. The error is printed when the driver gives 234 such unexpected values. 235 When you develop a driver that deals with control elements, it's 236 strongly recommended to try this one once and verify whether you see 237 any relevant errors or not. 238 239config SND_JACK_INJECTION_DEBUG 240 bool "Sound jack injection interface via debugfs" 241 depends on SND_JACK && SND_DEBUG && DEBUG_FS 242 help 243 This option can be used to enable or disable sound jack 244 software injection. 245 Say Y if you are debugging via jack injection interface. 246 If unsure select "N". 247 248config SND_UTIMER 249 bool "Enable support for userspace-controlled virtual timers" 250 depends on SND_TIMER 251 help 252 Say Y to enable the support of userspace-controlled timers. These 253 timers are purely virtual, and they are supposed to be triggered 254 from userspace. They could be quite useful when synchronizing the 255 sound timing with userspace applications (for instance, when sending 256 data through snd-aloop). 257 258config SND_VMASTER 259 bool 260 261config SND_DMA_SGBUF 262 def_bool y 263 depends on X86 264 265config SND_CTL_LED 266 tristate 267 select NEW_LEDS if SND_CTL_LED 268 select LEDS_TRIGGERS if SND_CTL_LED 269 270source "sound/core/seq/Kconfig" 271