SRU - LP #293271 - UBUNTU: SAUCE: ALSA: hda: make a STAC_DELL_EQ option (version 2)

Stefan Bader stefan.bader at canonical.com
Wed Nov 5 08:41:05 UTC 2008


ACK

Tim Gardner wrote:
> From fd14aa2eecbcbabef5b20654e0c90e6a3227eb16 Mon Sep 17 00:00:00 2001
> From: Tim Gardner <tim.gardner at canonical.com>
> Date: Tue, 4 Nov 2008 13:43:47 -0700
> Subject: [PATCH] UBUNTU: SAUCE: ALSA: hda: make a STAC_DELL_EQ option (version 2)
>  OriginalAuthor: Matthew Ranostay <mranostay at embeddedalley.com>
>  Bug: #293271
> 
> Add support for explicitly enabling the EQ distortion hack for
> systems without software biquad support.
> 
> Backported from 2.6.28-rc3 6b3ab21ef1ac15db4b053ce0ba8eae0ef9361c8a
> by  Matthew Ranostay.
> 
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> ---
>  sound/pci/hda/patch_sigmatel.c |   15 +++++++++------
>  1 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
> index f3da621..732ce13 100644
> --- a/sound/pci/hda/patch_sigmatel.c
> +++ b/sound/pci/hda/patch_sigmatel.c
> @@ -67,6 +67,7 @@ enum {
>  enum {
>  	STAC_92HD73XX_REF,
>  	STAC_DELL_M6,
> +	STAC_DELL_EQ,
>  	STAC_92HD73XX_MODELS
>  };
>  
> @@ -560,9 +561,7 @@ static struct hda_verb dell_eq_core_init[] = {
>  };
>  
>  static struct hda_verb dell_m6_core_init[] = {
> -	/* set master volume to max value without distortion
> -	 * and direct control */
> -	{ 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
> +	{ 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff},
>  	/* setup audio connections */
>  	{ 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
>  	{ 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
> @@ -1297,11 +1296,13 @@ static unsigned int dell_m6_pin_configs[13] = {
>  static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = {
>  	[STAC_92HD73XX_REF]	= ref92hd73xx_pin_configs,
>  	[STAC_DELL_M6]	= dell_m6_pin_configs,
> +	[STAC_DELL_EQ]	= dell_m6_pin_configs,
>  };
>  
>  static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = {
>  	[STAC_92HD73XX_REF] = "ref",
>  	[STAC_DELL_M6] = "dell-m6",
> +	[STAC_DELL_EQ] = "dell-eq",
>  };
>  
>  static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
> @@ -3560,8 +3561,12 @@ again:
>  	spec->gpio_data = 0x01;
>  
>  	switch (spec->board_config) {
> -	case STAC_DELL_M6:
> +	case STAC_DELL_EQ:
>  		spec->init = dell_eq_core_init;
> +		/* fallthru */
> +	case STAC_DELL_M6:
> +		if (!spec->init)
> +			spec->init = dell_m6_core_init;
>  		switch (codec->subsystem_id) {
>  		case 0x1028025e: /* Analog Mics */
>  		case 0x1028025f:
> @@ -3570,8 +3575,6 @@ again:
>  			break;
>  		case 0x10280271: /* Digital Mics */
>  		case 0x10280272:
> -			spec->init = dell_m6_core_init;
> -			/* fall-through */
>  		case 0x10280254:
>  		case 0x10280255:
>  			stac92xx_set_config_reg(codec, 0x13, 0x90A60160);


-- 

When all other means of communication fail, try words!






More information about the kernel-team mailing list