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_COMPRESS_OFFLOAD 43 tristate 44 45config SND_JACK 46 bool 47 48# 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 54config SND_OSSEMUL 55 bool "Enable OSS Emulation" 56 select SOUND_OSS_CORE 57 help 58 This option enables the build of OSS emulation layer. 59 60config SND_MIXER_OSS 61 tristate "OSS Mixer API" 62 depends on SND_OSSEMUL 63 help 64 To enable OSS mixer API emulation (/dev/mixer*), say Y here 65 and read <file:Documentation/sound/designs/oss-emulation.rst>. 66 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" 74 depends on SND_OSSEMUL 75 select SND_PCM 76 help 77 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 78 here and read <file:Documentation/sound/designs/oss-emulation.rst>. 79 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 85config SND_PCM_OSS_PLUGINS 86 bool "OSS PCM (digital audio) API - Include plugin system" 87 depends on SND_PCM_OSS 88 default y 89 help 90 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. 93 94config SND_PCM_TIMER 95 bool "PCM timer interface" if EXPERT 96 default y 97 help 98 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 100 incorrectly. 101 102 For some embedded devices, we may disable it to reduce memory 103 footprint, about 20KB on x86_64 platform. 104 105config 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 117config SND_DYNAMIC_MINORS 118 bool "Dynamic device file minor numbers" 119 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 127config 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 136config SND_SUPPORT_OLD_API 137 bool "Support old ALSA API" 138 default y 139 help 140 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 141 or older). 142 143config SND_PROC_FS 144 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. 151 152config SND_VERBOSE_PROCFS 153 bool "Verbose procfs contents" 154 depends on SND_PROC_FS 155 default y 156 help 157 Say Y here to include code for verbose procfs contents (provides 158 useful information to developers when a problem occurs). On the 159 other side, it makes the ALSA subsystem larger. 160 161config SND_VERBOSE_PRINTK 162 bool "Verbose printk" 163 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 170config 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 180config SND_DEBUG 181 bool "Debug" 182 help 183 Say Y here to enable ALSA debug code. 184 185config SND_DEBUG_VERBOSE 186 bool "More verbose debug" 187 depends on SND_DEBUG 188 help 189 Say Y here to enable extra-verbose debugging messages. 190 191 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 192 So, say Y only if you are ready to be annoyed. 193 194config SND_PCM_XRUN_DEBUG 195 bool "Enable PCM ring buffer overrun/underrun debugging" 196 default n 197 depends on SND_DEBUG && SND_VERBOSE_PROCFS 198 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. 203 204config 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 214config SND_CTL_DEBUG 215 bool "Enable debugging feature for control API" 216 depends on SND_DEBUG 217 help 218 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. 227 228config 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 237config SND_VMASTER 238 bool 239 240config SND_DMA_SGBUF 241 def_bool y 242 depends on X86 243 244config 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 250source "sound/core/seq/Kconfig" 251