[alsa-devel] [PATCH] ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)

Takashi Iwai tiwai at suse.de
Mon Mar 22 08:10:24 CET 2010


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 at 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 at gmail.com>
> Tested-by: Mike Pontillo <pontillo at gmail.com>
> Cc: <stable at kernel.org>
> Signed-off-by: Daniel T Chen <crimsun at 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
> 


More information about the Alsa-devel mailing list