Loading Documentation/sound/alsa/HD-Audio-Controls.txt 0 → 100644 +100 −0 Original line number Diff line number Diff line This file explains the codec-specific mixer controls. Realtek codecs -------------- * Channel Mode This is an enum control to change the surround-channel setup, appears only when the surround channels are available. It gives the number of channels to be used, "2ch", "4ch", "6ch", and "8ch". According to the configuration, this also controls the jack-retasking of multi-I/O jacks. * Auto-Mute Mode This is an enum control to change the auto-mute behavior of the headphone and line-out jacks. If built-in speakers and headphone and/or line-out jacks are available on a machine, this controls appears. When there are only either headphones or line-out jacks, it gives "Disabled" and "Enabled" state. When enabled, the speaker is muted automatically when a jack is plugged. When both headphone and line-out jacks are present, it gives "Disabled", "Speaker Only" and "Line-Out+Speaker". When speaker-only is chosen, plugging into a headphone or a line-out jack mutes the speakers, but not line-outs. When line-out+speaker is selected, plugging to a headphone jack mutes both speakers and line-outs. IDT/Sigmatel codecs ------------------- * Analog Loopback This control enables/disables the analog-loopback circuit. This appears only when "loopback" is set to true in a codec hint (see HD-Audio.txt). Note that on some codecs the analog-loopback and the normal PCM playback are exclusive, i.e. when this is on, you won't hear any PCM stream. * Swap Center/LFE Swaps the center and LFE channel order. Normally, the left corresponds to the center and the right to the LFE. When this is ON, the left to the LFE and the right to the center. * Headphone as Line Out When this control is ON, treat the headphone jacks as line-out jacks. That is, the headphone won't auto-mute the other line-outs, and no HP-amp is set to the pins. * Mic Jack Mode, Line Jack Mode, etc These enum controls the direction and the bias of the input jack pins. Depending on the jack type, it can set as "Mic In" and "Line In", for determining the input bias, or it can be set to "Line Out" when the pin is a multi-I/O jack for surround channels. VIA codecs ---------- * Smart 5.1 An enum control to re-task the multi-I/O jacks for surround outputs. When it's ON, the corresponding input jacks (usually a line-in and a mic-in) are switched as the surround and the CLFE output jacks. * Independent HP When this enum control is enabled, the headphone output is routed from an individual stream (the third PCM such as hw:0,2) instead of the primary stream. In the case the headphone DAC is shared with a side or a CLFE-channel DAC, the DAC is switched to the headphone automatically. * Loopback Mixing An enum control to determine whether the analog-loopback route is enabled or not. When it's enabled, the analog-loopback is mixed to the front-channel. Also, the same route is used for the headphone and speaker outputs. As a side-effect, when this mode is set, the individual volume controls will be no longer available for headphones and speakers because there is only one DAC connected to a mixer widget. * Dynamic Power-Control This control determines whether the dynamic power-control per jack detection is enabled or not. When enabled, the widgets power state (D0/D3) are changed dynamically depending on the jack plugging state for saving power consumptions. However, if your system doesn't provide a proper jack-detection, this won't work; in such a case, turn this control OFF. * Jack Detect This control is provided only for VT1708 codec which gives no proper unsolicited event per jack plug. When this is on, the driver polls the jack detection so that the headphone auto-mute can work, while turning this off would reduce the power consumption. Conexant codecs --------------- * Auto-Mute Mode See Reatek codecs. sound/pci/hda/Kconfig +39 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,19 @@ menuconfig SND_HDA_INTEL if SND_HDA_INTEL config SND_HDA_PREALLOC_SIZE int "Pre-allocated buffer size for HD-audio driver" range 0 32768 default 64 help Specifies the default pre-allocated buffer-size in kB for the HD-audio driver. A larger buffer (e.g. 2048) is preferred for systems using PulseAudio. The default 64 is chosen just for compatibility reasons. Note that the pre-allocation size can be changed dynamically via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. config SND_HDA_HWDEP bool "Build hwdep interface for HD-audio driver" select SND_HWDEP Loading Loading @@ -83,6 +96,19 @@ config SND_HDA_CODEC_REALTEK snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_ENABLE_REALTEK_QUIRKS bool "Build static quirks for Realtek codecs" depends on SND_HDA_CODEC_REALTEK default y help Say Y here to build the static quirks codes for Realtek codecs. If you need the "model" preset that the default BIOS auto-parser can't handle, turn this option on. If your device works with model=auto option, basically you don't need the quirk code. By turning this off, you can reduce the module size quite a lot. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading Loading @@ -171,6 +197,19 @@ config SND_HDA_CODEC_CA0110 snd-hda-codec-ca0110. This module is automatically loaded at probing. config SND_HDA_CODEC_CA0132 bool "Build Creative CA0132 codec support" depends on SND_HDA_INTEL default y help Say Y here to include Creative CA0132 codec support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-ca0132. This module is automatically loaded at probing. config SND_HDA_CODEC_CMEDIA bool "Build C-Media HD-audio codec support" default y Loading sound/pci/hda/Makefile +4 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ snd-hda-codec-idt-objs := patch_sigmatel.o snd-hda-codec-si3054-objs := patch_si3054.o snd-hda-codec-cirrus-objs := patch_cirrus.o snd-hda-codec-ca0110-objs := patch_ca0110.o snd-hda-codec-ca0132-objs := patch_ca0132.o snd-hda-codec-conexant-objs := patch_conexant.o snd-hda-codec-via-objs := patch_via.o snd-hda-codec-hdmi-objs := patch_hdmi.o hda_eld.o Loading Loading @@ -42,6 +43,9 @@ endif ifdef CONFIG_SND_HDA_CODEC_CA0110 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0110.o endif ifdef CONFIG_SND_HDA_CODEC_CA0132 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0132.o endif ifdef CONFIG_SND_HDA_CODEC_CONEXANT obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o endif Loading Loading
Documentation/sound/alsa/HD-Audio-Controls.txt 0 → 100644 +100 −0 Original line number Diff line number Diff line This file explains the codec-specific mixer controls. Realtek codecs -------------- * Channel Mode This is an enum control to change the surround-channel setup, appears only when the surround channels are available. It gives the number of channels to be used, "2ch", "4ch", "6ch", and "8ch". According to the configuration, this also controls the jack-retasking of multi-I/O jacks. * Auto-Mute Mode This is an enum control to change the auto-mute behavior of the headphone and line-out jacks. If built-in speakers and headphone and/or line-out jacks are available on a machine, this controls appears. When there are only either headphones or line-out jacks, it gives "Disabled" and "Enabled" state. When enabled, the speaker is muted automatically when a jack is plugged. When both headphone and line-out jacks are present, it gives "Disabled", "Speaker Only" and "Line-Out+Speaker". When speaker-only is chosen, plugging into a headphone or a line-out jack mutes the speakers, but not line-outs. When line-out+speaker is selected, plugging to a headphone jack mutes both speakers and line-outs. IDT/Sigmatel codecs ------------------- * Analog Loopback This control enables/disables the analog-loopback circuit. This appears only when "loopback" is set to true in a codec hint (see HD-Audio.txt). Note that on some codecs the analog-loopback and the normal PCM playback are exclusive, i.e. when this is on, you won't hear any PCM stream. * Swap Center/LFE Swaps the center and LFE channel order. Normally, the left corresponds to the center and the right to the LFE. When this is ON, the left to the LFE and the right to the center. * Headphone as Line Out When this control is ON, treat the headphone jacks as line-out jacks. That is, the headphone won't auto-mute the other line-outs, and no HP-amp is set to the pins. * Mic Jack Mode, Line Jack Mode, etc These enum controls the direction and the bias of the input jack pins. Depending on the jack type, it can set as "Mic In" and "Line In", for determining the input bias, or it can be set to "Line Out" when the pin is a multi-I/O jack for surround channels. VIA codecs ---------- * Smart 5.1 An enum control to re-task the multi-I/O jacks for surround outputs. When it's ON, the corresponding input jacks (usually a line-in and a mic-in) are switched as the surround and the CLFE output jacks. * Independent HP When this enum control is enabled, the headphone output is routed from an individual stream (the third PCM such as hw:0,2) instead of the primary stream. In the case the headphone DAC is shared with a side or a CLFE-channel DAC, the DAC is switched to the headphone automatically. * Loopback Mixing An enum control to determine whether the analog-loopback route is enabled or not. When it's enabled, the analog-loopback is mixed to the front-channel. Also, the same route is used for the headphone and speaker outputs. As a side-effect, when this mode is set, the individual volume controls will be no longer available for headphones and speakers because there is only one DAC connected to a mixer widget. * Dynamic Power-Control This control determines whether the dynamic power-control per jack detection is enabled or not. When enabled, the widgets power state (D0/D3) are changed dynamically depending on the jack plugging state for saving power consumptions. However, if your system doesn't provide a proper jack-detection, this won't work; in such a case, turn this control OFF. * Jack Detect This control is provided only for VT1708 codec which gives no proper unsolicited event per jack plug. When this is on, the driver polls the jack detection so that the headphone auto-mute can work, while turning this off would reduce the power consumption. Conexant codecs --------------- * Auto-Mute Mode See Reatek codecs.
sound/pci/hda/Kconfig +39 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,19 @@ menuconfig SND_HDA_INTEL if SND_HDA_INTEL config SND_HDA_PREALLOC_SIZE int "Pre-allocated buffer size for HD-audio driver" range 0 32768 default 64 help Specifies the default pre-allocated buffer-size in kB for the HD-audio driver. A larger buffer (e.g. 2048) is preferred for systems using PulseAudio. The default 64 is chosen just for compatibility reasons. Note that the pre-allocation size can be changed dynamically via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. config SND_HDA_HWDEP bool "Build hwdep interface for HD-audio driver" select SND_HWDEP Loading Loading @@ -83,6 +96,19 @@ config SND_HDA_CODEC_REALTEK snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_ENABLE_REALTEK_QUIRKS bool "Build static quirks for Realtek codecs" depends on SND_HDA_CODEC_REALTEK default y help Say Y here to build the static quirks codes for Realtek codecs. If you need the "model" preset that the default BIOS auto-parser can't handle, turn this option on. If your device works with model=auto option, basically you don't need the quirk code. By turning this off, you can reduce the module size quite a lot. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading Loading @@ -171,6 +197,19 @@ config SND_HDA_CODEC_CA0110 snd-hda-codec-ca0110. This module is automatically loaded at probing. config SND_HDA_CODEC_CA0132 bool "Build Creative CA0132 codec support" depends on SND_HDA_INTEL default y help Say Y here to include Creative CA0132 codec support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-ca0132. This module is automatically loaded at probing. config SND_HDA_CODEC_CMEDIA bool "Build C-Media HD-audio codec support" default y Loading
sound/pci/hda/Makefile +4 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ snd-hda-codec-idt-objs := patch_sigmatel.o snd-hda-codec-si3054-objs := patch_si3054.o snd-hda-codec-cirrus-objs := patch_cirrus.o snd-hda-codec-ca0110-objs := patch_ca0110.o snd-hda-codec-ca0132-objs := patch_ca0132.o snd-hda-codec-conexant-objs := patch_conexant.o snd-hda-codec-via-objs := patch_via.o snd-hda-codec-hdmi-objs := patch_hdmi.o hda_eld.o Loading Loading @@ -42,6 +43,9 @@ endif ifdef CONFIG_SND_HDA_CODEC_CA0110 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0110.o endif ifdef CONFIG_SND_HDA_CODEC_CA0132 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0132.o endif ifdef CONFIG_SND_HDA_CODEC_CONEXANT obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o endif Loading