[alsa-devel] HDA regression on Fujitsu S7020 laptop (ALC260 codec)
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"
> - 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
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