1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# ALSA soundcard-configuration 31da177e4SLinus Torvaldsconfig SND_TIMER 41da177e4SLinus Torvalds tristate 51da177e4SLinus Torvalds 61da177e4SLinus Torvaldsconfig SND_PCM 71da177e4SLinus Torvalds tristate 890bbaf66SJie Yang select SND_TIMER if SND_PCM_TIMER 91da177e4SLinus Torvalds 10838d1631SRussell Kingconfig SND_PCM_ELD 11838d1631SRussell King bool 12838d1631SRussell King 139203dd01SRussell Kingconfig SND_PCM_IEC958 149203dd01SRussell King bool 159203dd01SRussell King 16b7ae6f31SDaniel Mackconfig SND_DMAENGINE_PCM 17903eb318SDaniel Mack tristate 18b7ae6f31SDaniel Mack 191da177e4SLinus Torvaldsconfig SND_HWDEP 201da177e4SLinus Torvalds tristate 211da177e4SLinus Torvalds 22111b0cdbSTakashi Iwaiconfig SND_SEQ_DEVICE 23111b0cdbSTakashi Iwai tristate 24111b0cdbSTakashi Iwai 251da177e4SLinus Torvaldsconfig SND_RAWMIDI 261da177e4SLinus Torvalds tristate 27111b0cdbSTakashi Iwai select SND_SEQ_DEVICE if SND_SEQUENCER != n 281da177e4SLinus Torvalds 29*e3a8a5b7STakashi Iwaiconfig SND_UMP 30*e3a8a5b7STakashi Iwai tristate 31*e3a8a5b7STakashi Iwai select SND_RAWMIDI 32*e3a8a5b7STakashi Iwai 335c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD 345c845bebSTakashi Iwai tristate 355c845bebSTakashi Iwai 360d94e41aSMark Brownconfig SND_JACK 370d94e41aSMark Brown bool 380d94e41aSMark Brown 39fe0d128cSTakashi Iwai# enable input device support in jack layer 40fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV 41fe0d128cSTakashi Iwai bool 42fe0d128cSTakashi Iwai depends on SND_JACK 43fe0d128cSTakashi Iwai default y if INPUT=y || INPUT=SND 44fe0d128cSTakashi Iwai 451da177e4SLinus Torvaldsconfig SND_OSSEMUL 46eb3b705aSTakashi Iwai bool "Enable OSS Emulation" 47d886e87cSTejun Heo select SOUND_OSS_CORE 48eb3b705aSTakashi Iwai help 49eb3b705aSTakashi Iwai This option enables the build of OSS emulation layer. 501da177e4SLinus Torvalds 511da177e4SLinus Torvaldsconfig SND_MIXER_OSS 521da177e4SLinus Torvalds tristate "OSS Mixer API" 53eb3b705aSTakashi Iwai depends on SND_OSSEMUL 541da177e4SLinus Torvalds help 551da177e4SLinus Torvalds To enable OSS mixer API emulation (/dev/mixer*), say Y here 565fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/designs/oss-emulation.rst>. 571da177e4SLinus Torvalds 581da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 591da177e4SLinus Torvalds 601da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 611da177e4SLinus Torvalds will be called snd-mixer-oss. 621da177e4SLinus Torvalds 631da177e4SLinus Torvaldsconfig SND_PCM_OSS 641da177e4SLinus Torvalds tristate "OSS PCM (digital audio) API" 65eb3b705aSTakashi Iwai depends on SND_OSSEMUL 661da177e4SLinus Torvalds select SND_PCM 671da177e4SLinus Torvalds help 681da177e4SLinus Torvalds To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 695fb94e9cSMauro Carvalho Chehab here and read <file:Documentation/sound/designs/oss-emulation.rst>. 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 721da177e4SLinus Torvalds 731da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 741da177e4SLinus Torvalds will be called snd-pcm-oss. 751da177e4SLinus Torvalds 7621a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS 7721a3479aSJaroslav Kysela bool "OSS PCM (digital audio) API - Include plugin system" 7821a3479aSJaroslav Kysela depends on SND_PCM_OSS 7921a3479aSJaroslav Kysela default y 8021a3479aSJaroslav Kysela help 8121a3479aSJaroslav Kysela If you disable this option, the ALSA's OSS PCM API will not 8221a3479aSJaroslav Kysela support conversion of channels, formats and rates. It will 8321a3479aSJaroslav Kysela behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 8421a3479aSJaroslav Kysela 8590bbaf66SJie Yangconfig SND_PCM_TIMER 8690bbaf66SJie Yang bool "PCM timer interface" if EXPERT 8790bbaf66SJie Yang default y 8890bbaf66SJie Yang help 89ac1efcfbSRandy Dunlap If you disable this option, pcm timer will be unavailable, so 90ac1efcfbSRandy Dunlap those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 91a893b7fcSElijah Harding incorrectly. 9290bbaf66SJie Yang 93ac1efcfbSRandy Dunlap For some embedded devices, we may disable it to reduce memory 9490bbaf66SJie Yang footprint, about 20KB on x86_64 platform. 9590bbaf66SJie Yang 96bbaf5e97STakashi Iwaiconfig SND_HRTIMER 97bbaf5e97STakashi Iwai tristate "HR-timer backend support" 98bbaf5e97STakashi Iwai depends on HIGH_RES_TIMERS 99bbaf5e97STakashi Iwai select SND_TIMER 100bbaf5e97STakashi Iwai help 101bbaf5e97STakashi Iwai Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 102bbaf5e97STakashi Iwai the hrtimer as a precise timing source. The ALSA sequencer code 103bbaf5e97STakashi Iwai also can use this timing source. 104bbaf5e97STakashi Iwai 105bbaf5e97STakashi Iwai To compile this driver as a module, choose M here: the module 106bbaf5e97STakashi Iwai will be called snd-hrtimer. 107bbaf5e97STakashi Iwai 108332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS 109b10e5391SClemens Ladisch bool "Dynamic device file minor numbers" 110332682b1SClemens Ladisch help 111332682b1SClemens Ladisch If you say Y here, the minor numbers of ALSA device files in 112332682b1SClemens Ladisch /dev/snd/ are allocated dynamically. This allows you to have 113332682b1SClemens Ladisch more than 8 sound cards, but requires a dynamic device file 114332682b1SClemens Ladisch system like udev. 115332682b1SClemens Ladisch 116332682b1SClemens Ladisch If you are unsure about this, say N here. 117332682b1SClemens Ladisch 1187bb2491bSTakashi Iwaiconfig SND_MAX_CARDS 1197bb2491bSTakashi Iwai int "Max number of sound cards" 1207bb2491bSTakashi Iwai range 4 256 1217bb2491bSTakashi Iwai default 32 1227bb2491bSTakashi Iwai depends on SND_DYNAMIC_MINORS 1237bb2491bSTakashi Iwai help 1247bb2491bSTakashi Iwai Specify the max number of sound cards that can be assigned 1257bb2491bSTakashi Iwai on a single machine. 1267bb2491bSTakashi Iwai 12759d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API 12859d48582STakashi Iwai bool "Support old ALSA API" 12959d48582STakashi Iwai default y 13059d48582STakashi Iwai help 13159d48582STakashi Iwai Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 13259d48582STakashi Iwai or older). 13359d48582STakashi Iwai 134e0ecb05aSJie Yangconfig SND_PROC_FS 135e0ecb05aSJie Yang bool "Sound Proc FS Support" if EXPERT 136e0ecb05aSJie Yang depends on PROC_FS 137e0ecb05aSJie Yang default y 138e0ecb05aSJie Yang help 139e0ecb05aSJie Yang Say 'N' to disable Sound proc FS, which may reduce code size about 140e0ecb05aSJie Yang 9KB on x86_64 platform. 141e0ecb05aSJie Yang If unsure say Y. 142e0ecb05aSJie Yang 14321a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS 14421a3479aSJaroslav Kysela bool "Verbose procfs contents" 145e0ecb05aSJie Yang depends on SND_PROC_FS 14621a3479aSJaroslav Kysela default y 14721a3479aSJaroslav Kysela help 14821a3479aSJaroslav Kysela Say Y here to include code for verbose procfs contents (provides 149a982ac06SMatt LaPlante useful information to developers when a problem occurs). On the 15021a3479aSJaroslav Kysela other side, it makes the ALSA subsystem larger. 15121a3479aSJaroslav Kysela 1521da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK 1531da177e4SLinus Torvalds bool "Verbose printk" 1541da177e4SLinus Torvalds help 1551da177e4SLinus Torvalds Say Y here to enable verbose log messages. These messages 1561da177e4SLinus Torvalds will help to identify source file and position containing 1571da177e4SLinus Torvalds printed messages. 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvalds You don't need this unless you're debugging ALSA. 1601da177e4SLinus Torvalds 161c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP 162c27e1efbSTakashi Iwai bool "Fast lookup of control elements" if EXPERT 163c27e1efbSTakashi Iwai default y 164c27e1efbSTakashi Iwai select XARRAY_MULTI 165c27e1efbSTakashi Iwai help 166c27e1efbSTakashi Iwai This option enables the faster lookup of control elements. 167c27e1efbSTakashi Iwai It will consume more memory because of the additional Xarray. 168c27e1efbSTakashi Iwai If you want to choose the memory footprint over the performance 169c27e1efbSTakashi Iwai inevitably, turn this off. 170c27e1efbSTakashi Iwai 1711da177e4SLinus Torvaldsconfig SND_DEBUG 1721da177e4SLinus Torvalds bool "Debug" 1731da177e4SLinus Torvalds help 1741da177e4SLinus Torvalds Say Y here to enable ALSA debug code. 1751da177e4SLinus Torvalds 17662cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE 17762cf872aSTakashi Iwai bool "More verbose debug" 1781da177e4SLinus Torvalds depends on SND_DEBUG 1791da177e4SLinus Torvalds help 18062cf872aSTakashi Iwai Say Y here to enable extra-verbose debugging messages. 18162cf872aSTakashi Iwai 18262cf872aSTakashi Iwai Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 18362cf872aSTakashi Iwai So, say Y only if you are ready to be annoyed. 18461fb63c0SJaroslav Kysela 18561fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG 18661fb63c0SJaroslav Kysela bool "Enable PCM ring buffer overrun/underrun debugging" 18761fb63c0SJaroslav Kysela default n 188b7d90a35STakashi Iwai depends on SND_DEBUG && SND_VERBOSE_PROCFS 18961fb63c0SJaroslav Kysela help 19061fb63c0SJaroslav Kysela Say Y to enable the PCM ring buffer overrun/underrun debugging. 19161fb63c0SJaroslav Kysela It is usually not required, but if you have trouble with 19261fb63c0SJaroslav Kysela sound clicking when system is loaded, it may help to determine 19361fb63c0SJaroslav Kysela the process or driver which causes the scheduling gaps. 194e922b002STakashi Iwai 195f5e829f9STakashi Iwaiconfig SND_CTL_INPUT_VALIDATION 196f5e829f9STakashi Iwai bool "Validate input data to control API" 197f5e829f9STakashi Iwai help 198f5e829f9STakashi Iwai Say Y to enable the additional validation for the input data to 199f5e829f9STakashi Iwai each control element, including the value range checks. 200f5e829f9STakashi Iwai An error is returned from ALSA core for invalid inputs without 201f5e829f9STakashi Iwai passing to the driver. This is a kind of hardening for drivers 202f5e829f9STakashi Iwai that have no proper error checks, at the cost of a slight 203f5e829f9STakashi Iwai performance overhead. 204f5e829f9STakashi Iwai 2051b7ec514STakashi Iwaiconfig SND_CTL_DEBUG 2061b7ec514STakashi Iwai bool "Enable debugging feature for control API" 207fbd3eb7fSTakashi Iwai depends on SND_DEBUG 208fbd3eb7fSTakashi Iwai help 2091b7ec514STakashi Iwai Say Y to enable the debugging feature for ALSA control API. 2101b7ec514STakashi Iwai It performs the additional sanity-checks for each control element 2111b7ec514STakashi Iwai read access, such as whether the values returned from the driver 2121b7ec514STakashi Iwai are in the proper ranges or the check of the invalid access at 2131b7ec514STakashi Iwai out-of-array areas. The error is printed when the driver gives 2141b7ec514STakashi Iwai such unexpected values. 2151b7ec514STakashi Iwai When you develop a driver that deals with control elements, it's 2161b7ec514STakashi Iwai strongly recommended to try this one once and verify whether you see 2171b7ec514STakashi Iwai any relevant errors or not. 218fbd3eb7fSTakashi Iwai 2192d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG 2202d670ea2SHui Wang bool "Sound jack injection interface via debugfs" 2212d670ea2SHui Wang depends on SND_JACK && SND_DEBUG && DEBUG_FS 2222d670ea2SHui Wang help 2232d670ea2SHui Wang This option can be used to enable or disable sound jack 2242d670ea2SHui Wang software injection. 2252d670ea2SHui Wang Say Y if you are debugging via jack injection interface. 2262d670ea2SHui Wang If unsure select "N". 2272d670ea2SHui Wang 228e922b002STakashi Iwaiconfig SND_VMASTER 229e922b002STakashi Iwai bool 2300528c749SMichal Marek 231cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF 232cc6a8acdSTakashi Iwai def_bool y 233cc6a8acdSTakashi Iwai depends on X86 234cc6a8acdSTakashi Iwai 23522d8de62SJaroslav Kyselaconfig SND_CTL_LED 23622d8de62SJaroslav Kysela tristate 23722d8de62SJaroslav Kysela select NEW_LEDS if SND_CTL_LED 23822d8de62SJaroslav Kysela select LEDS_TRIGGERS if SND_CTL_LED 23922d8de62SJaroslav Kysela select LEDS_TRIGGER_AUDIO if SND_CTL_LED 24022d8de62SJaroslav Kysela 2410528c749SMichal Mareksource "sound/core/seq/Kconfig" 242