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 29e3a8a5b7STakashi Iwaiconfig SND_UMP 30e3a8a5b7STakashi Iwai tristate 31e3a8a5b7STakashi Iwai select SND_RAWMIDI 32e3a8a5b7STakashi Iwai 33*0b5288f5STakashi Iwaiconfig SND_UMP_LEGACY_RAWMIDI 34*0b5288f5STakashi Iwai bool "Legacy raw MIDI support for UMP streams" 35*0b5288f5STakashi Iwai depends on SND_UMP 36*0b5288f5STakashi Iwai help 37*0b5288f5STakashi Iwai This option enables the legacy raw MIDI support for UMP streams. 38*0b5288f5STakashi Iwai When this option is set, an additional rawmidi device for the 39*0b5288f5STakashi Iwai legacy MIDI 1.0 byte streams is created for each UMP Endpoint. 40*0b5288f5STakashi Iwai The device contains 16 substreams corresponding to UMP groups. 41*0b5288f5STakashi Iwai 425c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD 435c845bebSTakashi Iwai tristate 445c845bebSTakashi Iwai 450d94e41aSMark Brownconfig SND_JACK 460d94e41aSMark Brown bool 470d94e41aSMark Brown 48fe0d128cSTakashi Iwai# enable input device support in jack layer 49fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV 50fe0d128cSTakashi Iwai bool 51fe0d128cSTakashi Iwai depends on SND_JACK 52fe0d128cSTakashi Iwai default y if INPUT=y || INPUT=SND 53fe0d128cSTakashi Iwai 541da177e4SLinus Torvaldsconfig SND_OSSEMUL 55eb3b705aSTakashi Iwai bool "Enable OSS Emulation" 56d886e87cSTejun Heo select SOUND_OSS_CORE 57eb3b705aSTakashi Iwai help 58eb3b705aSTakashi Iwai This option enables the build of OSS emulation layer. 591da177e4SLinus Torvalds 601da177e4SLinus Torvaldsconfig SND_MIXER_OSS 611da177e4SLinus Torvalds tristate "OSS Mixer API" 62eb3b705aSTakashi Iwai depends on SND_OSSEMUL 631da177e4SLinus Torvalds help 641da177e4SLinus Torvalds To enable OSS mixer API emulation (/dev/mixer*), say Y here 655fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/designs/oss-emulation.rst>. 661da177e4SLinus Torvalds 671da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 681da177e4SLinus Torvalds 691da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 701da177e4SLinus Torvalds will be called snd-mixer-oss. 711da177e4SLinus Torvalds 721da177e4SLinus Torvaldsconfig SND_PCM_OSS 731da177e4SLinus Torvalds tristate "OSS PCM (digital audio) API" 74eb3b705aSTakashi Iwai depends on SND_OSSEMUL 751da177e4SLinus Torvalds select SND_PCM 761da177e4SLinus Torvalds help 771da177e4SLinus Torvalds To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 785fb94e9cSMauro Carvalho Chehab here and read <file:Documentation/sound/designs/oss-emulation.rst>. 791da177e4SLinus Torvalds 801da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 811da177e4SLinus Torvalds 821da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 831da177e4SLinus Torvalds will be called snd-pcm-oss. 841da177e4SLinus Torvalds 8521a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS 8621a3479aSJaroslav Kysela bool "OSS PCM (digital audio) API - Include plugin system" 8721a3479aSJaroslav Kysela depends on SND_PCM_OSS 8821a3479aSJaroslav Kysela default y 8921a3479aSJaroslav Kysela help 9021a3479aSJaroslav Kysela If you disable this option, the ALSA's OSS PCM API will not 9121a3479aSJaroslav Kysela support conversion of channels, formats and rates. It will 9221a3479aSJaroslav Kysela behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 9321a3479aSJaroslav Kysela 9490bbaf66SJie Yangconfig SND_PCM_TIMER 9590bbaf66SJie Yang bool "PCM timer interface" if EXPERT 9690bbaf66SJie Yang default y 9790bbaf66SJie Yang help 98ac1efcfbSRandy Dunlap If you disable this option, pcm timer will be unavailable, so 99ac1efcfbSRandy Dunlap those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 100a893b7fcSElijah Harding incorrectly. 10190bbaf66SJie Yang 102ac1efcfbSRandy Dunlap For some embedded devices, we may disable it to reduce memory 10390bbaf66SJie Yang footprint, about 20KB on x86_64 platform. 10490bbaf66SJie Yang 105bbaf5e97STakashi Iwaiconfig SND_HRTIMER 106bbaf5e97STakashi Iwai tristate "HR-timer backend support" 107bbaf5e97STakashi Iwai depends on HIGH_RES_TIMERS 108bbaf5e97STakashi Iwai select SND_TIMER 109bbaf5e97STakashi Iwai help 110bbaf5e97STakashi Iwai Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 111bbaf5e97STakashi Iwai the hrtimer as a precise timing source. The ALSA sequencer code 112bbaf5e97STakashi Iwai also can use this timing source. 113bbaf5e97STakashi Iwai 114bbaf5e97STakashi Iwai To compile this driver as a module, choose M here: the module 115bbaf5e97STakashi Iwai will be called snd-hrtimer. 116bbaf5e97STakashi Iwai 117332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS 118b10e5391SClemens Ladisch bool "Dynamic device file minor numbers" 119332682b1SClemens Ladisch help 120332682b1SClemens Ladisch If you say Y here, the minor numbers of ALSA device files in 121332682b1SClemens Ladisch /dev/snd/ are allocated dynamically. This allows you to have 122332682b1SClemens Ladisch more than 8 sound cards, but requires a dynamic device file 123332682b1SClemens Ladisch system like udev. 124332682b1SClemens Ladisch 125332682b1SClemens Ladisch If you are unsure about this, say N here. 126332682b1SClemens Ladisch 1277bb2491bSTakashi Iwaiconfig SND_MAX_CARDS 1287bb2491bSTakashi Iwai int "Max number of sound cards" 1297bb2491bSTakashi Iwai range 4 256 1307bb2491bSTakashi Iwai default 32 1317bb2491bSTakashi Iwai depends on SND_DYNAMIC_MINORS 1327bb2491bSTakashi Iwai help 1337bb2491bSTakashi Iwai Specify the max number of sound cards that can be assigned 1347bb2491bSTakashi Iwai on a single machine. 1357bb2491bSTakashi Iwai 13659d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API 13759d48582STakashi Iwai bool "Support old ALSA API" 13859d48582STakashi Iwai default y 13959d48582STakashi Iwai help 14059d48582STakashi Iwai Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 14159d48582STakashi Iwai or older). 14259d48582STakashi Iwai 143e0ecb05aSJie Yangconfig SND_PROC_FS 144e0ecb05aSJie Yang bool "Sound Proc FS Support" if EXPERT 145e0ecb05aSJie Yang depends on PROC_FS 146e0ecb05aSJie Yang default y 147e0ecb05aSJie Yang help 148e0ecb05aSJie Yang Say 'N' to disable Sound proc FS, which may reduce code size about 149e0ecb05aSJie Yang 9KB on x86_64 platform. 150e0ecb05aSJie Yang If unsure say Y. 151e0ecb05aSJie Yang 15221a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS 15321a3479aSJaroslav Kysela bool "Verbose procfs contents" 154e0ecb05aSJie Yang depends on SND_PROC_FS 15521a3479aSJaroslav Kysela default y 15621a3479aSJaroslav Kysela help 15721a3479aSJaroslav Kysela Say Y here to include code for verbose procfs contents (provides 158a982ac06SMatt LaPlante useful information to developers when a problem occurs). On the 15921a3479aSJaroslav Kysela other side, it makes the ALSA subsystem larger. 16021a3479aSJaroslav Kysela 1611da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK 1621da177e4SLinus Torvalds bool "Verbose printk" 1631da177e4SLinus Torvalds help 1641da177e4SLinus Torvalds Say Y here to enable verbose log messages. These messages 1651da177e4SLinus Torvalds will help to identify source file and position containing 1661da177e4SLinus Torvalds printed messages. 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvalds You don't need this unless you're debugging ALSA. 1691da177e4SLinus Torvalds 170c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP 171c27e1efbSTakashi Iwai bool "Fast lookup of control elements" if EXPERT 172c27e1efbSTakashi Iwai default y 173c27e1efbSTakashi Iwai select XARRAY_MULTI 174c27e1efbSTakashi Iwai help 175c27e1efbSTakashi Iwai This option enables the faster lookup of control elements. 176c27e1efbSTakashi Iwai It will consume more memory because of the additional Xarray. 177c27e1efbSTakashi Iwai If you want to choose the memory footprint over the performance 178c27e1efbSTakashi Iwai inevitably, turn this off. 179c27e1efbSTakashi Iwai 1801da177e4SLinus Torvaldsconfig SND_DEBUG 1811da177e4SLinus Torvalds bool "Debug" 1821da177e4SLinus Torvalds help 1831da177e4SLinus Torvalds Say Y here to enable ALSA debug code. 1841da177e4SLinus Torvalds 18562cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE 18662cf872aSTakashi Iwai bool "More verbose debug" 1871da177e4SLinus Torvalds depends on SND_DEBUG 1881da177e4SLinus Torvalds help 18962cf872aSTakashi Iwai Say Y here to enable extra-verbose debugging messages. 19062cf872aSTakashi Iwai 19162cf872aSTakashi Iwai Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 19262cf872aSTakashi Iwai So, say Y only if you are ready to be annoyed. 19361fb63c0SJaroslav Kysela 19461fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG 19561fb63c0SJaroslav Kysela bool "Enable PCM ring buffer overrun/underrun debugging" 19661fb63c0SJaroslav Kysela default n 197b7d90a35STakashi Iwai depends on SND_DEBUG && SND_VERBOSE_PROCFS 19861fb63c0SJaroslav Kysela help 19961fb63c0SJaroslav Kysela Say Y to enable the PCM ring buffer overrun/underrun debugging. 20061fb63c0SJaroslav Kysela It is usually not required, but if you have trouble with 20161fb63c0SJaroslav Kysela sound clicking when system is loaded, it may help to determine 20261fb63c0SJaroslav Kysela the process or driver which causes the scheduling gaps. 203e922b002STakashi Iwai 204f5e829f9STakashi Iwaiconfig SND_CTL_INPUT_VALIDATION 205f5e829f9STakashi Iwai bool "Validate input data to control API" 206f5e829f9STakashi Iwai help 207f5e829f9STakashi Iwai Say Y to enable the additional validation for the input data to 208f5e829f9STakashi Iwai each control element, including the value range checks. 209f5e829f9STakashi Iwai An error is returned from ALSA core for invalid inputs without 210f5e829f9STakashi Iwai passing to the driver. This is a kind of hardening for drivers 211f5e829f9STakashi Iwai that have no proper error checks, at the cost of a slight 212f5e829f9STakashi Iwai performance overhead. 213f5e829f9STakashi Iwai 2141b7ec514STakashi Iwaiconfig SND_CTL_DEBUG 2151b7ec514STakashi Iwai bool "Enable debugging feature for control API" 216fbd3eb7fSTakashi Iwai depends on SND_DEBUG 217fbd3eb7fSTakashi Iwai help 2181b7ec514STakashi Iwai Say Y to enable the debugging feature for ALSA control API. 2191b7ec514STakashi Iwai It performs the additional sanity-checks for each control element 2201b7ec514STakashi Iwai read access, such as whether the values returned from the driver 2211b7ec514STakashi Iwai are in the proper ranges or the check of the invalid access at 2221b7ec514STakashi Iwai out-of-array areas. The error is printed when the driver gives 2231b7ec514STakashi Iwai such unexpected values. 2241b7ec514STakashi Iwai When you develop a driver that deals with control elements, it's 2251b7ec514STakashi Iwai strongly recommended to try this one once and verify whether you see 2261b7ec514STakashi Iwai any relevant errors or not. 227fbd3eb7fSTakashi Iwai 2282d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG 2292d670ea2SHui Wang bool "Sound jack injection interface via debugfs" 2302d670ea2SHui Wang depends on SND_JACK && SND_DEBUG && DEBUG_FS 2312d670ea2SHui Wang help 2322d670ea2SHui Wang This option can be used to enable or disable sound jack 2332d670ea2SHui Wang software injection. 2342d670ea2SHui Wang Say Y if you are debugging via jack injection interface. 2352d670ea2SHui Wang If unsure select "N". 2362d670ea2SHui Wang 237e922b002STakashi Iwaiconfig SND_VMASTER 238e922b002STakashi Iwai bool 2390528c749SMichal Marek 240cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF 241cc6a8acdSTakashi Iwai def_bool y 242cc6a8acdSTakashi Iwai depends on X86 243cc6a8acdSTakashi Iwai 24422d8de62SJaroslav Kyselaconfig SND_CTL_LED 24522d8de62SJaroslav Kysela tristate 24622d8de62SJaroslav Kysela select NEW_LEDS if SND_CTL_LED 24722d8de62SJaroslav Kysela select LEDS_TRIGGERS if SND_CTL_LED 24822d8de62SJaroslav Kysela select LEDS_TRIGGER_AUDIO if SND_CTL_LED 24922d8de62SJaroslav Kysela 2500528c749SMichal Mareksource "sound/core/seq/Kconfig" 251