All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Dmux mixer conflict
@ 2007-12-18 22:40 Matthew Ranostay
  2007-12-19  9:27 ` Takashi Iwai
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Ranostay @ 2007-12-18 22:40 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Tim Gardner, Jose_De_La_Rosa

[-- Attachment #1: Type: text/plain, Size: 194 bytes --]

DMUX mixers need to be created before input source mixers, otherwise 
some STAC9228 codecs fail to record correctly or at all.

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

[-- Attachment #2: dmux_mixer.patch --]
[-- Type: text/plain, Size: 732 bytes --]

diff -r fbe3540c8df4 pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c	Tue Dec 18 18:05:52 2007 +0100
+++ b/pci/hda/patch_sigmatel.c	Tue Dec 18 15:27:34 2007 -0700
@@ -834,15 +834,16 @@ static int stac92xx_build_controls(struc
 	if (err < 0)
 		return err;
 
-	for (i = 0; i < spec->num_mixers; i++) {
-		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
-		if (err < 0)
-			return err;
-	}
 	if (spec->num_dmuxes > 0) {
 		stac_dmux_mixer.count = spec->num_dmuxes;
 		err = snd_ctl_add(codec->bus->card,
 				  snd_ctl_new1(&stac_dmux_mixer, codec));
+		if (err < 0)
+			return err;
+	}
+
+	for (i = 0; i < spec->num_mixers; i++) {
+		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
 		if (err < 0)
 			return err;
 	}

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [PATCH] Dmux mixer conflict
  2007-12-18 22:40 [PATCH] Dmux mixer conflict Matthew Ranostay
@ 2007-12-19  9:27 ` Takashi Iwai
  2007-12-19 14:07   ` Matthew Ranostay
  0 siblings, 1 reply; 3+ messages in thread
From: Takashi Iwai @ 2007-12-19  9:27 UTC (permalink / raw)
  To: Matthew Ranostay; +Cc: alsa-devel, Tim Gardner, Jose_De_La_Rosa

At Tue, 18 Dec 2007 17:40:05 -0500,
Matthew Ranostay wrote:
> 
> DMUX mixers need to be created before input source mixers, otherwise 
> some STAC9228 codecs fail to record correctly or at all.
> 
> ---
> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>

The fix looks doubtful.  The order of mixer elements should be
irrelevant with the functionality.

I suspect it might be the result of failure of 'alsactl restore'.
Some distros don't call alsactl properly with -F option.
(This option is set default in the latest HG version now.)


Takashi

> diff -r fbe3540c8df4 pci/hda/patch_sigmatel.c
> --- a/pci/hda/patch_sigmatel.c	Tue Dec 18 18:05:52 2007 +0100
> +++ b/pci/hda/patch_sigmatel.c	Tue Dec 18 15:27:34 2007 -0700
> @@ -834,15 +834,16 @@ static int stac92xx_build_controls(struc
>  	if (err < 0)
>  		return err;
>  
> -	for (i = 0; i < spec->num_mixers; i++) {
> -		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
> -		if (err < 0)
> -			return err;
> -	}
>  	if (spec->num_dmuxes > 0) {
>  		stac_dmux_mixer.count = spec->num_dmuxes;
>  		err = snd_ctl_add(codec->bus->card,
>  				  snd_ctl_new1(&stac_dmux_mixer, codec));
> +		if (err < 0)
> +			return err;
> +	}
> +
> +	for (i = 0; i < spec->num_mixers; i++) {
> +		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
>  		if (err < 0)
>  			return err;
>  	}

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

* Re: [PATCH] Dmux mixer conflict
  2007-12-19  9:27 ` Takashi Iwai
@ 2007-12-19 14:07   ` Matthew Ranostay
  0 siblings, 0 replies; 3+ messages in thread
From: Matthew Ranostay @ 2007-12-19 14:07 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Tim Gardner, Jose_De_La_Rosa

Takashi Iwai wrote:
> At Tue, 18 Dec 2007 17:40:05 -0500,
> Matthew Ranostay wrote:
>   
>> DMUX mixers need to be created before input source mixers, otherwise 
>> some STAC9228 codecs fail to record correctly or at all.
>>
>> ---
>> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
>>     
>
> The fix looks doubtful.  The order of mixer elements should be
> irrelevant with the functionality.
>
> I suspect it might be the result of failure of 'alsactl restore'.
> Some distros don't call alsactl properly with -F option.
> (This option is set default in the latest HG version now.)
>
>
> Takashi
>
>   
>> diff -r fbe3540c8df4 pci/hda/patch_sigmatel.c
>> --- a/pci/hda/patch_sigmatel.c	Tue Dec 18 18:05:52 2007 +0100
>> +++ b/pci/hda/patch_sigmatel.c	Tue Dec 18 15:27:34 2007 -0700
>> @@ -834,15 +834,16 @@ static int stac92xx_build_controls(struc
>>  	if (err < 0)
>>  		return err;
>>  
>> -	for (i = 0; i < spec->num_mixers; i++) {
>> -		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
>> -		if (err < 0)
>> -			return err;
>> -	}
>>  	if (spec->num_dmuxes > 0) {
>>  		stac_dmux_mixer.count = spec->num_dmuxes;
>>  		err = snd_ctl_add(codec->bus->card,
>>  				  snd_ctl_new1(&stac_dmux_mixer, codec));
>> +		if (err < 0)
>> +			return err;
>> +	}
>> +
>> +	for (i = 0; i < spec->num_mixers; i++) {
>> +		err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
>>  		if (err < 0)
>>  			return err;
>>  	}
>>     
>
>   
Ok thanks, I tried that and now it works as before.

-Matt Ranostay

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

end of thread, other threads:[~2007-12-19 14:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-18 22:40 [PATCH] Dmux mixer conflict Matthew Ranostay
2007-12-19  9:27 ` Takashi Iwai
2007-12-19 14:07   ` Matthew Ranostay

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.