162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# ALSA soundcard-configuration 362306a36Sopenharmony_ciconfig SND_TIMER 462306a36Sopenharmony_ci tristate 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig SND_PCM 762306a36Sopenharmony_ci tristate 862306a36Sopenharmony_ci select SND_TIMER if SND_PCM_TIMER 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciconfig SND_PCM_ELD 1162306a36Sopenharmony_ci bool 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciconfig SND_PCM_IEC958 1462306a36Sopenharmony_ci bool 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconfig SND_DMAENGINE_PCM 1762306a36Sopenharmony_ci tristate 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciconfig SND_HWDEP 2062306a36Sopenharmony_ci tristate 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfig SND_SEQ_DEVICE 2362306a36Sopenharmony_ci tristate 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciconfig SND_RAWMIDI 2662306a36Sopenharmony_ci tristate 2762306a36Sopenharmony_ci select SND_SEQ_DEVICE if SND_SEQUENCER != n 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig SND_UMP 3062306a36Sopenharmony_ci tristate 3162306a36Sopenharmony_ci select SND_RAWMIDI 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciconfig SND_UMP_LEGACY_RAWMIDI 3462306a36Sopenharmony_ci bool "Legacy raw MIDI support for UMP streams" 3562306a36Sopenharmony_ci depends on SND_UMP 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci This option enables the legacy raw MIDI support for UMP streams. 3862306a36Sopenharmony_ci When this option is set, an additional rawmidi device for the 3962306a36Sopenharmony_ci legacy MIDI 1.0 byte streams is created for each UMP Endpoint. 4062306a36Sopenharmony_ci The device contains 16 substreams corresponding to UMP groups. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciconfig SND_COMPRESS_OFFLOAD 4362306a36Sopenharmony_ci tristate 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciconfig SND_JACK 4662306a36Sopenharmony_ci bool 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci# enable input device support in jack layer 4962306a36Sopenharmony_ciconfig SND_JACK_INPUT_DEV 5062306a36Sopenharmony_ci bool 5162306a36Sopenharmony_ci depends on SND_JACK 5262306a36Sopenharmony_ci default y if INPUT=y || INPUT=SND 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig SND_OSSEMUL 5562306a36Sopenharmony_ci bool "Enable OSS Emulation" 5662306a36Sopenharmony_ci select SOUND_OSS_CORE 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci This option enables the build of OSS emulation layer. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciconfig SND_MIXER_OSS 6162306a36Sopenharmony_ci tristate "OSS Mixer API" 6262306a36Sopenharmony_ci depends on SND_OSSEMUL 6362306a36Sopenharmony_ci help 6462306a36Sopenharmony_ci To enable OSS mixer API emulation (/dev/mixer*), say Y here 6562306a36Sopenharmony_ci and read <file:Documentation/sound/designs/oss-emulation.rst>. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci Many programs still use the OSS API, so say Y. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 7062306a36Sopenharmony_ci will be called snd-mixer-oss. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig SND_PCM_OSS 7362306a36Sopenharmony_ci tristate "OSS PCM (digital audio) API" 7462306a36Sopenharmony_ci depends on SND_OSSEMUL 7562306a36Sopenharmony_ci select SND_PCM 7662306a36Sopenharmony_ci help 7762306a36Sopenharmony_ci To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 7862306a36Sopenharmony_ci here and read <file:Documentation/sound/designs/oss-emulation.rst>. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci Many programs still use the OSS API, so say Y. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 8362306a36Sopenharmony_ci will be called snd-pcm-oss. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciconfig SND_PCM_OSS_PLUGINS 8662306a36Sopenharmony_ci bool "OSS PCM (digital audio) API - Include plugin system" 8762306a36Sopenharmony_ci depends on SND_PCM_OSS 8862306a36Sopenharmony_ci default y 8962306a36Sopenharmony_ci help 9062306a36Sopenharmony_ci If you disable this option, the ALSA's OSS PCM API will not 9162306a36Sopenharmony_ci support conversion of channels, formats and rates. It will 9262306a36Sopenharmony_ci behave like most of new OSS/Free drivers in 2.4/2.6 kernels. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciconfig SND_PCM_TIMER 9562306a36Sopenharmony_ci bool "PCM timer interface" if EXPERT 9662306a36Sopenharmony_ci default y 9762306a36Sopenharmony_ci help 9862306a36Sopenharmony_ci If you disable this option, pcm timer will be unavailable, so 9962306a36Sopenharmony_ci those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work 10062306a36Sopenharmony_ci incorrectly. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci For some embedded devices, we may disable it to reduce memory 10362306a36Sopenharmony_ci footprint, about 20KB on x86_64 platform. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciconfig SND_HRTIMER 10662306a36Sopenharmony_ci tristate "HR-timer backend support" 10762306a36Sopenharmony_ci depends on HIGH_RES_TIMERS 10862306a36Sopenharmony_ci select SND_TIMER 10962306a36Sopenharmony_ci help 11062306a36Sopenharmony_ci Say Y here to enable HR-timer backend for ALSA timer. ALSA uses 11162306a36Sopenharmony_ci the hrtimer as a precise timing source. The ALSA sequencer code 11262306a36Sopenharmony_ci also can use this timing source. 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 11562306a36Sopenharmony_ci will be called snd-hrtimer. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciconfig SND_DYNAMIC_MINORS 11862306a36Sopenharmony_ci bool "Dynamic device file minor numbers" 11962306a36Sopenharmony_ci help 12062306a36Sopenharmony_ci If you say Y here, the minor numbers of ALSA device files in 12162306a36Sopenharmony_ci /dev/snd/ are allocated dynamically. This allows you to have 12262306a36Sopenharmony_ci more than 8 sound cards, but requires a dynamic device file 12362306a36Sopenharmony_ci system like udev. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci If you are unsure about this, say N here. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciconfig SND_MAX_CARDS 12862306a36Sopenharmony_ci int "Max number of sound cards" 12962306a36Sopenharmony_ci range 4 256 13062306a36Sopenharmony_ci default 32 13162306a36Sopenharmony_ci depends on SND_DYNAMIC_MINORS 13262306a36Sopenharmony_ci help 13362306a36Sopenharmony_ci Specify the max number of sound cards that can be assigned 13462306a36Sopenharmony_ci on a single machine. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciconfig SND_SUPPORT_OLD_API 13762306a36Sopenharmony_ci bool "Support old ALSA API" 13862306a36Sopenharmony_ci default y 13962306a36Sopenharmony_ci help 14062306a36Sopenharmony_ci Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 14162306a36Sopenharmony_ci or older). 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciconfig SND_PROC_FS 14462306a36Sopenharmony_ci bool "Sound Proc FS Support" if EXPERT 14562306a36Sopenharmony_ci depends on PROC_FS 14662306a36Sopenharmony_ci default y 14762306a36Sopenharmony_ci help 14862306a36Sopenharmony_ci Say 'N' to disable Sound proc FS, which may reduce code size about 14962306a36Sopenharmony_ci 9KB on x86_64 platform. 15062306a36Sopenharmony_ci If unsure say Y. 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ciconfig SND_VERBOSE_PROCFS 15362306a36Sopenharmony_ci bool "Verbose procfs contents" 15462306a36Sopenharmony_ci depends on SND_PROC_FS 15562306a36Sopenharmony_ci default y 15662306a36Sopenharmony_ci help 15762306a36Sopenharmony_ci Say Y here to include code for verbose procfs contents (provides 15862306a36Sopenharmony_ci useful information to developers when a problem occurs). On the 15962306a36Sopenharmony_ci other side, it makes the ALSA subsystem larger. 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciconfig SND_VERBOSE_PRINTK 16262306a36Sopenharmony_ci bool "Verbose printk" 16362306a36Sopenharmony_ci help 16462306a36Sopenharmony_ci Say Y here to enable verbose log messages. These messages 16562306a36Sopenharmony_ci will help to identify source file and position containing 16662306a36Sopenharmony_ci printed messages. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci You don't need this unless you're debugging ALSA. 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ciconfig SND_CTL_FAST_LOOKUP 17162306a36Sopenharmony_ci bool "Fast lookup of control elements" if EXPERT 17262306a36Sopenharmony_ci default y 17362306a36Sopenharmony_ci select XARRAY_MULTI 17462306a36Sopenharmony_ci help 17562306a36Sopenharmony_ci This option enables the faster lookup of control elements. 17662306a36Sopenharmony_ci It will consume more memory because of the additional Xarray. 17762306a36Sopenharmony_ci If you want to choose the memory footprint over the performance 17862306a36Sopenharmony_ci inevitably, turn this off. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciconfig SND_DEBUG 18162306a36Sopenharmony_ci bool "Debug" 18262306a36Sopenharmony_ci help 18362306a36Sopenharmony_ci Say Y here to enable ALSA debug code. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciconfig SND_DEBUG_VERBOSE 18662306a36Sopenharmony_ci bool "More verbose debug" 18762306a36Sopenharmony_ci depends on SND_DEBUG 18862306a36Sopenharmony_ci help 18962306a36Sopenharmony_ci Say Y here to enable extra-verbose debugging messages. 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. 19262306a36Sopenharmony_ci So, say Y only if you are ready to be annoyed. 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciconfig SND_PCM_XRUN_DEBUG 19562306a36Sopenharmony_ci bool "Enable PCM ring buffer overrun/underrun debugging" 19662306a36Sopenharmony_ci default n 19762306a36Sopenharmony_ci depends on SND_DEBUG && SND_VERBOSE_PROCFS 19862306a36Sopenharmony_ci help 19962306a36Sopenharmony_ci Say Y to enable the PCM ring buffer overrun/underrun debugging. 20062306a36Sopenharmony_ci It is usually not required, but if you have trouble with 20162306a36Sopenharmony_ci sound clicking when system is loaded, it may help to determine 20262306a36Sopenharmony_ci the process or driver which causes the scheduling gaps. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciconfig SND_CTL_INPUT_VALIDATION 20562306a36Sopenharmony_ci bool "Validate input data to control API" 20662306a36Sopenharmony_ci help 20762306a36Sopenharmony_ci Say Y to enable the additional validation for the input data to 20862306a36Sopenharmony_ci each control element, including the value range checks. 20962306a36Sopenharmony_ci An error is returned from ALSA core for invalid inputs without 21062306a36Sopenharmony_ci passing to the driver. This is a kind of hardening for drivers 21162306a36Sopenharmony_ci that have no proper error checks, at the cost of a slight 21262306a36Sopenharmony_ci performance overhead. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciconfig SND_CTL_DEBUG 21562306a36Sopenharmony_ci bool "Enable debugging feature for control API" 21662306a36Sopenharmony_ci depends on SND_DEBUG 21762306a36Sopenharmony_ci help 21862306a36Sopenharmony_ci Say Y to enable the debugging feature for ALSA control API. 21962306a36Sopenharmony_ci It performs the additional sanity-checks for each control element 22062306a36Sopenharmony_ci read access, such as whether the values returned from the driver 22162306a36Sopenharmony_ci are in the proper ranges or the check of the invalid access at 22262306a36Sopenharmony_ci out-of-array areas. The error is printed when the driver gives 22362306a36Sopenharmony_ci such unexpected values. 22462306a36Sopenharmony_ci When you develop a driver that deals with control elements, it's 22562306a36Sopenharmony_ci strongly recommended to try this one once and verify whether you see 22662306a36Sopenharmony_ci any relevant errors or not. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ciconfig SND_JACK_INJECTION_DEBUG 22962306a36Sopenharmony_ci bool "Sound jack injection interface via debugfs" 23062306a36Sopenharmony_ci depends on SND_JACK && SND_DEBUG && DEBUG_FS 23162306a36Sopenharmony_ci help 23262306a36Sopenharmony_ci This option can be used to enable or disable sound jack 23362306a36Sopenharmony_ci software injection. 23462306a36Sopenharmony_ci Say Y if you are debugging via jack injection interface. 23562306a36Sopenharmony_ci If unsure select "N". 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ciconfig SND_VMASTER 23862306a36Sopenharmony_ci bool 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ciconfig SND_DMA_SGBUF 24162306a36Sopenharmony_ci def_bool y 24262306a36Sopenharmony_ci depends on X86 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciconfig SND_CTL_LED 24562306a36Sopenharmony_ci tristate 24662306a36Sopenharmony_ci select NEW_LEDS if SND_CTL_LED 24762306a36Sopenharmony_ci select LEDS_TRIGGERS if SND_CTL_LED 24862306a36Sopenharmony_ci select LEDS_TRIGGER_AUDIO if SND_CTL_LED 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_cisource "sound/core/seq/Kconfig" 251