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_VERBOSE_PRINTK 179 bool "Verbose printk" 180 help 181 Say Y here to enable verbose log messages. These messages 182 will help to identify source file and position containing 183 printed messages. 184 185 You don't need this unless you're debugging ALSA. 186 187config SND_CTL_FAST_LOOKUP 188 bool "Fast lookup of control elements" if EXPERT 189 default y 190 select XARRAY_MULTI 191 help 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. 196 197config SND_DEBUG 198 bool "Debug" 199 help 200 Say Y here to enable ALSA debug code. 201 202config SND_DEBUG_VERBOSE 203 bool "More verbose debug" 204 depends on SND_DEBUG 205 help 206 Say Y here to enable extra-verbose debugging messages. 207 208 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 209 So, say Y only if you are ready to be annoyed. 210 211config SND_PCM_XRUN_DEBUG 212 bool "Enable PCM ring buffer overrun/underrun debugging" 213 default n 214 depends on SND_DEBUG && SND_VERBOSE_PROCFS 215 help 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. 220 221config SND_CTL_INPUT_VALIDATION 222 bool "Validate input data to control API" 223 help 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. 230 231config SND_CTL_DEBUG 232 bool "Enable debugging feature for control API" 233 depends on SND_DEBUG 234 help 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. 244 245config SND_JACK_INJECTION_DEBUG 246 bool "Sound jack injection interface via debugfs" 247 depends on SND_JACK && SND_DEBUG && DEBUG_FS 248 help 249 This option can be used to enable or disable sound jack 250 software injection. 251 Say Y if you are debugging via jack injection interface. 252 If unsure select "N". 253 254config SND_VMASTER 255 bool 256 257config SND_DMA_SGBUF 258 def_bool y 259 depends on X86 260 261config SND_CTL_LED 262 tristate 263 select NEW_LEDS if SND_CTL_LED 264 select LEDS_TRIGGERS if SND_CTL_LED 265 select LEDS_TRIGGER_AUDIO if SND_CTL_LED 266 267source "sound/core/seq/Kconfig" 268