Linux Archive

Linux Archive (
-   Ubuntu Kernel Team (
-   -   Revert ALC268 quirk for Inspiron 910 on Lucid (

"Herton R. Krzesinski" 11-18-2011 02:05 AM

Revert ALC268 quirk for Inspiron 910 on Lucid
Following this is the revert for commit "ALSA: hda: Fix quirk for Dell
Inspiron 910", I'm proposing this only for Lucid at the moment.

It introduces a regression on Lucid: bug 875300

The commit is suposed to fix an issue with Dell Inspiron 910, reported
on bug 792712. In that bug, which was filled against 2.6.38 kernel
(Natty), the reporter says that sound output with his hardware, which
should be using the dell model of ALC268 codec, doesn't work, and that
he needs the model=auto option of snd-hda-intel to make it work.

But there are 2 strange things on that report:
* The Codec line shown in the Card0.Codecs.codec.0.txt:
Codec: Realtek ID 268
* The mixer items shown in Card0.Amixer.values.txt, there are only two
items: Master and PCM controls.

On 2.6.38 kernel running on that hardware, the expected codec line
should be "Codec: Realtek ALC268", and there should be more items for
the mixer, like Speaker/Headphone playback switches, etc., which the
code creates. If I get the codec file and run it against hda-emu [1]
compiled with 2.6.38 hda from Natty, I get the expected codec name
displayed on hda-emu codec dump, plus I can verify in it that all (more
than only two controls) are created.

This raises the question if the reporter really was using snd-hda-intel
from 2.6.38, and not an old alsa-driver release for example.

It doesn't make sense Inspiron 910 needing model=auto also: the only
differences between model=auto and model=dell on Natty, regarding sound
output, are muted output pins, which can be unmuted with the mixer
items in 2.6.38. I checked this using the codec file in hda-emu, diffing
dumps with -m auto and -m dell.

Also the commit, which was included in 2.6.32 stable (wrongly since the
original commit contains "Cc: <> [2.6.38+]"), breaks
(as reported) the sound on Dell hardware with subvendor/subdevice
0x1028:0x02b0 and ALC268, as on 2.6.32, the EAPD isn't enabled
automatically on headphone/speaker pins for them, when using the auto
model. EAPD enabled is required for it, as proven after getting feedback
from one of the reporters of the regression (thanks to Marc
Deslauriers), who tested it and confirmed just enabling EAPD was enough
on Lucid.

With the auto model, EAPD is only enabled automatically after commit
5a8cfb4 (ALSA: hda - Use ALC_INIT_DEFAULT for really default
initialization), which is included on later kernels (2.6.35 stable and
later), so only Lucid should have the regression (and that's what's

The model=auto commit also causes no more trouble on later kernels
because the model=auto and model=dell behave in a very similar way when
it has the EAPD enable fix (almost no differences, like said above
verified with hda-emu on Natty), so model=dell could be removed (which
was removed also in kernel 3.2-rc1 upstream).

Sorry for the long message, but I wanted to explain the full reasoning
for the revert, concluded after several findings.


kernel-team mailing list

All times are GMT. The time now is 06:48 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.