[alsa-devel] HDA regression on Fujitsu S7020 laptop (ALC260 codec)

Takashi Iwai tiwai at suse.de
Thu Jan 3 11:39:33 CET 2013

At Sat, 29 Dec 2012 00:22:07 +1030,
Jonathan Woithe wrote:
> Having been running kernel 3.3.5 for a while, I decided to upgrade to 3.7.1
> tonight.  Unfortunately there have been a number of HDA-related regressions
> between these two kernels when running on a Fujitsu S7020 laptop which are
> clearly related to the HDA rewrite which has been going on recently.  This
> laptop utilises the Realtek ALC260 codec.
> Testing was initially done with alsa-lib 1.0.24 and alsa-utils 1.0.24.  I
> upgraded to version 1.0.26 of both but the behaviour remained the same under
> 3.3.5 and 3.7.1.
> Under 3.3.5, sound works perfectly.
> Under 3.7.1 there are a number of regressions:
>  - there is no alsamixer control for the internal speaker.  I have a "PCM"
>    volume control which appears to do nothing.  Previously there was a
>    speaker control, the PCM control affected every output (from memory), as
>    did the master volume.
>  - no audio comes out of the internal speaker regardless of the "auto mute"
>    setting.
>  - there are no pin mode (re-tasking) controls for the mic or headphone jack
>    in alsamixer.  On this laptop the mic jack should have various bias
>    options as well as line-in.  The headphone jack should include headphone
>    (aka output amplifier on), line-out (output amplifier off), line-in and
>    mic options.
> The second ADC does show up in alsamixer as a second capture device, but
> probably due to the lack of retasking support it is not possible to select
> the headphone jack as an input option.

The jack retasking of the headphone input is still an open issue.
I can provide a patch to add the support via "Headphone Jack Mode"
enum, but David didn't like that approach.

> Audio does come out of the headphone jack.  However, as noted above it is
> not possible to switch this from headphone to line-out.  The volume of the
> headphone output is affected by the "master" and "headphone" volume
> controls.

OK, this should be added similarly via "Headphone Jack Mode" enum.

> The inability to set the pin modes is a showstopper for me - I need to be
> able to do this and thus will be stuck on older kernels until this is fixed.
> At the end of this post I have included the /proc/asound/card0/codec#0
> output under 3.3.5 (which works well) and 3.7.1 (which is broken as
> described above).
> What needs to be done to restore the functionality for the S7020 that has
> been working for years?  It seems that some form of model quirk needs to be
> ported into the new HDA framework from earlier kernels, but since this sort
> of thing appears to have been removed with the rewrite (at least for realtek
> codecs) it's difficult to see where to begin.

At best, please give alsa-info.sh outputs on both old and new kernels.

We won't add any longer too much machine-specific code.  In the long
run, (most of) all codec drivers will be merged to a single driver.
So, let's fix the easier one, the auto-mute breakage at first, and
proceed to add the missing mixer enums for introducing the finer jack



More information about the Alsa-devel mailing list