At Sun, 21 Mar 2010 19:01:18 -0400, Daniel Chen wrote:
Hi,
Attached is a patch to fix distortion at max PCM setting for HP laptops using CX20551 (Waikiki).
Applied now. Thanks.
Takashi
Best, -Dan [2 0001-ALSA-hda-Fix-0-dB-offset-for-HP-laptops-using-CX2055.patch <text/x-patch; US-ASCII (base64)>] From 8442bd67f25ab5df43c99549480d5011fa3cb9c1 Mon Sep 17 00:00:00 2001 From: Daniel T Chen crimsun@ubuntu.com Date: Sun, 21 Mar 2010 18:34:43 -0400 Subject: [PATCH] ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
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
sound/pci/hda/patch_conexant.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 194a28c..61682e1 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c @@ -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;
}
-- 1.7.0