xref: /OK3568_Linux_fs/kernel/sound/core/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun# ALSA soundcard-configuration
3*4882a593Smuzhiyunconfig SND_TIMER
4*4882a593Smuzhiyun	tristate
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig SND_PCM
7*4882a593Smuzhiyun	tristate
8*4882a593Smuzhiyun	select SND_TIMER if SND_PCM_TIMER
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunconfig SND_PCM_ELD
11*4882a593Smuzhiyun	bool
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunconfig SND_PCM_IEC958
14*4882a593Smuzhiyun	bool
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunconfig SND_DMAENGINE_PCM
17*4882a593Smuzhiyun	tristate
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunconfig SND_HWDEP
20*4882a593Smuzhiyun	tristate
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunconfig SND_SEQ_DEVICE
23*4882a593Smuzhiyun	tristate
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunconfig SND_RAWMIDI
26*4882a593Smuzhiyun	tristate
27*4882a593Smuzhiyun	select SND_SEQ_DEVICE if SND_SEQUENCER != n
28*4882a593Smuzhiyun
29*4882a593Smuzhiyunconfig SND_COMPRESS_OFFLOAD
30*4882a593Smuzhiyun	tristate
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunconfig SND_JACK
33*4882a593Smuzhiyun	bool
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun# enable input device support in jack layer
36*4882a593Smuzhiyunconfig SND_JACK_INPUT_DEV
37*4882a593Smuzhiyun	bool
38*4882a593Smuzhiyun	depends on SND_JACK
39*4882a593Smuzhiyun	default y if INPUT=y || INPUT=SND
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunconfig SND_OSSEMUL
42*4882a593Smuzhiyun	bool "Enable OSS Emulation"
43*4882a593Smuzhiyun	select SOUND_OSS_CORE
44*4882a593Smuzhiyun	help
45*4882a593Smuzhiyun	  This option enables the build of OSS emulation layer.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunconfig SND_MIXER_OSS
48*4882a593Smuzhiyun	tristate "OSS Mixer API"
49*4882a593Smuzhiyun	depends on SND_OSSEMUL
50*4882a593Smuzhiyun	help
51*4882a593Smuzhiyun	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
52*4882a593Smuzhiyun	  and read <file:Documentation/sound/designs/oss-emulation.rst>.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	  Many programs still use the OSS API, so say Y.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
57*4882a593Smuzhiyun	  will be called snd-mixer-oss.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunconfig SND_PCM_OSS
60*4882a593Smuzhiyun	tristate "OSS PCM (digital audio) API"
61*4882a593Smuzhiyun	depends on SND_OSSEMUL
62*4882a593Smuzhiyun	select SND_PCM
63*4882a593Smuzhiyun	help
64*4882a593Smuzhiyun	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
65*4882a593Smuzhiyun	  here and read <file:Documentation/sound/designs/oss-emulation.rst>.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	  Many programs still use the OSS API, so say Y.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
70*4882a593Smuzhiyun	  will be called snd-pcm-oss.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunconfig SND_PCM_OSS_PLUGINS
73*4882a593Smuzhiyun	bool "OSS PCM (digital audio) API - Include plugin system"
74*4882a593Smuzhiyun	depends on SND_PCM_OSS
75*4882a593Smuzhiyun	default y
76*4882a593Smuzhiyun	help
77*4882a593Smuzhiyun	  If you disable this option, the ALSA's OSS PCM API will not
78*4882a593Smuzhiyun	  support conversion of channels, formats and rates. It will
79*4882a593Smuzhiyun	  behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
80*4882a593Smuzhiyun
81*4882a593Smuzhiyunconfig SND_PCM_TIMER
82*4882a593Smuzhiyun	bool "PCM timer interface" if EXPERT
83*4882a593Smuzhiyun	default y
84*4882a593Smuzhiyun	help
85*4882a593Smuzhiyun	  If you disable this option, pcm timer will be unavailable, so
86*4882a593Smuzhiyun	  those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
87*4882a593Smuzhiyun	  incorrectlly.
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun	  For some embedded devices, we may disable it to reduce memory
90*4882a593Smuzhiyun	  footprint, about 20KB on x86_64 platform.
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunconfig SND_HRTIMER
93*4882a593Smuzhiyun	tristate "HR-timer backend support"
94*4882a593Smuzhiyun	depends on HIGH_RES_TIMERS
95*4882a593Smuzhiyun	select SND_TIMER
96*4882a593Smuzhiyun	help
97*4882a593Smuzhiyun	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
98*4882a593Smuzhiyun	  the hrtimer as a precise timing source. The ALSA sequencer code
99*4882a593Smuzhiyun	  also can use this timing source.
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
102*4882a593Smuzhiyun	  will be called snd-hrtimer.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyunconfig SND_DYNAMIC_MINORS
105*4882a593Smuzhiyun	bool "Dynamic device file minor numbers"
106*4882a593Smuzhiyun	help
107*4882a593Smuzhiyun	  If you say Y here, the minor numbers of ALSA device files in
108*4882a593Smuzhiyun	  /dev/snd/ are allocated dynamically.  This allows you to have
109*4882a593Smuzhiyun	  more than 8 sound cards, but requires a dynamic device file
110*4882a593Smuzhiyun	  system like udev.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	  If you are unsure about this, say N here.
113*4882a593Smuzhiyun
114*4882a593Smuzhiyunconfig SND_MAX_CARDS
115*4882a593Smuzhiyun	int "Max number of sound cards"
116*4882a593Smuzhiyun	range 4 256
117*4882a593Smuzhiyun	default 32
118*4882a593Smuzhiyun	depends on SND_DYNAMIC_MINORS
119*4882a593Smuzhiyun	help
120*4882a593Smuzhiyun	  Specify the max number of sound cards that can be assigned
121*4882a593Smuzhiyun	  on a single machine.
122*4882a593Smuzhiyun
123*4882a593Smuzhiyunconfig SND_SUPPORT_OLD_API
124*4882a593Smuzhiyun	bool "Support old ALSA API"
125*4882a593Smuzhiyun	default y
126*4882a593Smuzhiyun	help
127*4882a593Smuzhiyun	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
128*4882a593Smuzhiyun	  or older).
129*4882a593Smuzhiyun
130*4882a593Smuzhiyunconfig SND_PROC_FS
131*4882a593Smuzhiyun	bool "Sound Proc FS Support" if EXPERT
132*4882a593Smuzhiyun	depends on PROC_FS
133*4882a593Smuzhiyun	default y
134*4882a593Smuzhiyun	help
135*4882a593Smuzhiyun	  Say 'N' to disable Sound proc FS, which may reduce code size about
136*4882a593Smuzhiyun	  9KB on x86_64 platform.
137*4882a593Smuzhiyun	  If unsure say Y.
138*4882a593Smuzhiyun
139*4882a593Smuzhiyunconfig SND_VERBOSE_PROCFS
140*4882a593Smuzhiyun	bool "Verbose procfs contents"
141*4882a593Smuzhiyun	depends on SND_PROC_FS
142*4882a593Smuzhiyun	default y
143*4882a593Smuzhiyun	help
144*4882a593Smuzhiyun	  Say Y here to include code for verbose procfs contents (provides
145*4882a593Smuzhiyun	  useful information to developers when a problem occurs).  On the
146*4882a593Smuzhiyun	  other side, it makes the ALSA subsystem larger.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyunconfig SND_VERBOSE_PRINTK
149*4882a593Smuzhiyun	bool "Verbose printk"
150*4882a593Smuzhiyun	help
151*4882a593Smuzhiyun	  Say Y here to enable verbose log messages.  These messages
152*4882a593Smuzhiyun	  will help to identify source file and position containing
153*4882a593Smuzhiyun	  printed messages.
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun	  You don't need this unless you're debugging ALSA.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunconfig SND_DEBUG
158*4882a593Smuzhiyun	bool "Debug"
159*4882a593Smuzhiyun	help
160*4882a593Smuzhiyun	  Say Y here to enable ALSA debug code.
161*4882a593Smuzhiyun
162*4882a593Smuzhiyunconfig SND_DEBUG_VERBOSE
163*4882a593Smuzhiyun	bool "More verbose debug"
164*4882a593Smuzhiyun	depends on SND_DEBUG
165*4882a593Smuzhiyun	help
166*4882a593Smuzhiyun	  Say Y here to enable extra-verbose debugging messages.
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
169*4882a593Smuzhiyun	  So, say Y only if you are ready to be annoyed.
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig SND_PCM_XRUN_DEBUG
172*4882a593Smuzhiyun	bool "Enable PCM ring buffer overrun/underrun debugging"
173*4882a593Smuzhiyun	default n
174*4882a593Smuzhiyun	depends on SND_DEBUG && SND_VERBOSE_PROCFS
175*4882a593Smuzhiyun	help
176*4882a593Smuzhiyun	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
177*4882a593Smuzhiyun	  It is usually not required, but if you have trouble with
178*4882a593Smuzhiyun	  sound clicking when system is loaded, it may help to determine
179*4882a593Smuzhiyun	  the process or driver which causes the scheduling gaps.
180*4882a593Smuzhiyun
181*4882a593Smuzhiyunconfig SND_CTL_VALIDATION
182*4882a593Smuzhiyun	bool "Perform sanity-checks for each control element access"
183*4882a593Smuzhiyun	depends on SND_DEBUG
184*4882a593Smuzhiyun	help
185*4882a593Smuzhiyun	  Say Y to enable the additional validation of each control element
186*4882a593Smuzhiyun	  access, including sanity-checks like whether the values returned
187*4882a593Smuzhiyun	  from the driver are in the proper ranges or the check of the invalid
188*4882a593Smuzhiyun	  access at out-of-array areas.
189*4882a593Smuzhiyun
190*4882a593Smuzhiyunconfig SND_VMASTER
191*4882a593Smuzhiyun	bool
192*4882a593Smuzhiyun
193*4882a593Smuzhiyunconfig SND_DMA_SGBUF
194*4882a593Smuzhiyun	def_bool y
195*4882a593Smuzhiyun	depends on X86
196*4882a593Smuzhiyun
197*4882a593Smuzhiyunsource "sound/core/seq/Kconfig"
198