All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hda: make a STAC_DELL_EQ option
@ 2008-11-03 13:12 Matthew Ranostay
  2008-11-03 13:17 ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Ranostay @ 2008-11-03 13:12 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Tellman, Steven, tim.gardner, Mario Limonciello

Add support for explicitly enabling the EQ distortion hack for
systems without software biquad support.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
---

diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
index c2f900f..2c0f37f 100644
--- a/pci/hda/patch_sigmatel.c
+++ b/pci/hda/patch_sigmatel.c
@@ -70,6 +70,7 @@ enum {
 enum {
 	STAC_92HD73XX_REF,
 	STAC_DELL_M6,
+	STAC_DELL_EQ,
 	STAC_92HD73XX_MODELS
 };

@@ -792,9 +793,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},
@@ -1622,11 +1621,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[] = {
@@ -4274,12 +4275,17 @@ again:
 			sizeof(stac92hd73xx_dmux));

 	switch (spec->board_config) {
-	case STAC_DELL_M6:
+	case STAC_DELL_EQ:
 		spec->init = dell_eq_core_init;
+		/* fallthru */
+	case STAC_DELL_M6:
 		spec->num_smuxes = 0;
 		spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
 		spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
 		spec->num_amps = 1;
+
+		if (!spec->init)
+			spec->init = dell_m6_core_init;
 		switch (codec->subsystem_id) {
 		case 0x1028025e: /* Analog Mics */
 		case 0x1028025f:
@@ -4289,8 +4295,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);

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] hda: make a STAC_DELL_EQ option
  2008-11-03 13:12 [PATCH] hda: make a STAC_DELL_EQ option Matthew Ranostay
@ 2008-11-03 13:17 ` Takashi Iwai
  2008-11-03 13:26   ` Matthew Ranostay
  0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2008-11-03 13:17 UTC (permalink / raw)
  To: Matthew Ranostay
  Cc: alsa-devel, tim.gardner, Tellman, Steven, Mario Limonciello

At Mon, 03 Nov 2008 08:12:43 -0500,
Matthew Ranostay wrote:
> 
> Add support for explicitly enabling the EQ distortion hack for
> systems without software biquad support.
> 
> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>

Is it to be merged to 2.6.28, right?
How about the older kernels?  To be sent to stable@kernel as well?


thanks,

Takashi

> ---
> 
> diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
> index c2f900f..2c0f37f 100644
> --- a/pci/hda/patch_sigmatel.c
> +++ b/pci/hda/patch_sigmatel.c
> @@ -70,6 +70,7 @@ enum {
>  enum {
>  	STAC_92HD73XX_REF,
>  	STAC_DELL_M6,
> +	STAC_DELL_EQ,
>  	STAC_92HD73XX_MODELS
>  };
> 
> @@ -792,9 +793,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},
> @@ -1622,11 +1621,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[] = {
> @@ -4274,12 +4275,17 @@ again:
>  			sizeof(stac92hd73xx_dmux));
> 
>  	switch (spec->board_config) {
> -	case STAC_DELL_M6:
> +	case STAC_DELL_EQ:
>  		spec->init = dell_eq_core_init;
> +		/* fallthru */
> +	case STAC_DELL_M6:
>  		spec->num_smuxes = 0;
>  		spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
>  		spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
>  		spec->num_amps = 1;
> +
> +		if (!spec->init)
> +			spec->init = dell_m6_core_init;
>  		switch (codec->subsystem_id) {
>  		case 0x1028025e: /* Analog Mics */
>  		case 0x1028025f:
> @@ -4289,8 +4295,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);
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hda: make a STAC_DELL_EQ option
  2008-11-03 13:17 ` Takashi Iwai
@ 2008-11-03 13:26   ` Matthew Ranostay
  2008-11-03 13:28     ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Ranostay @ 2008-11-03 13:26 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, tim.gardner, Tellman, Steven, Mario Limonciello

Takashi Iwai wrote:
> At Mon, 03 Nov 2008 08:12:43 -0500,
> Matthew Ranostay wrote:
>> Add support for explicitly enabling the EQ distortion hack for
>> systems without software biquad support.
>>
>> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
> 
> Is it to be merged to 2.6.28, right?
That be best if we are still in that time window.

> How about the older kernels?  To be sent to stable@kernel as well?
> 
Yeah this would good as well. Should I forward it?

> 
> thanks,
> 
> Takashi
> 
>> ---
>>
>> diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
>> index c2f900f..2c0f37f 100644
>> --- a/pci/hda/patch_sigmatel.c
>> +++ b/pci/hda/patch_sigmatel.c
>> @@ -70,6 +70,7 @@ enum {
>>  enum {
>>  	STAC_92HD73XX_REF,
>>  	STAC_DELL_M6,
>> +	STAC_DELL_EQ,
>>  	STAC_92HD73XX_MODELS
>>  };
>>
>> @@ -792,9 +793,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},
>> @@ -1622,11 +1621,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[] = {
>> @@ -4274,12 +4275,17 @@ again:
>>  			sizeof(stac92hd73xx_dmux));
>>
>>  	switch (spec->board_config) {
>> -	case STAC_DELL_M6:
>> +	case STAC_DELL_EQ:
>>  		spec->init = dell_eq_core_init;
>> +		/* fallthru */
>> +	case STAC_DELL_M6:
>>  		spec->num_smuxes = 0;
>>  		spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
>>  		spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
>>  		spec->num_amps = 1;
>> +
>> +		if (!spec->init)
>> +			spec->init = dell_m6_core_init;
>>  		switch (codec->subsystem_id) {
>>  		case 0x1028025e: /* Analog Mics */
>>  		case 0x1028025f:
>> @@ -4289,8 +4295,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);
>>
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] hda: make a STAC_DELL_EQ option
  2008-11-03 13:26   ` Matthew Ranostay
@ 2008-11-03 13:28     ` Takashi Iwai
  0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2008-11-03 13:28 UTC (permalink / raw)
  To: Matthew Ranostay
  Cc: alsa-devel, tim.gardner, Tellman, Steven, Mario Limonciello

At Mon, 03 Nov 2008 08:26:39 -0500,
Matthew Ranostay wrote:
> 
> Takashi Iwai wrote:
> > At Mon, 03 Nov 2008 08:12:43 -0500,
> > Matthew Ranostay wrote:
> >> Add support for explicitly enabling the EQ distortion hack for
> >> systems without software biquad support.
> >>
> >> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
> > 
> > Is it to be merged to 2.6.28, right?
> That be best if we are still in that time window.

Sure, such a trivial fix *must* go in.

> > How about the older kernels?  To be sent to stable@kernel as well?
> > 
> Yeah this would good as well. Should I forward it?

We can just 'Cc: stable@kernel.org' in the patch comment.
Then stable guys will pick it up automatically when committed to the
upstream.


thanks,

Takashi

> 
> > 
> > thanks,
> > 
> > Takashi
> > 
> >> ---
> >>
> >> diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
> >> index c2f900f..2c0f37f 100644
> >> --- a/pci/hda/patch_sigmatel.c
> >> +++ b/pci/hda/patch_sigmatel.c
> >> @@ -70,6 +70,7 @@ enum {
> >>  enum {
> >>  	STAC_92HD73XX_REF,
> >>  	STAC_DELL_M6,
> >> +	STAC_DELL_EQ,
> >>  	STAC_92HD73XX_MODELS
> >>  };
> >>
> >> @@ -792,9 +793,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},
> >> @@ -1622,11 +1621,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[] = {
> >> @@ -4274,12 +4275,17 @@ again:
> >>  			sizeof(stac92hd73xx_dmux));
> >>
> >>  	switch (spec->board_config) {
> >> -	case STAC_DELL_M6:
> >> +	case STAC_DELL_EQ:
> >>  		spec->init = dell_eq_core_init;
> >> +		/* fallthru */
> >> +	case STAC_DELL_M6:
> >>  		spec->num_smuxes = 0;
> >>  		spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
> >>  		spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
> >>  		spec->num_amps = 1;
> >> +
> >> +		if (!spec->init)
> >> +			spec->init = dell_m6_core_init;
> >>  		switch (codec->subsystem_id) {
> >>  		case 0x1028025e: /* Analog Mics */
> >>  		case 0x1028025f:
> >> @@ -4289,8 +4295,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);
> >>
> > 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-11-03 13:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-03 13:12 [PATCH] hda: make a STAC_DELL_EQ option Matthew Ranostay
2008-11-03 13:17 ` Takashi Iwai
2008-11-03 13:26   ` Matthew Ranostay
2008-11-03 13:28     ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.