Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76531d41 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/hda' into for-linus

parents 7d339ae9 a353fbb1
Loading
Loading
Loading
Loading
+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.
+39 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
+1272 −0

File added.

Preview size limit exceeded, changes collapsed.

+1353 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading