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_JACK 63 bool 64 65# enable input device support in jack layer 66config SND_JACK_INPUT_DEV 67 bool 68 depends on SND_JACK 69 default y if INPUT=y || INPUT=SND 70 71config SND_OSSEMUL 72 bool "Enable OSS Emulation" 73 select SOUND_OSS_CORE 74 help 75 This option enables the build of OSS emulation layer. 76 77config SND_MIXER_OSS 78 tristate "OSS Mixer API" 79 depends on SND_OSSEMUL 80 help 81 To enable OSS mixer API emulation (/dev/mixer*), say Y here 82 and read <file:Documentation/sound/designs/oss-emulation.rst>. 83 84 Many programs still use the OSS API, so say Y. 85 86 To compile this driver as a module, choose M here: the module 87 will be called snd-mixer-oss. 88 89config SND_PCM_OSS 90 tristate "OSS PCM (digital audio) API" 91 depends on SND_OSSEMUL 92 select SND_PCM 93 help 94 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 95 here and read <file:Documentation/sound/designs/oss-emulation.rst>. 96 97 Many programs still use the OSS API, so say Y. 98 99 To compile this driver as a module, choose M here: the module 100 will be called snd-pcm-oss. 101 102config SND_PCM_OSS_PLUGINS 103 bool "OSS PCM (digital audio) API - Include plugin system" 104 depends on SND_PCM_OSS 105 default y 106 help 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. 110 111config SND_PCM_TIMER 112 bool "PCM timer interface" if EXPERT 113 default y 114 help 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 117 incorrectly. 118 119 For some embedded devices, we may disable it to reduce memory 120 footprint, about 20KB on x86_64 platform. 121 122config SND_HRTIMER 123 tristate "HR-timer backend support" 124 depends on HIGH_RES_TIMERS 125 select SND_TIMER 126 help 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. 130 131 To compile this driver as a module, choose M here: the module 132 will be called snd-hrtimer. 133 134config SND_DYNAMIC_MINORS 135 bool "Dynamic device file minor numbers" 136 help 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 140 system like udev. 141 142 If you are unsure about this, say N here. 143 144config SND_MAX_CARDS 145 int "Max number of sound cards" 146 range 4 256 147 default 32 148 depends on SND_DYNAMIC_MINORS 149 help 150 Specify the max number of sound cards that can be assigned 151 on a single machine. 152 153config SND_SUPPORT_OLD_API 154 bool "Support old ALSA API" 155 default y 156 help 157 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 158 or older). 159 160config SND_PROC_FS 161 bool "Sound Proc FS Support" if EXPERT 162 depends on PROC_FS 163 default y 164 help 165 Say 'N' to disable Sound proc FS, which may reduce code size about 166 9KB on x86_64 platform. 167 If unsure say Y. 168 169config SND_VERBOSE_PROCFS 170 bool "Verbose procfs contents" 171 depends on SND_PROC_FS 172 default y 173 help 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. 177 178config SND_CTL_FAST_LOOKUP 179 bool "Fast lookup of control elements" if EXPERT 180 default y 181 select XARRAY_MULTI 182 help 183 This option enables the faster lookup of control elements. 184 It will consume more memory because of the additional Xarray. 185 If you want to choose the memory footprint over the performance 186 inevitably, turn this off. 187 188config SND_DEBUG 189 bool "Debug" 190 help 191 Say Y here to enable ALSA debug code. 192 193config SND_DEBUG_VERBOSE 194 bool "More verbose debug" 195 depends on SND_DEBUG 196 help 197 Say Y here to enable extra-verbose debugging messages. 198 199 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 200 So, say Y only if you are ready to be annoyed. 201 202config SND_PCM_XRUN_DEBUG 203 bool "Enable PCM ring buffer overrun/underrun debugging" 204 default n 205 depends on SND_DEBUG && SND_VERBOSE_PROCFS 206 help 207 Say Y to enable the PCM ring buffer overrun/underrun debugging. 208 It is usually not required, but if you have trouble with 209 sound clicking when system is loaded, it may help to determine 210 the process or driver which causes the scheduling gaps. 211 212config SND_CTL_INPUT_VALIDATION 213 bool "Validate input data to control API" 214 help 215 Say Y to enable the additional validation for the input data to 216 each control element, including the value range checks. 217 An error is returned from ALSA core for invalid inputs without 218 passing to the driver. This is a kind of hardening for drivers 219 that have no proper error checks, at the cost of a slight 220 performance overhead. 221 222config SND_CTL_DEBUG 223 bool "Enable debugging feature for control API" 224 depends on SND_DEBUG 225 help 226 Say Y to enable the debugging feature for ALSA control API. 227 It performs the additional sanity-checks for each control element 228 read access, such as whether the values returned from the driver 229 are in the proper ranges or the check of the invalid access at 230 out-of-array areas. The error is printed when the driver gives 231 such unexpected values. 232 When you develop a driver that deals with control elements, it's 233 strongly recommended to try this one once and verify whether you see 234 any relevant errors or not. 235 236config SND_JACK_INJECTION_DEBUG 237 bool "Sound jack injection interface via debugfs" 238 depends on SND_JACK && SND_DEBUG && DEBUG_FS 239 help 240 This option can be used to enable or disable sound jack 241 software injection. 242 Say Y if you are debugging via jack injection interface. 243 If unsure select "N". 244 245config SND_UTIMER 246 bool "Enable support for userspace-controlled virtual timers" 247 depends on SND_TIMER 248 help 249 Say Y to enable the support of userspace-controlled timers. These 250 timers are purely virtual, and they are supposed to be triggered 251 from userspace. They could be quite useful when synchronizing the 252 sound timing with userspace applications (for instance, when sending 253 data through snd-aloop). 254 255config SND_VMASTER 256 bool 257 258config SND_DMA_SGBUF 259 def_bool y 260 depends on X86 261 262config SND_CTL_LED 263 tristate 264 select NEW_LEDS if SND_CTL_LED 265 select LEDS_TRIGGERS if SND_CTL_LED 266 267source "sound/core/seq/Kconfig" 268