1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# ALSA soundcard-configuration 3*4882a593Smuzhiyunconfig SND_TIMER 4*4882a593Smuzhiyun tristate 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig SND_PCM 7*4882a593Smuzhiyun tristate 8*4882a593Smuzhiyun select SND_TIMER if SND_PCM_TIMER 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunconfig SND_PCM_ELD 11*4882a593Smuzhiyun bool 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunconfig SND_PCM_IEC958 14*4882a593Smuzhiyun bool 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunconfig SND_DMAENGINE_PCM 17*4882a593Smuzhiyun tristate 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunconfig SND_HWDEP 20*4882a593Smuzhiyun tristate 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunconfig SND_SEQ_DEVICE 23*4882a593Smuzhiyun tristate 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunconfig SND_RAWMIDI 26*4882a593Smuzhiyun tristate 27*4882a593Smuzhiyun select SND_SEQ_DEVICE if SND_SEQUENCER != n 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig SND_COMPRESS_OFFLOAD 30*4882a593Smuzhiyun tristate 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig SND_JACK 33*4882a593Smuzhiyun bool 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun# enable input device support in jack layer 36*4882a593Smuzhiyunconfig SND_JACK_INPUT_DEV 37*4882a593Smuzhiyun bool 38*4882a593Smuzhiyun depends on SND_JACK 39*4882a593Smuzhiyun default y if INPUT=y || INPUT=SND 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunconfig SND_OSSEMUL 42*4882a593Smuzhiyun bool "Enable OSS Emulation" 43*4882a593Smuzhiyun select SOUND_OSS_CORE 44*4882a593Smuzhiyun help 45*4882a593Smuzhiyun This option enables the build of OSS emulation layer. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig SND_MIXER_OSS 48*4882a593Smuzhiyun tristate "OSS Mixer API" 49*4882a593Smuzhiyun depends on SND_OSSEMUL 50*4882a593Smuzhiyun help 51*4882a593Smuzhiyun To enable OSS mixer API emulation (/dev/mixer*), say Y here 52*4882a593Smuzhiyun and read <file:Documentation/sound/designs/oss-emulation.rst>. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun Many programs still use the OSS API, so say Y. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 57*4882a593Smuzhiyun will be called snd-mixer-oss. 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunconfig SND_PCM_OSS 60*4882a593Smuzhiyun tristate "OSS PCM (digital audio) API" 61*4882a593Smuzhiyun depends on SND_OSSEMUL 62*4882a593Smuzhiyun select SND_PCM 63*4882a593Smuzhiyun help 64*4882a593Smuzhiyun To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 65*4882a593Smuzhiyun here and read <file:Documentation/sound/designs/oss-emulation.rst>. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun Many programs still use the OSS API, so say Y. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 70*4882a593Smuzhiyun will be called snd-pcm-oss. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig SND_PCM_OSS_PLUGINS 73*4882a593Smuzhiyun bool "OSS PCM (digital audio) API - Include plugin system" 74*4882a593Smuzhiyun depends on SND_PCM_OSS 75*4882a593Smuzhiyun default y 76*4882a593Smuzhiyun help 77*4882a593Smuzhiyun If you disable this option, the ALSA's OSS PCM API will not 78*4882a593Smuzhiyun support conversion of channels, formats and rates. It will 79*4882a593Smuzhiyun behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunconfig SND_PCM_TIMER 82*4882a593Smuzhiyun bool "PCM timer interface" if EXPERT 83*4882a593Smuzhiyun default y 84*4882a593Smuzhiyun help 85*4882a593Smuzhiyun If you disable this option, pcm timer will be unavailable, so 86*4882a593Smuzhiyun those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 87*4882a593Smuzhiyun incorrectlly. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun For some embedded devices, we may disable it to reduce memory 90*4882a593Smuzhiyun footprint, about 20KB on x86_64 platform. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig SND_HRTIMER 93*4882a593Smuzhiyun tristate "HR-timer backend support" 94*4882a593Smuzhiyun depends on HIGH_RES_TIMERS 95*4882a593Smuzhiyun select SND_TIMER 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 98*4882a593Smuzhiyun the hrtimer as a precise timing source. The ALSA sequencer code 99*4882a593Smuzhiyun also can use this timing source. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 102*4882a593Smuzhiyun will be called snd-hrtimer. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig SND_DYNAMIC_MINORS 105*4882a593Smuzhiyun bool "Dynamic device file minor numbers" 106*4882a593Smuzhiyun help 107*4882a593Smuzhiyun If you say Y here, the minor numbers of ALSA device files in 108*4882a593Smuzhiyun /dev/snd/ are allocated dynamically. This allows you to have 109*4882a593Smuzhiyun more than 8 sound cards, but requires a dynamic device file 110*4882a593Smuzhiyun system like udev. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun If you are unsure about this, say N here. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig SND_MAX_CARDS 115*4882a593Smuzhiyun int "Max number of sound cards" 116*4882a593Smuzhiyun range 4 256 117*4882a593Smuzhiyun default 32 118*4882a593Smuzhiyun depends on SND_DYNAMIC_MINORS 119*4882a593Smuzhiyun help 120*4882a593Smuzhiyun Specify the max number of sound cards that can be assigned 121*4882a593Smuzhiyun on a single machine. 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunconfig SND_SUPPORT_OLD_API 124*4882a593Smuzhiyun bool "Support old ALSA API" 125*4882a593Smuzhiyun default y 126*4882a593Smuzhiyun help 127*4882a593Smuzhiyun Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 128*4882a593Smuzhiyun or older). 129*4882a593Smuzhiyun 130*4882a593Smuzhiyunconfig SND_PROC_FS 131*4882a593Smuzhiyun bool "Sound Proc FS Support" if EXPERT 132*4882a593Smuzhiyun depends on PROC_FS 133*4882a593Smuzhiyun default y 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun Say 'N' to disable Sound proc FS, which may reduce code size about 136*4882a593Smuzhiyun 9KB on x86_64 platform. 137*4882a593Smuzhiyun If unsure say Y. 138*4882a593Smuzhiyun 139*4882a593Smuzhiyunconfig SND_VERBOSE_PROCFS 140*4882a593Smuzhiyun bool "Verbose procfs contents" 141*4882a593Smuzhiyun depends on SND_PROC_FS 142*4882a593Smuzhiyun default y 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun Say Y here to include code for verbose procfs contents (provides 145*4882a593Smuzhiyun useful information to developers when a problem occurs). On the 146*4882a593Smuzhiyun other side, it makes the ALSA subsystem larger. 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig SND_VERBOSE_PRINTK 149*4882a593Smuzhiyun bool "Verbose printk" 150*4882a593Smuzhiyun help 151*4882a593Smuzhiyun Say Y here to enable verbose log messages. These messages 152*4882a593Smuzhiyun will help to identify source file and position containing 153*4882a593Smuzhiyun printed messages. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun You don't need this unless you're debugging ALSA. 156*4882a593Smuzhiyun 157*4882a593Smuzhiyunconfig SND_DEBUG 158*4882a593Smuzhiyun bool "Debug" 159*4882a593Smuzhiyun help 160*4882a593Smuzhiyun Say Y here to enable ALSA debug code. 161*4882a593Smuzhiyun 162*4882a593Smuzhiyunconfig SND_DEBUG_VERBOSE 163*4882a593Smuzhiyun bool "More verbose debug" 164*4882a593Smuzhiyun depends on SND_DEBUG 165*4882a593Smuzhiyun help 166*4882a593Smuzhiyun Say Y here to enable extra-verbose debugging messages. 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 169*4882a593Smuzhiyun So, say Y only if you are ready to be annoyed. 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunconfig SND_PCM_XRUN_DEBUG 172*4882a593Smuzhiyun bool "Enable PCM ring buffer overrun/underrun debugging" 173*4882a593Smuzhiyun default n 174*4882a593Smuzhiyun depends on SND_DEBUG && SND_VERBOSE_PROCFS 175*4882a593Smuzhiyun help 176*4882a593Smuzhiyun Say Y to enable the PCM ring buffer overrun/underrun debugging. 177*4882a593Smuzhiyun It is usually not required, but if you have trouble with 178*4882a593Smuzhiyun sound clicking when system is loaded, it may help to determine 179*4882a593Smuzhiyun the process or driver which causes the scheduling gaps. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyunconfig SND_CTL_VALIDATION 182*4882a593Smuzhiyun bool "Perform sanity-checks for each control element access" 183*4882a593Smuzhiyun depends on SND_DEBUG 184*4882a593Smuzhiyun help 185*4882a593Smuzhiyun Say Y to enable the additional validation of each control element 186*4882a593Smuzhiyun access, including sanity-checks like whether the values returned 187*4882a593Smuzhiyun from the driver are in the proper ranges or the check of the invalid 188*4882a593Smuzhiyun access at out-of-array areas. 189*4882a593Smuzhiyun 190*4882a593Smuzhiyunconfig SND_VMASTER 191*4882a593Smuzhiyun bool 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig SND_DMA_SGBUF 194*4882a593Smuzhiyun def_bool y 195*4882a593Smuzhiyun depends on X86 196*4882a593Smuzhiyun 197*4882a593Smuzhiyunsource "sound/core/seq/Kconfig" 198