86c96e7289
Fix the kconfig option for the tas2781 HDA driver to select CRC32 rather
than CRC32_SARWATE. CRC32_SARWATE is an option from the kconfig
'choice' that selects the specific CRC32 implementation. Selecting a
'choice' option seems to have no effect, but even if it did work, it
would be incorrect for a random driver to override the user's choice.
CRC32 is the correct option to select for crc32() to be available.
Fixes: 5be27f1e3e
("ALSA: hda/tas2781: Add tas2781 HDA driver")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://patch.msgid.link/20241020175624.7095-1-ebiggers@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
410 lines
12 KiB
Plaintext
410 lines
12 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "HD-Audio"
|
|
|
|
config SND_HDA
|
|
tristate
|
|
select SND_PCM
|
|
select SND_VMASTER
|
|
select SND_JACK
|
|
select SND_HDA_CORE
|
|
|
|
config SND_HDA_GENERIC_LEDS
|
|
bool
|
|
|
|
config SND_HDA_INTEL
|
|
tristate "HD Audio PCI"
|
|
depends on SND_PCI
|
|
select SND_HDA
|
|
select SND_INTEL_DSP_CONFIG
|
|
help
|
|
Say Y here to include support for Intel "High Definition
|
|
Audio" (Azalia) and its compatible devices.
|
|
|
|
This option enables the HD-audio controller. Don't forget
|
|
to choose the appropriate codec options below.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-hda-intel.
|
|
|
|
config SND_HDA_TEGRA
|
|
tristate "NVIDIA Tegra HD Audio"
|
|
depends on ARCH_TEGRA
|
|
select SND_HDA
|
|
select SND_HDA_ALIGNED_MMIO
|
|
help
|
|
Say Y here to support the HDA controller present in NVIDIA
|
|
Tegra SoCs
|
|
|
|
This options enables support for the HD Audio controller
|
|
present in some NVIDIA Tegra SoCs, used to communicate audio
|
|
to the HDMI output.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-hda-tegra.
|
|
|
|
if SND_HDA
|
|
|
|
config SND_HDA_HWDEP
|
|
bool "Build hwdep interface for HD-audio driver"
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to build a hwdep interface for HD-audio driver.
|
|
This interface can be used for out-of-band communication
|
|
with codecs for debugging purposes.
|
|
|
|
config SND_HDA_RECONFIG
|
|
bool "Allow dynamic codec reconfiguration"
|
|
help
|
|
Say Y here to enable the HD-audio codec re-configuration feature.
|
|
It allows user to clear the whole codec configuration, change the
|
|
codec setup, add extra verbs, and re-configure the codec dynamically.
|
|
|
|
Note that this item alone doesn't provide the sysfs interface, but
|
|
enables the feature just for the patch loader below.
|
|
If you need the traditional sysfs entries for the manual interaction,
|
|
turn on CONFIG_SND_HDA_HWDEP as well.
|
|
|
|
config SND_HDA_INPUT_BEEP
|
|
bool "Support digital beep via input layer"
|
|
depends on INPUT=y || INPUT=SND_HDA
|
|
help
|
|
Say Y here to build a digital beep interface for HD-audio
|
|
driver. This interface is used to generate digital beeps.
|
|
|
|
config SND_HDA_INPUT_BEEP_MODE
|
|
int "Digital beep registration mode (0=off, 1=on)"
|
|
depends on SND_HDA_INPUT_BEEP=y
|
|
default "1"
|
|
range 0 1
|
|
help
|
|
Set 0 to disable the digital beep interface for HD-audio by default.
|
|
Set 1 to always enable the digital beep interface for HD-audio by
|
|
default.
|
|
|
|
config SND_HDA_PATCH_LOADER
|
|
bool "Support initialization patch loading for HD-audio"
|
|
select FW_LOADER
|
|
select SND_HDA_RECONFIG
|
|
help
|
|
Say Y here to allow the HD-audio driver to load a pseudo
|
|
firmware file ("patch") for overriding the BIOS setup at
|
|
start up. The "patch" file can be specified via patch module
|
|
option, such as patch=hda-init.
|
|
|
|
config SND_HDA_CIRRUS_SCODEC
|
|
tristate
|
|
|
|
config SND_HDA_CIRRUS_SCODEC_KUNIT_TEST
|
|
tristate "KUnit test for Cirrus side-codec library" if !KUNIT_ALL_TESTS
|
|
select SND_HDA_CIRRUS_SCODEC
|
|
select GPIOLIB
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
This builds KUnit tests for the cirrus side-codec library.
|
|
For more information on KUnit and unit tests in general,
|
|
please refer to the KUnit documentation in
|
|
Documentation/dev-tools/kunit/.
|
|
If in doubt, say "N".
|
|
|
|
config SND_HDA_SCODEC_CS35L41
|
|
tristate
|
|
select SND_HDA_GENERIC
|
|
select REGMAP_IRQ
|
|
|
|
config SND_HDA_CS_DSP_CONTROLS
|
|
tristate
|
|
select FW_CS_DSP
|
|
|
|
config SND_HDA_SCODEC_COMPONENT
|
|
tristate
|
|
|
|
config SND_HDA_SCODEC_CS35L41_I2C
|
|
tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
|
|
depends on I2C
|
|
depends on ACPI
|
|
depends on EFI
|
|
depends on SND_SOC
|
|
select SND_SOC_CS35L41_LIB
|
|
select SND_HDA_SCODEC_CS35L41
|
|
select SND_HDA_CS_DSP_CONTROLS
|
|
select SND_SOC_CS_AMP_LIB
|
|
help
|
|
Say Y or M here to include CS35L41 I2C HD-audio side codec support
|
|
in snd-hda-intel driver, such as ALC287.
|
|
|
|
comment "Set to Y if you want auto-loading the side codec driver"
|
|
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
|
|
|
|
config SND_HDA_SCODEC_CS35L41_SPI
|
|
tristate "Build CS35L41 HD-audio codec support for SPI Bus"
|
|
depends on SPI_MASTER
|
|
depends on ACPI
|
|
depends on EFI
|
|
depends on SND_SOC
|
|
select SND_SOC_CS35L41_LIB
|
|
select SND_HDA_SCODEC_CS35L41
|
|
select SND_HDA_CS_DSP_CONTROLS
|
|
select SND_SOC_CS_AMP_LIB
|
|
help
|
|
Say Y or M here to include CS35L41 SPI HD-audio side codec support
|
|
in snd-hda-intel driver, such as ALC287.
|
|
|
|
comment "Set to Y if you want auto-loading the side codec driver"
|
|
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
|
|
|
|
config SND_HDA_SCODEC_CS35L56
|
|
tristate
|
|
|
|
config SND_HDA_SCODEC_CS35L56_I2C
|
|
tristate "Build CS35L56 HD-audio side codec support for I2C Bus"
|
|
depends on I2C
|
|
depends on ACPI || COMPILE_TEST
|
|
depends on SND_SOC
|
|
select FW_CS_DSP
|
|
imply SERIAL_MULTI_INSTANTIATE
|
|
select SND_HDA_GENERIC
|
|
select SND_SOC_CS35L56_SHARED
|
|
select SND_HDA_SCODEC_CS35L56
|
|
select SND_HDA_CIRRUS_SCODEC
|
|
select SND_HDA_CS_DSP_CONTROLS
|
|
select SND_SOC_CS_AMP_LIB
|
|
help
|
|
Say Y or M here to include CS35L56 amplifier support with
|
|
I2C control.
|
|
|
|
config SND_HDA_SCODEC_CS35L56_SPI
|
|
tristate "Build CS35L56 HD-audio side codec support for SPI Bus"
|
|
depends on SPI_MASTER
|
|
depends on ACPI || COMPILE_TEST
|
|
depends on SND_SOC
|
|
select FW_CS_DSP
|
|
imply SERIAL_MULTI_INSTANTIATE
|
|
select SND_HDA_GENERIC
|
|
select SND_SOC_CS35L56_SHARED
|
|
select SND_HDA_SCODEC_CS35L56
|
|
select SND_HDA_CIRRUS_SCODEC
|
|
select SND_HDA_CS_DSP_CONTROLS
|
|
select SND_SOC_CS_AMP_LIB
|
|
help
|
|
Say Y or M here to include CS35L56 amplifier support with
|
|
SPI control.
|
|
|
|
config SND_HDA_SCODEC_TAS2781_I2C
|
|
tristate "Build TAS2781 HD-audio side codec support for I2C Bus"
|
|
depends on I2C
|
|
depends on ACPI
|
|
depends on EFI
|
|
depends on SND_SOC
|
|
select SND_SOC_TAS2781_COMLIB
|
|
select SND_SOC_TAS2781_FMWLIB
|
|
select CRC32
|
|
help
|
|
Say Y or M here to include TAS2781 I2C HD-audio side codec support
|
|
in snd-hda-intel driver, such as ALC287.
|
|
|
|
comment "Set to Y if you want auto-loading the side codec driver"
|
|
depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_I2C=m
|
|
|
|
config SND_HDA_CODEC_REALTEK
|
|
tristate "Build Realtek HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
select SND_HDA_GENERIC_LEDS
|
|
select SND_HDA_SCODEC_COMPONENT
|
|
help
|
|
Say Y or M here to include Realtek HD-audio codec support in
|
|
snd-hda-intel driver, such as ALC880.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
|
|
|
|
config SND_HDA_CODEC_ANALOG
|
|
tristate "Build Analog Devices HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include Analog Devices HD-audio codec support in
|
|
snd-hda-intel driver, such as AD1986A.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
|
|
|
|
config SND_HDA_CODEC_SIGMATEL
|
|
tristate "Build IDT/Sigmatel HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
select SND_HDA_GENERIC_LEDS
|
|
help
|
|
Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
|
|
snd-hda-intel driver, such as STAC9200.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
|
|
|
|
config SND_HDA_CODEC_VIA
|
|
tristate "Build VIA HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include VIA HD-audio codec support in
|
|
snd-hda-intel driver, such as VT1708.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
|
|
|
|
config SND_HDA_CODEC_HDMI
|
|
tristate "Build HDMI/DisplayPort HD-audio codec support"
|
|
select SND_DYNAMIC_MINORS
|
|
help
|
|
Say Y or M here to include HDMI and DisplayPort HD-audio codec
|
|
support in snd-hda-intel driver. This includes all AMD/ATI,
|
|
Intel and Nvidia HDMI/DisplayPort codecs.
|
|
|
|
Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
|
|
to assure the multiple streams for DP-MST support.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
|
|
|
|
config SND_HDA_CODEC_CIRRUS
|
|
tristate "Build Cirrus Logic codec support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include Cirrus Logic codec support in
|
|
snd-hda-intel driver, such as CS4206.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
|
|
|
|
config SND_HDA_CODEC_CS8409
|
|
tristate "Build Cirrus Logic HDA bridge support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include Cirrus Logic HDA bridge support in
|
|
snd-hda-intel driver, such as CS8409.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
|
|
|
|
config SND_HDA_CODEC_CONEXANT
|
|
tristate "Build Conexant HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
select SND_HDA_GENERIC_LEDS
|
|
help
|
|
Say Y or M here to include Conexant HD-audio codec support in
|
|
snd-hda-intel driver, such as CX20549.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
|
|
|
|
config SND_HDA_CODEC_SENARYTECH
|
|
tristate "Build Senarytech HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
select SND_HDA_GENERIC_LEDS
|
|
help
|
|
Say Y or M here to include Senarytech HD-audio codec support in
|
|
snd-hda-intel driver, such as SN6186.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_SENARYTECH=m
|
|
|
|
config SND_HDA_CODEC_CA0110
|
|
tristate "Build Creative CA0110-IBG codec support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include Creative CA0110-IBG codec support in
|
|
snd-hda-intel driver, found on some Creative X-Fi cards.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
|
|
|
|
config SND_HDA_CODEC_CA0132
|
|
tristate "Build Creative CA0132 codec support"
|
|
help
|
|
Say Y or M here to include Creative CA0132 codec support in
|
|
snd-hda-intel driver.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
|
|
|
|
config SND_HDA_CODEC_CA0132_DSP
|
|
bool "Support new DSP code for CA0132 codec"
|
|
depends on SND_HDA_CODEC_CA0132
|
|
default y
|
|
select SND_HDA_DSP_LOADER
|
|
select FW_LOADER
|
|
help
|
|
Say Y here to enable the DSP for Creative CA0132 for extended
|
|
features like equalizer or echo cancellation.
|
|
|
|
Note that this option requires the external firmware file
|
|
(ctefx.bin).
|
|
|
|
config SND_HDA_CODEC_CMEDIA
|
|
tristate "Build C-Media HD-audio codec support"
|
|
select SND_HDA_GENERIC
|
|
help
|
|
Say Y or M here to include C-Media HD-audio codec support in
|
|
snd-hda-intel driver, such as CMI9880.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
|
|
|
|
config SND_HDA_CODEC_SI3054
|
|
tristate "Build Silicon Labs 3054 HD-modem codec support"
|
|
help
|
|
Say Y or M here to include Silicon Labs 3054 HD-modem codec
|
|
(and compatibles) support in snd-hda-intel driver.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
|
|
|
|
config SND_HDA_GENERIC
|
|
tristate "Enable generic HD-audio codec parser"
|
|
select SND_CTL_LED if SND_HDA_GENERIC_LEDS
|
|
select LEDS_CLASS if SND_HDA_GENERIC_LEDS
|
|
help
|
|
Say Y or M here to enable the generic HD-audio codec parser
|
|
in snd-hda-intel driver.
|
|
|
|
comment "Set to Y if you want auto-loading the codec driver"
|
|
depends on SND_HDA=y && SND_HDA_GENERIC=m
|
|
|
|
config SND_HDA_POWER_SAVE_DEFAULT
|
|
int "Default time-out for HD-audio power-save mode"
|
|
depends on PM
|
|
default 0
|
|
help
|
|
The default time-out value in seconds for HD-audio automatic
|
|
power-save mode. 0 means to disable the power-save mode.
|
|
|
|
config SND_HDA_INTEL_HDMI_SILENT_STREAM
|
|
bool "Enable Silent Stream always for HDMI"
|
|
depends on SND_HDA_INTEL
|
|
help
|
|
Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream
|
|
for HDMI on hardware that supports the feature.
|
|
|
|
When enabled, the HDMI/DisplayPort codec will continue to provide
|
|
a continuous clock and a valid but silent data stream to
|
|
any connected external receiver. This allows to avoid gaps
|
|
at start of playback. Many receivers require multiple seconds
|
|
to start playing audio after the clock has been stopped.
|
|
This feature can impact power consumption as resources
|
|
are kept reserved both at transmitter and receiver.
|
|
|
|
config SND_HDA_CTL_DEV_ID
|
|
bool "Use the device identifier field for controls"
|
|
depends on SND_HDA_INTEL
|
|
help
|
|
Say Y to use the device identifier field for (mixer)
|
|
controls (old behaviour until this option is available).
|
|
|
|
When enabled, the multiple HDA codecs may set the device
|
|
field in control (mixer) element identifiers. The use
|
|
of this field is not recommended and defined for mixer controls.
|
|
|
|
The old behaviour (Y) is obsolete and will be removed. Consider
|
|
to not enable this option.
|
|
|
|
endif
|
|
|
|
endmenu
|