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 330b5288f5STakashi Iwaiconfig SND_UMP_LEGACY_RAWMIDI 340b5288f5STakashi Iwai bool "Legacy raw MIDI support for UMP streams" 350b5288f5STakashi Iwai depends on SND_UMP 360b5288f5STakashi Iwai help 370b5288f5STakashi Iwai This option enables the legacy raw MIDI support for UMP streams. 380b5288f5STakashi Iwai When this option is set, an additional rawmidi device for the 390b5288f5STakashi Iwai legacy MIDI 1.0 byte streams is created for each UMP Endpoint. 400b5288f5STakashi Iwai The device contains 16 substreams corresponding to UMP groups. 410b5288f5STakashi Iwai 423e39acf5SIvan Orlovconfig SND_CORE_TEST 433e39acf5SIvan Orlov tristate "Sound core KUnit test" 443e39acf5SIvan Orlov depends on KUNIT 456da404e7SIvan Orlov select SND_PCM 463e39acf5SIvan Orlov default KUNIT_ALL_TESTS 473e39acf5SIvan Orlov help 483e39acf5SIvan Orlov This options enables the sound core functions KUnit test. 493e39acf5SIvan Orlov 503e39acf5SIvan Orlov KUnit tests run during boot and output the results to the debug 513e39acf5SIvan Orlov log in TAP format (https://testanything.org/). Only useful for 523e39acf5SIvan Orlov kernel devs running KUnit test harness and are not for inclusion 533e39acf5SIvan Orlov into a production build. 543e39acf5SIvan Orlov 553e39acf5SIvan Orlov For more information on KUnit and unit tests in general, refer 563e39acf5SIvan Orlov to the KUnit documentation in Documentation/dev-tools/kunit/. 573e39acf5SIvan Orlov 583e39acf5SIvan Orlov 595c845bebSTakashi Iwaiconfig SND_COMPRESS_OFFLOAD 605c845bebSTakashi Iwai tristate 615c845bebSTakashi Iwai 6204177158SJaroslav Kyselaconfig SND_COMPRESS_ACCEL 6304177158SJaroslav Kysela bool 6404177158SJaroslav Kysela 650d94e41aSMark Brownconfig SND_JACK 660d94e41aSMark Brown bool 670d94e41aSMark Brown 68fe0d128cSTakashi Iwai# enable input device support in jack layer 69fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV 70fe0d128cSTakashi Iwai bool 71fe0d128cSTakashi Iwai depends on SND_JACK 72fe0d128cSTakashi Iwai default y if INPUT=y || INPUT=SND 73fe0d128cSTakashi Iwai 741da177e4SLinus Torvaldsconfig SND_OSSEMUL 75eb3b705aSTakashi Iwai bool "Enable OSS Emulation" 76d886e87cSTejun Heo select SOUND_OSS_CORE 77eb3b705aSTakashi Iwai help 78eb3b705aSTakashi Iwai This option enables the build of OSS emulation layer. 791da177e4SLinus Torvalds 801da177e4SLinus Torvaldsconfig SND_MIXER_OSS 811da177e4SLinus Torvalds tristate "OSS Mixer API" 82eb3b705aSTakashi Iwai depends on SND_OSSEMUL 831da177e4SLinus Torvalds help 841da177e4SLinus Torvalds To enable OSS mixer API emulation (/dev/mixer*), say Y here 855fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/designs/oss-emulation.rst>. 861da177e4SLinus Torvalds 871da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 881da177e4SLinus Torvalds 891da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 901da177e4SLinus Torvalds will be called snd-mixer-oss. 911da177e4SLinus Torvalds 921da177e4SLinus Torvaldsconfig SND_PCM_OSS 931da177e4SLinus Torvalds tristate "OSS PCM (digital audio) API" 94eb3b705aSTakashi Iwai depends on SND_OSSEMUL 951da177e4SLinus Torvalds select SND_PCM 961da177e4SLinus Torvalds help 971da177e4SLinus Torvalds To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 985fb94e9cSMauro Carvalho Chehab here and read <file:Documentation/sound/designs/oss-emulation.rst>. 991da177e4SLinus Torvalds 1001da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 1011da177e4SLinus Torvalds 1021da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1031da177e4SLinus Torvalds will be called snd-pcm-oss. 1041da177e4SLinus Torvalds 10521a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS 10621a3479aSJaroslav Kysela bool "OSS PCM (digital audio) API - Include plugin system" 10721a3479aSJaroslav Kysela depends on SND_PCM_OSS 10821a3479aSJaroslav Kysela default y 10921a3479aSJaroslav Kysela help 11021a3479aSJaroslav Kysela If you disable this option, the ALSA's OSS PCM API will not 11121a3479aSJaroslav Kysela support conversion of channels, formats and rates. It will 11221a3479aSJaroslav Kysela behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 11321a3479aSJaroslav Kysela 11490bbaf66SJie Yangconfig SND_PCM_TIMER 11590bbaf66SJie Yang bool "PCM timer interface" if EXPERT 11690bbaf66SJie Yang default y 11790bbaf66SJie Yang help 118ac1efcfbSRandy Dunlap If you disable this option, pcm timer will be unavailable, so 119ac1efcfbSRandy Dunlap those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 120a893b7fcSElijah Harding incorrectly. 12190bbaf66SJie Yang 122ac1efcfbSRandy Dunlap For some embedded devices, we may disable it to reduce memory 12390bbaf66SJie Yang footprint, about 20KB on x86_64 platform. 12490bbaf66SJie Yang 125bbaf5e97STakashi Iwaiconfig SND_HRTIMER 126bbaf5e97STakashi Iwai tristate "HR-timer backend support" 127bbaf5e97STakashi Iwai depends on HIGH_RES_TIMERS 128bbaf5e97STakashi Iwai select SND_TIMER 129bbaf5e97STakashi Iwai help 130bbaf5e97STakashi Iwai Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 131bbaf5e97STakashi Iwai the hrtimer as a precise timing source. The ALSA sequencer code 132bbaf5e97STakashi Iwai also can use this timing source. 133bbaf5e97STakashi Iwai 134bbaf5e97STakashi Iwai To compile this driver as a module, choose M here: the module 135bbaf5e97STakashi Iwai will be called snd-hrtimer. 136bbaf5e97STakashi Iwai 137332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS 138b10e5391SClemens Ladisch bool "Dynamic device file minor numbers" 139332682b1SClemens Ladisch help 140332682b1SClemens Ladisch If you say Y here, the minor numbers of ALSA device files in 141332682b1SClemens Ladisch /dev/snd/ are allocated dynamically. This allows you to have 142332682b1SClemens Ladisch more than 8 sound cards, but requires a dynamic device file 143332682b1SClemens Ladisch system like udev. 144332682b1SClemens Ladisch 145332682b1SClemens Ladisch If you are unsure about this, say N here. 146332682b1SClemens Ladisch 1477bb2491bSTakashi Iwaiconfig SND_MAX_CARDS 1487bb2491bSTakashi Iwai int "Max number of sound cards" 1497bb2491bSTakashi Iwai range 4 256 1507bb2491bSTakashi Iwai default 32 1517bb2491bSTakashi Iwai depends on SND_DYNAMIC_MINORS 1527bb2491bSTakashi Iwai help 1537bb2491bSTakashi Iwai Specify the max number of sound cards that can be assigned 1547bb2491bSTakashi Iwai on a single machine. 1557bb2491bSTakashi Iwai 15659d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API 15759d48582STakashi Iwai bool "Support old ALSA API" 158*74ac7558SDavid Heidelberg default n 15959d48582STakashi Iwai help 16059d48582STakashi Iwai Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 16159d48582STakashi Iwai or older). 16259d48582STakashi Iwai 163e0ecb05aSJie Yangconfig SND_PROC_FS 164e0ecb05aSJie Yang bool "Sound Proc FS Support" if EXPERT 165e0ecb05aSJie Yang depends on PROC_FS 166e0ecb05aSJie Yang default y 167e0ecb05aSJie Yang help 168e0ecb05aSJie Yang Say 'N' to disable Sound proc FS, which may reduce code size about 169e0ecb05aSJie Yang 9KB on x86_64 platform. 170e0ecb05aSJie Yang If unsure say Y. 171e0ecb05aSJie Yang 17221a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS 17321a3479aSJaroslav Kysela bool "Verbose procfs contents" 174e0ecb05aSJie Yang depends on SND_PROC_FS 17521a3479aSJaroslav Kysela default y 17621a3479aSJaroslav Kysela help 17721a3479aSJaroslav Kysela Say Y here to include code for verbose procfs contents (provides 178a982ac06SMatt LaPlante useful information to developers when a problem occurs). On the 17921a3479aSJaroslav Kysela other side, it makes the ALSA subsystem larger. 18021a3479aSJaroslav Kysela 181c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP 182c27e1efbSTakashi Iwai bool "Fast lookup of control elements" if EXPERT 183c27e1efbSTakashi Iwai default y 184c27e1efbSTakashi Iwai select XARRAY_MULTI 185c27e1efbSTakashi Iwai help 186c27e1efbSTakashi Iwai This option enables the faster lookup of control elements. 187c27e1efbSTakashi Iwai It will consume more memory because of the additional Xarray. 188c27e1efbSTakashi Iwai If you want to choose the memory footprint over the performance 189c27e1efbSTakashi Iwai inevitably, turn this off. 190c27e1efbSTakashi Iwai 1911da177e4SLinus Torvaldsconfig SND_DEBUG 1921da177e4SLinus Torvalds bool "Debug" 1931da177e4SLinus Torvalds help 1941da177e4SLinus Torvalds Say Y here to enable ALSA debug code. 1951da177e4SLinus Torvalds 19662cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE 19762cf872aSTakashi Iwai bool "More verbose debug" 1981da177e4SLinus Torvalds depends on SND_DEBUG 1991da177e4SLinus Torvalds help 20062cf872aSTakashi Iwai Say Y here to enable extra-verbose debugging messages. 20162cf872aSTakashi Iwai 20262cf872aSTakashi Iwai Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 20362cf872aSTakashi Iwai So, say Y only if you are ready to be annoyed. 20461fb63c0SJaroslav Kysela 20561fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG 20661fb63c0SJaroslav Kysela bool "Enable PCM ring buffer overrun/underrun debugging" 20761fb63c0SJaroslav Kysela default n 208b7d90a35STakashi Iwai depends on SND_DEBUG && SND_VERBOSE_PROCFS 20961fb63c0SJaroslav Kysela help 21061fb63c0SJaroslav Kysela Say Y to enable the PCM ring buffer overrun/underrun debugging. 21161fb63c0SJaroslav Kysela It is usually not required, but if you have trouble with 21261fb63c0SJaroslav Kysela sound clicking when system is loaded, it may help to determine 21361fb63c0SJaroslav Kysela the process or driver which causes the scheduling gaps. 214e922b002STakashi Iwai 215f5e829f9STakashi Iwaiconfig SND_CTL_INPUT_VALIDATION 216f5e829f9STakashi Iwai bool "Validate input data to control API" 217f5e829f9STakashi Iwai help 218f5e829f9STakashi Iwai Say Y to enable the additional validation for the input data to 219f5e829f9STakashi Iwai each control element, including the value range checks. 220f5e829f9STakashi Iwai An error is returned from ALSA core for invalid inputs without 221f5e829f9STakashi Iwai passing to the driver. This is a kind of hardening for drivers 222f5e829f9STakashi Iwai that have no proper error checks, at the cost of a slight 223f5e829f9STakashi Iwai performance overhead. 224f5e829f9STakashi Iwai 2251b7ec514STakashi Iwaiconfig SND_CTL_DEBUG 2261b7ec514STakashi Iwai bool "Enable debugging feature for control API" 227fbd3eb7fSTakashi Iwai depends on SND_DEBUG 228fbd3eb7fSTakashi Iwai help 2291b7ec514STakashi Iwai Say Y to enable the debugging feature for ALSA control API. 2301b7ec514STakashi Iwai It performs the additional sanity-checks for each control element 2311b7ec514STakashi Iwai read access, such as whether the values returned from the driver 2321b7ec514STakashi Iwai are in the proper ranges or the check of the invalid access at 2331b7ec514STakashi Iwai out-of-array areas. The error is printed when the driver gives 2341b7ec514STakashi Iwai such unexpected values. 2351b7ec514STakashi Iwai When you develop a driver that deals with control elements, it's 2361b7ec514STakashi Iwai strongly recommended to try this one once and verify whether you see 2371b7ec514STakashi Iwai any relevant errors or not. 238fbd3eb7fSTakashi Iwai 2392d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG 2402d670ea2SHui Wang bool "Sound jack injection interface via debugfs" 2412d670ea2SHui Wang depends on SND_JACK && SND_DEBUG && DEBUG_FS 2422d670ea2SHui Wang help 2432d670ea2SHui Wang This option can be used to enable or disable sound jack 2442d670ea2SHui Wang software injection. 2452d670ea2SHui Wang Say Y if you are debugging via jack injection interface. 2462d670ea2SHui Wang If unsure select "N". 2472d670ea2SHui Wang 24837745918SIvan Orlovconfig SND_UTIMER 24937745918SIvan Orlov bool "Enable support for userspace-controlled virtual timers" 25037745918SIvan Orlov depends on SND_TIMER 25137745918SIvan Orlov help 25237745918SIvan Orlov Say Y to enable the support of userspace-controlled timers. These 25337745918SIvan Orlov timers are purely virtual, and they are supposed to be triggered 25437745918SIvan Orlov from userspace. They could be quite useful when synchronizing the 25537745918SIvan Orlov sound timing with userspace applications (for instance, when sending 25637745918SIvan Orlov data through snd-aloop). 25737745918SIvan Orlov 258e922b002STakashi Iwaiconfig SND_VMASTER 259e922b002STakashi Iwai bool 2600528c749SMichal Marek 261cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF 262cc6a8acdSTakashi Iwai def_bool y 263cc6a8acdSTakashi Iwai depends on X86 264cc6a8acdSTakashi Iwai 26522d8de62SJaroslav Kyselaconfig SND_CTL_LED 26622d8de62SJaroslav Kysela tristate 26722d8de62SJaroslav Kysela select NEW_LEDS if SND_CTL_LED 26822d8de62SJaroslav Kysela select LEDS_TRIGGERS if SND_CTL_LED 26922d8de62SJaroslav Kysela 2700528c749SMichal Mareksource "sound/core/seq/Kconfig" 271