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 45*6da404e7SIvan 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 620d94e41aSMark Brownconfig SND_JACK 630d94e41aSMark Brown bool 640d94e41aSMark Brown 65fe0d128cSTakashi Iwai# enable input device support in jack layer 66fe0d128cSTakashi Iwaiconfig SND_JACK_INPUT_DEV 67fe0d128cSTakashi Iwai bool 68fe0d128cSTakashi Iwai depends on SND_JACK 69fe0d128cSTakashi Iwai default y if INPUT=y || INPUT=SND 70fe0d128cSTakashi Iwai 711da177e4SLinus Torvaldsconfig SND_OSSEMUL 72eb3b705aSTakashi Iwai bool "Enable OSS Emulation" 73d886e87cSTejun Heo select SOUND_OSS_CORE 74eb3b705aSTakashi Iwai help 75eb3b705aSTakashi Iwai This option enables the build of OSS emulation layer. 761da177e4SLinus Torvalds 771da177e4SLinus Torvaldsconfig SND_MIXER_OSS 781da177e4SLinus Torvalds tristate "OSS Mixer API" 79eb3b705aSTakashi Iwai depends on SND_OSSEMUL 801da177e4SLinus Torvalds help 811da177e4SLinus Torvalds To enable OSS mixer API emulation (/dev/mixer*), say Y here 825fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/designs/oss-emulation.rst>. 831da177e4SLinus Torvalds 841da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 851da177e4SLinus Torvalds 861da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 871da177e4SLinus Torvalds will be called snd-mixer-oss. 881da177e4SLinus Torvalds 891da177e4SLinus Torvaldsconfig SND_PCM_OSS 901da177e4SLinus Torvalds tristate "OSS PCM (digital audio) API" 91eb3b705aSTakashi Iwai depends on SND_OSSEMUL 921da177e4SLinus Torvalds select SND_PCM 931da177e4SLinus Torvalds help 941da177e4SLinus Torvalds To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 955fb94e9cSMauro Carvalho Chehab here and read <file:Documentation/sound/designs/oss-emulation.rst>. 961da177e4SLinus Torvalds 971da177e4SLinus Torvalds Many programs still use the OSS API, so say Y. 981da177e4SLinus Torvalds 991da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1001da177e4SLinus Torvalds will be called snd-pcm-oss. 1011da177e4SLinus Torvalds 10221a3479aSJaroslav Kyselaconfig SND_PCM_OSS_PLUGINS 10321a3479aSJaroslav Kysela bool "OSS PCM (digital audio) API - Include plugin system" 10421a3479aSJaroslav Kysela depends on SND_PCM_OSS 10521a3479aSJaroslav Kysela default y 10621a3479aSJaroslav Kysela help 10721a3479aSJaroslav Kysela If you disable this option, the ALSA's OSS PCM API will not 10821a3479aSJaroslav Kysela support conversion of channels, formats and rates. It will 10921a3479aSJaroslav Kysela behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 11021a3479aSJaroslav Kysela 11190bbaf66SJie Yangconfig SND_PCM_TIMER 11290bbaf66SJie Yang bool "PCM timer interface" if EXPERT 11390bbaf66SJie Yang default y 11490bbaf66SJie Yang help 115ac1efcfbSRandy Dunlap If you disable this option, pcm timer will be unavailable, so 116ac1efcfbSRandy Dunlap those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 117a893b7fcSElijah Harding incorrectly. 11890bbaf66SJie Yang 119ac1efcfbSRandy Dunlap For some embedded devices, we may disable it to reduce memory 12090bbaf66SJie Yang footprint, about 20KB on x86_64 platform. 12190bbaf66SJie Yang 122bbaf5e97STakashi Iwaiconfig SND_HRTIMER 123bbaf5e97STakashi Iwai tristate "HR-timer backend support" 124bbaf5e97STakashi Iwai depends on HIGH_RES_TIMERS 125bbaf5e97STakashi Iwai select SND_TIMER 126bbaf5e97STakashi Iwai help 127bbaf5e97STakashi Iwai Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 128bbaf5e97STakashi Iwai the hrtimer as a precise timing source. The ALSA sequencer code 129bbaf5e97STakashi Iwai also can use this timing source. 130bbaf5e97STakashi Iwai 131bbaf5e97STakashi Iwai To compile this driver as a module, choose M here: the module 132bbaf5e97STakashi Iwai will be called snd-hrtimer. 133bbaf5e97STakashi Iwai 134332682b1SClemens Ladischconfig SND_DYNAMIC_MINORS 135b10e5391SClemens Ladisch bool "Dynamic device file minor numbers" 136332682b1SClemens Ladisch help 137332682b1SClemens Ladisch If you say Y here, the minor numbers of ALSA device files in 138332682b1SClemens Ladisch /dev/snd/ are allocated dynamically. This allows you to have 139332682b1SClemens Ladisch more than 8 sound cards, but requires a dynamic device file 140332682b1SClemens Ladisch system like udev. 141332682b1SClemens Ladisch 142332682b1SClemens Ladisch If you are unsure about this, say N here. 143332682b1SClemens Ladisch 1447bb2491bSTakashi Iwaiconfig SND_MAX_CARDS 1457bb2491bSTakashi Iwai int "Max number of sound cards" 1467bb2491bSTakashi Iwai range 4 256 1477bb2491bSTakashi Iwai default 32 1487bb2491bSTakashi Iwai depends on SND_DYNAMIC_MINORS 1497bb2491bSTakashi Iwai help 1507bb2491bSTakashi Iwai Specify the max number of sound cards that can be assigned 1517bb2491bSTakashi Iwai on a single machine. 1527bb2491bSTakashi Iwai 15359d48582STakashi Iwaiconfig SND_SUPPORT_OLD_API 15459d48582STakashi Iwai bool "Support old ALSA API" 15559d48582STakashi Iwai default y 15659d48582STakashi Iwai help 15759d48582STakashi Iwai Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 15859d48582STakashi Iwai or older). 15959d48582STakashi Iwai 160e0ecb05aSJie Yangconfig SND_PROC_FS 161e0ecb05aSJie Yang bool "Sound Proc FS Support" if EXPERT 162e0ecb05aSJie Yang depends on PROC_FS 163e0ecb05aSJie Yang default y 164e0ecb05aSJie Yang help 165e0ecb05aSJie Yang Say 'N' to disable Sound proc FS, which may reduce code size about 166e0ecb05aSJie Yang 9KB on x86_64 platform. 167e0ecb05aSJie Yang If unsure say Y. 168e0ecb05aSJie Yang 16921a3479aSJaroslav Kyselaconfig SND_VERBOSE_PROCFS 17021a3479aSJaroslav Kysela bool "Verbose procfs contents" 171e0ecb05aSJie Yang depends on SND_PROC_FS 17221a3479aSJaroslav Kysela default y 17321a3479aSJaroslav Kysela help 17421a3479aSJaroslav Kysela Say Y here to include code for verbose procfs contents (provides 175a982ac06SMatt LaPlante useful information to developers when a problem occurs). On the 17621a3479aSJaroslav Kysela other side, it makes the ALSA subsystem larger. 17721a3479aSJaroslav Kysela 1781da177e4SLinus Torvaldsconfig SND_VERBOSE_PRINTK 1791da177e4SLinus Torvalds bool "Verbose printk" 1801da177e4SLinus Torvalds help 1811da177e4SLinus Torvalds Say Y here to enable verbose log messages. These messages 1821da177e4SLinus Torvalds will help to identify source file and position containing 1831da177e4SLinus Torvalds printed messages. 1841da177e4SLinus Torvalds 1851da177e4SLinus Torvalds You don't need this unless you're debugging ALSA. 1861da177e4SLinus Torvalds 187c27e1efbSTakashi Iwaiconfig SND_CTL_FAST_LOOKUP 188c27e1efbSTakashi Iwai bool "Fast lookup of control elements" if EXPERT 189c27e1efbSTakashi Iwai default y 190c27e1efbSTakashi Iwai select XARRAY_MULTI 191c27e1efbSTakashi Iwai help 192c27e1efbSTakashi Iwai This option enables the faster lookup of control elements. 193c27e1efbSTakashi Iwai It will consume more memory because of the additional Xarray. 194c27e1efbSTakashi Iwai If you want to choose the memory footprint over the performance 195c27e1efbSTakashi Iwai inevitably, turn this off. 196c27e1efbSTakashi Iwai 1971da177e4SLinus Torvaldsconfig SND_DEBUG 1981da177e4SLinus Torvalds bool "Debug" 1991da177e4SLinus Torvalds help 2001da177e4SLinus Torvalds Say Y here to enable ALSA debug code. 2011da177e4SLinus Torvalds 20262cf872aSTakashi Iwaiconfig SND_DEBUG_VERBOSE 20362cf872aSTakashi Iwai bool "More verbose debug" 2041da177e4SLinus Torvalds depends on SND_DEBUG 2051da177e4SLinus Torvalds help 20662cf872aSTakashi Iwai Say Y here to enable extra-verbose debugging messages. 20762cf872aSTakashi Iwai 20862cf872aSTakashi Iwai Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 20962cf872aSTakashi Iwai So, say Y only if you are ready to be annoyed. 21061fb63c0SJaroslav Kysela 21161fb63c0SJaroslav Kyselaconfig SND_PCM_XRUN_DEBUG 21261fb63c0SJaroslav Kysela bool "Enable PCM ring buffer overrun/underrun debugging" 21361fb63c0SJaroslav Kysela default n 214b7d90a35STakashi Iwai depends on SND_DEBUG && SND_VERBOSE_PROCFS 21561fb63c0SJaroslav Kysela help 21661fb63c0SJaroslav Kysela Say Y to enable the PCM ring buffer overrun/underrun debugging. 21761fb63c0SJaroslav Kysela It is usually not required, but if you have trouble with 21861fb63c0SJaroslav Kysela sound clicking when system is loaded, it may help to determine 21961fb63c0SJaroslav Kysela the process or driver which causes the scheduling gaps. 220e922b002STakashi Iwai 221f5e829f9STakashi Iwaiconfig SND_CTL_INPUT_VALIDATION 222f5e829f9STakashi Iwai bool "Validate input data to control API" 223f5e829f9STakashi Iwai help 224f5e829f9STakashi Iwai Say Y to enable the additional validation for the input data to 225f5e829f9STakashi Iwai each control element, including the value range checks. 226f5e829f9STakashi Iwai An error is returned from ALSA core for invalid inputs without 227f5e829f9STakashi Iwai passing to the driver. This is a kind of hardening for drivers 228f5e829f9STakashi Iwai that have no proper error checks, at the cost of a slight 229f5e829f9STakashi Iwai performance overhead. 230f5e829f9STakashi Iwai 2311b7ec514STakashi Iwaiconfig SND_CTL_DEBUG 2321b7ec514STakashi Iwai bool "Enable debugging feature for control API" 233fbd3eb7fSTakashi Iwai depends on SND_DEBUG 234fbd3eb7fSTakashi Iwai help 2351b7ec514STakashi Iwai Say Y to enable the debugging feature for ALSA control API. 2361b7ec514STakashi Iwai It performs the additional sanity-checks for each control element 2371b7ec514STakashi Iwai read access, such as whether the values returned from the driver 2381b7ec514STakashi Iwai are in the proper ranges or the check of the invalid access at 2391b7ec514STakashi Iwai out-of-array areas. The error is printed when the driver gives 2401b7ec514STakashi Iwai such unexpected values. 2411b7ec514STakashi Iwai When you develop a driver that deals with control elements, it's 2421b7ec514STakashi Iwai strongly recommended to try this one once and verify whether you see 2431b7ec514STakashi Iwai any relevant errors or not. 244fbd3eb7fSTakashi Iwai 2452d670ea2SHui Wangconfig SND_JACK_INJECTION_DEBUG 2462d670ea2SHui Wang bool "Sound jack injection interface via debugfs" 2472d670ea2SHui Wang depends on SND_JACK && SND_DEBUG && DEBUG_FS 2482d670ea2SHui Wang help 2492d670ea2SHui Wang This option can be used to enable or disable sound jack 2502d670ea2SHui Wang software injection. 2512d670ea2SHui Wang Say Y if you are debugging via jack injection interface. 2522d670ea2SHui Wang If unsure select "N". 2532d670ea2SHui Wang 254e922b002STakashi Iwaiconfig SND_VMASTER 255e922b002STakashi Iwai bool 2560528c749SMichal Marek 257cc6a8acdSTakashi Iwaiconfig SND_DMA_SGBUF 258cc6a8acdSTakashi Iwai def_bool y 259cc6a8acdSTakashi Iwai depends on X86 260cc6a8acdSTakashi Iwai 26122d8de62SJaroslav Kyselaconfig SND_CTL_LED 26222d8de62SJaroslav Kysela tristate 26322d8de62SJaroslav Kysela select NEW_LEDS if SND_CTL_LED 26422d8de62SJaroslav Kysela select LEDS_TRIGGERS if SND_CTL_LED 26522d8de62SJaroslav Kysela select LEDS_TRIGGER_AUDIO if SND_CTL_LED 26622d8de62SJaroslav Kysela 2670528c749SMichal Mareksource "sound/core/seq/Kconfig" 268