0001 # SPDX-License-Identifier: GPL-2.0-only
0002 # ALSA soundcard-configuration
0003 config SND_TIMER
0004 tristate
0005
0006 config SND_PCM
0007 tristate
0008 select SND_TIMER if SND_PCM_TIMER
0009
0010 config SND_PCM_ELD
0011 bool
0012
0013 config SND_PCM_IEC958
0014 bool
0015
0016 config SND_DMAENGINE_PCM
0017 tristate
0018
0019 config SND_HWDEP
0020 tristate
0021
0022 config SND_SEQ_DEVICE
0023 tristate
0024
0025 config SND_RAWMIDI
0026 tristate
0027 select SND_SEQ_DEVICE if SND_SEQUENCER != n
0028
0029 config SND_COMPRESS_OFFLOAD
0030 tristate
0031
0032 config SND_JACK
0033 bool
0034
0035 # enable input device support in jack layer
0036 config SND_JACK_INPUT_DEV
0037 bool
0038 depends on SND_JACK
0039 default y if INPUT=y || INPUT=SND
0040
0041 config SND_OSSEMUL
0042 bool "Enable OSS Emulation"
0043 select SOUND_OSS_CORE
0044 help
0045 This option enables the build of OSS emulation layer.
0046
0047 config SND_MIXER_OSS
0048 tristate "OSS Mixer API"
0049 depends on SND_OSSEMUL
0050 help
0051 To enable OSS mixer API emulation (/dev/mixer*), say Y here
0052 and read <file:Documentation/sound/designs/oss-emulation.rst>.
0053
0054 Many programs still use the OSS API, so say Y.
0055
0056 To compile this driver as a module, choose M here: the module
0057 will be called snd-mixer-oss.
0058
0059 config SND_PCM_OSS
0060 tristate "OSS PCM (digital audio) API"
0061 depends on SND_OSSEMUL
0062 select SND_PCM
0063 help
0064 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
0065 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
0066
0067 Many programs still use the OSS API, so say Y.
0068
0069 To compile this driver as a module, choose M here: the module
0070 will be called snd-pcm-oss.
0071
0072 config SND_PCM_OSS_PLUGINS
0073 bool "OSS PCM (digital audio) API - Include plugin system"
0074 depends on SND_PCM_OSS
0075 default y
0076 help
0077 If you disable this option, the ALSA's OSS PCM API will not
0078 support conversion of channels, formats and rates. It will
0079 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
0080
0081 config SND_PCM_TIMER
0082 bool "PCM timer interface" if EXPERT
0083 default y
0084 help
0085 If you disable this option, pcm timer will be unavailable, so
0086 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
0087 incorrectly.
0088
0089 For some embedded devices, we may disable it to reduce memory
0090 footprint, about 20KB on x86_64 platform.
0091
0092 config SND_HRTIMER
0093 tristate "HR-timer backend support"
0094 depends on HIGH_RES_TIMERS
0095 select SND_TIMER
0096 help
0097 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
0098 the hrtimer as a precise timing source. The ALSA sequencer code
0099 also can use this timing source.
0100
0101 To compile this driver as a module, choose M here: the module
0102 will be called snd-hrtimer.
0103
0104 config SND_DYNAMIC_MINORS
0105 bool "Dynamic device file minor numbers"
0106 help
0107 If you say Y here, the minor numbers of ALSA device files in
0108 /dev/snd/ are allocated dynamically. This allows you to have
0109 more than 8 sound cards, but requires a dynamic device file
0110 system like udev.
0111
0112 If you are unsure about this, say N here.
0113
0114 config SND_MAX_CARDS
0115 int "Max number of sound cards"
0116 range 4 256
0117 default 32
0118 depends on SND_DYNAMIC_MINORS
0119 help
0120 Specify the max number of sound cards that can be assigned
0121 on a single machine.
0122
0123 config SND_SUPPORT_OLD_API
0124 bool "Support old ALSA API"
0125 default y
0126 help
0127 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
0128 or older).
0129
0130 config SND_PROC_FS
0131 bool "Sound Proc FS Support" if EXPERT
0132 depends on PROC_FS
0133 default y
0134 help
0135 Say 'N' to disable Sound proc FS, which may reduce code size about
0136 9KB on x86_64 platform.
0137 If unsure say Y.
0138
0139 config SND_VERBOSE_PROCFS
0140 bool "Verbose procfs contents"
0141 depends on SND_PROC_FS
0142 default y
0143 help
0144 Say Y here to include code for verbose procfs contents (provides
0145 useful information to developers when a problem occurs). On the
0146 other side, it makes the ALSA subsystem larger.
0147
0148 config SND_VERBOSE_PRINTK
0149 bool "Verbose printk"
0150 help
0151 Say Y here to enable verbose log messages. These messages
0152 will help to identify source file and position containing
0153 printed messages.
0154
0155 You don't need this unless you're debugging ALSA.
0156
0157 config SND_CTL_FAST_LOOKUP
0158 bool "Fast lookup of control elements" if EXPERT
0159 default y
0160 select XARRAY_MULTI
0161 help
0162 This option enables the faster lookup of control elements.
0163 It will consume more memory because of the additional Xarray.
0164 If you want to choose the memory footprint over the performance
0165 inevitably, turn this off.
0166
0167 config SND_DEBUG
0168 bool "Debug"
0169 help
0170 Say Y here to enable ALSA debug code.
0171
0172 config SND_DEBUG_VERBOSE
0173 bool "More verbose debug"
0174 depends on SND_DEBUG
0175 help
0176 Say Y here to enable extra-verbose debugging messages.
0177
0178 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
0179 So, say Y only if you are ready to be annoyed.
0180
0181 config SND_PCM_XRUN_DEBUG
0182 bool "Enable PCM ring buffer overrun/underrun debugging"
0183 default n
0184 depends on SND_DEBUG && SND_VERBOSE_PROCFS
0185 help
0186 Say Y to enable the PCM ring buffer overrun/underrun debugging.
0187 It is usually not required, but if you have trouble with
0188 sound clicking when system is loaded, it may help to determine
0189 the process or driver which causes the scheduling gaps.
0190
0191 config SND_CTL_INPUT_VALIDATION
0192 bool "Validate input data to control API"
0193 help
0194 Say Y to enable the additional validation for the input data to
0195 each control element, including the value range checks.
0196 An error is returned from ALSA core for invalid inputs without
0197 passing to the driver. This is a kind of hardening for drivers
0198 that have no proper error checks, at the cost of a slight
0199 performance overhead.
0200
0201 config SND_CTL_DEBUG
0202 bool "Enable debugging feature for control API"
0203 depends on SND_DEBUG
0204 help
0205 Say Y to enable the debugging feature for ALSA control API.
0206 It performs the additional sanity-checks for each control element
0207 read access, such as whether the values returned from the driver
0208 are in the proper ranges or the check of the invalid access at
0209 out-of-array areas. The error is printed when the driver gives
0210 such unexpected values.
0211 When you develop a driver that deals with control elements, it's
0212 strongly recommended to try this one once and verify whether you see
0213 any relevant errors or not.
0214
0215 config SND_JACK_INJECTION_DEBUG
0216 bool "Sound jack injection interface via debugfs"
0217 depends on SND_JACK && SND_DEBUG && DEBUG_FS
0218 help
0219 This option can be used to enable or disable sound jack
0220 software injection.
0221 Say Y if you are debugging via jack injection interface.
0222 If unsure select "N".
0223
0224 config SND_VMASTER
0225 bool
0226
0227 config SND_DMA_SGBUF
0228 def_bool y
0229 depends on X86
0230
0231 config SND_CTL_LED
0232 tristate
0233 select NEW_LEDS if SND_CTL_LED
0234 select LEDS_TRIGGERS if SND_CTL_LED
0235 select LEDS_TRIGGER_AUDIO if SND_CTL_LED
0236
0237 source "sound/core/seq/Kconfig"