[alsa-devel] [PATCH 0/2] Conexant HD-audio fixes

Takashi Iwai tiwai at suse.de
Fri Oct 14 15:57:20 CEST 2011


Hi,

while debugging a problem reported by a Thinkpad user, we found that
there are fundamental problems in the current Conexant auto-parser
code.

1. EAPDs on older chips don't correspond to the pin as 1:1.

  A single EAPD can influence on the whole outputs, so we can't turn
  it off simply even when the assigned pin isn't used.

2. There is only a single input-amp in audio-in widgets.

  This is contradicting against what I was informed before.  There is
  only one capture level in each audio-in widget no matter how many
  sources are connected to it.  For example, if an ADC has the
  connection to an internal mic and an external mic, the volume in ADC
  is only one, no individual amp per connection, unlike other
  widgets.

For the first issue, a fix is just keep EAPD turned on for such
chips.  This simplifies the previous David's fix.

About the second part, I'm not 100% sure whether it's correct to all
Conexant chips.  But this sounds more natural, and I always wondered
about the old implementation.

Can anyone confirm that the patches work properly?
The initial test was done with a machine with cx20549, so tests with
other codecs like cx20551, cx20561, and cx2058x would be appreciated.

After applying the patch, load snd-hda-intel with model=auto option.
You'll have a single "Capture" volume (or two capture volumes like
"Mic" and "Internal Mic", which correspond to different ADCs).
Check the different recording source and whether the capture volume(s)
really changes the recording level properly.


thanks,

Takashi


More information about the Alsa-devel mailing list