Skip to content

Commit

Permalink
ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
Browse files Browse the repository at this point in the history
BugLink: https://launchpad.net/bugs/420578

The OR has verified that his hardware distorts because of the 0 dB
offset not corresponding to the highest PCM level. Fix this by capping
said PCM level to 0 dB similarly to what we do for CX20549 (Venice).

Reported-by: Mike Pontillo <pontillo@gmail.com>
Tested-by: Mike Pontillo <pontillo@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Daniel T Chen authored and Takashi Iwai committed Mar 22, 2010
1 parent e3d2530 commit 025f206
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions sound/pci/hda/patch_conexant.c
Original file line number Diff line number Diff line change
Expand Up @@ -1591,6 +1591,21 @@ static int patch_cxt5047(struct hda_codec *codec)
#endif
}
spec->vmaster_nid = 0x13;

switch (codec->subsystem_id >> 16) {
case 0x103c:
/* HP laptops have really bad sound over 0 dB on NID 0x10.
* Fix max PCM level to 0 dB (originally it has 0x1e steps
* with 0 dB offset 0x17)
*/
snd_hda_override_amp_caps(codec, 0x10, HDA_INPUT,
(0x17 << AC_AMPCAP_OFFSET_SHIFT) |
(0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
(0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
(1 << AC_AMPCAP_MUTE_SHIFT));
break;
}

return 0;
}

Expand Down

0 comments on commit 025f206

Please sign in to comment.