All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: CMI8738-MC6 surround40 plugin on 4 SP systems]
       [not found] <20031030174239.GB2771@dailyplanet.net>
@ 2003-10-31 16:46 ` Takashi Iwai
  2003-10-31 17:39   ` Marcel
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2003-10-31 16:46 UTC (permalink / raw)
  To: Marcel; +Cc: alsa-devel

At Thu, 30 Oct 2003 12:42:39 -0500,
Marcel wrote:
> 
> 
> I've been trying to finetune my cmipci for several weeks now.   And this is
> the best way I've been able to get transparent operation with various audio
> material: stereo, mono, 4.0, 5.1.  The main problem being no surround sound
> iif "Exchange DAC" setting was not set, and sound on the rear speakers only
> if it was.

ah, this might be true.
does it happen both on 4.0 and 5.1 outputs?
i don't remember that it's necessary for 5.1 at the last time i
tested.

> I think the following patch should be considered.  It puts the surround
> sound on the rear speakers, where it should be when using the plugin
> surround40, and on front speakers in normal stereo/mono mode.  I've been
> testing it for several days now and it seems better than the original
> CMI8738-MC6.pcm.

looks fine.  i'll add it.

perhaps we should simply remove this control from user and handle
internally for the MC6 chip.


thanks,

Takashi


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

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

* Re: CMI8738-MC6 surround40 plugin on 4 SP systems]
  2003-10-31 16:46 ` CMI8738-MC6 surround40 plugin on 4 SP systems] Takashi Iwai
@ 2003-10-31 17:39   ` Marcel
  2003-11-04 16:27     ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Marcel @ 2003-10-31 17:39 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

* Takashi Iwai (tiwai@suse.de) wrote:
> At Thu, 30 Oct 2003 12:42:39 -0500,
> Marcel wrote:
> > 
> > 
> > I've been trying to finetune my cmipci for several weeks now.   And this is
> > the best way I've been able to get transparent operation with various audio
> > material: stereo, mono, 4.0, 5.1.  The main problem being no surround sound
> > iif "Exchange DAC" setting was not set, and sound on the rear speakers only
> > if it was.
> 
> ah, this might be true.
> does it happen both on 4.0 and 5.1 outputs?
> i don't remember that it's necessary for 5.1 at the last time i
> tested.

With surround40 plugin, 4 speakers, yes it's needed for both 4.0 and 5.1
material.  Applications such as mplayer or xine will remix 5.1 material to
4 channels.  For 6 speakers systems, I really don't know.

> perhaps we should simply remove this control from user and handle
> internally for the MC6 chip.
> 

I agree.  Its usage is confusing and may results in improper operation


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

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

* Re: Re: CMI8738-MC6 surround40 plugin on 4 SP systems]
  2003-10-31 17:39   ` Marcel
@ 2003-11-04 16:27     ` Takashi Iwai
  2003-11-05  0:35       ` Marcel
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2003-11-04 16:27 UTC (permalink / raw)
  To: Marcel; +Cc: alsa-devel

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

At Fri, 31 Oct 2003 12:39:18 -0500,
Marcel wrote:
> 
> * Takashi Iwai (tiwai@suse.de) wrote:
> > At Thu, 30 Oct 2003 12:42:39 -0500,
> > Marcel wrote:
> > > 
> > > 
> > > I've been trying to finetune my cmipci for several weeks now.   And this is
> > > the best way I've been able to get transparent operation with various audio
> > > material: stereo, mono, 4.0, 5.1.  The main problem being no surround sound
> > > iif "Exchange DAC" setting was not set, and sound on the rear speakers only
> > > if it was.
> > 
> > ah, this might be true.
> > does it happen both on 4.0 and 5.1 outputs?
> > i don't remember that it's necessary for 5.1 at the last time i
> > tested.
> 
> With surround40 plugin, 4 speakers, yes it's needed for both 4.0 and 5.1
> material.  Applications such as mplayer or xine will remix 5.1 material to
> 4 channels.  For 6 speakers systems, I really don't know.

could you try surround51 and check whether it somehow works?

> > perhaps we should simply remove this control from user and handle
> > internally for the MC6 chip.
> > 
> 
> I agree.  Its usage is confusing and may results in improper operation

how about the attached patch?


Takashi

[-- Attachment #2: cmipci-4ch-fix.dif --]
[-- Type: application/octet-stream, Size: 2089 bytes --]

Index: alsa-kernel/pci/cmipci.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/cmipci.c,v
retrieving revision 1.57
diff -u -r1.57 cmipci.c
--- alsa-kernel/pci/cmipci.c	28 Oct 2003 11:25:31 -0000	1.57
+++ alsa-kernel/pci/cmipci.c	4 Nov 2003 16:24:39 -0000
@@ -728,9 +728,11 @@
 		if (channels > 4) {
 			snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D);
 			snd_cmipci_set_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C);
+			snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
 		} else {
 			snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C);
 			snd_cmipci_set_bit(cm, CM_REG_CHFORMAT, CM_CHB3D);
+			snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
 		}
 		if (channels == 6) {
 			snd_cmipci_set_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C);
@@ -749,6 +751,7 @@
 			snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C);
 			snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C);
 			snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENCENTER);
+			snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
 			spin_unlock_irqrestore(&cm->reg_lock, flags);
 		}
 	}
@@ -2671,11 +2674,14 @@
 
 /* both for CM8338/8738 */
 static snd_kcontrol_new_t snd_cmipci_mixer_switches[] __devinitdata = {
-	DEFINE_MIXER_SWITCH("Exchange DAC", exchange_dac),
 	DEFINE_MIXER_SWITCH("Four Channel Mode", fourch),
 	DEFINE_MIXER_SWITCH("Line-In As Rear", line_rear),
 };
 
+/* for non-multichannel chips */
+static snd_kcontrol_new_t snd_cmipci_nomulti_switch __devinitdata =
+DEFINE_MIXER_SWITCH("Exchange DAC", exchange_dac);
+
 /* only for CM8738 */
 static snd_kcontrol_new_t snd_cmipci_8738_mixer_switches[] __devinitdata = {
 #if 0 /* controlled in pcm device */
@@ -2748,6 +2754,11 @@
 	sw = snd_cmipci_mixer_switches;
 	for (idx = 0; idx < num_controls(snd_cmipci_mixer_switches); idx++, sw++) {
 		err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm));
+		if (err < 0)
+			return err;
+	}
+	if (! cm->can_multi_ch) {
+		err = snd_ctl_add(cm->card, snd_ctl_new1(&snd_cmipci_nomulti_switch, cm));
 		if (err < 0)
 			return err;
 	}

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

* Re: Re: CMI8738-MC6 surround40 plugin on 4 SP systems]
  2003-11-04 16:27     ` Takashi Iwai
@ 2003-11-05  0:35       ` Marcel
  2003-11-07 19:50         ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Marcel @ 2003-11-05  0:35 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

* Takashi Iwai (tiwai@suse.de) wrote:
> At Fri, 31 Oct 2003 12:39:18 -0500,
> Marcel wrote:
> > 
> > * Takashi Iwai (tiwai@suse.de) wrote:
> > > At Thu, 30 Oct 2003 12:42:39 -0500,
> > > Marcel wrote:
> > > > 
> > > > 
> > > > I've been trying to finetune my cmipci for several weeks now.   And this is
> > > > the best way I've been able to get transparent operation with various audio
> > > > material: stereo, mono, 4.0, 5.1.  The main problem being no surround sound
> > > > iif "Exchange DAC" setting was not set, and sound on the rear speakers only
> > > > if it was.
> > > 
> > > ah, this might be true.
> > > does it happen both on 4.0 and 5.1 outputs?
> > > i don't remember that it's necessary for 5.1 at the last time i
> > > tested.
> > 
> > With surround40 plugin, 4 speakers, yes it's needed for both 4.0 and 5.1
> > material.  Applications such as mplayer or xine will remix 5.1 material to
> > 4 channels.  For 6 speakers systems, I really don't know.
> 
> could you try surround51 and check whether it somehow works?

I tried.  It's ok with stereo material.  With 5.1 material, xine refuses to
use it because I have 4 speakers only.  Mplayer will use it but 2 channels
only.  Seems there is no way to force applications to use 6 channels when I
got only 4 speakers.  "Mplayer -ao alsa9:surround51 -channels 6" gives an
error.  And I don't have any 5.1 sound file in wav or mp3 format for aplay
or alsaplayer to try.  Never been able to locate some.  But I suspect it
will fail too.  I think you'll need someone with 6 physical speakers to have
this verified.

> 
> > > perhaps we should simply remove this control from user and handle
> > > internally for the MC6 chip.
> > > 
> > 
> > I agree.  Its usage is confusing and may results in improper operation
> 
> how about the attached patch?

Great job!  If I understand how it works, the mixer setting is gone for the
8738-MC[46] chipsets, and still there for plain 8[37]38.  Works very well
here, no more confusion.  Multi-channel sound is enabled automatically. 
Front material is always in front, and surround material always in rear.

Adjustment is unconventional, but straightforward for surround material:

1 - Master at 0.
2 - Adjust rear volume with PCM near maximum required.
3 - Increase front volume with Master to obtain rear-front balance.
4 - Decrease PCM to lower volume on all 4 speakers.

Unusual, but that's the way its operates.

Don't forget to remove the following block in alsa/cards/CMI8738-MC6.conf if
you added it in the CVS, otherwise you'll get errors when using surround40
as "Exchange DAC" is no more:

#                       {
#                               name "Exchange DAC"
#                               lock true
#                               preserve true
#                               value true
#                       }

May I suggest adding this patch to the CVS?

One more control that deserves to go in mixer: "3D Control Switch".  It
doesn't work, never did, does nothing at all.


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

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

* Re: Re: CMI8738-MC6 surround40 plugin on 4 SP systems]
  2003-11-05  0:35       ` Marcel
@ 2003-11-07 19:50         ` Takashi Iwai
  0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2003-11-07 19:50 UTC (permalink / raw)
  To: Marcel; +Cc: alsa-devel

At Tue, 4 Nov 2003 19:35:37 -0500,
Marcel wrote:
> 
> * Takashi Iwai (tiwai@suse.de) wrote:
> > At Fri, 31 Oct 2003 12:39:18 -0500,
> > Marcel wrote:
> > > 
> > > * Takashi Iwai (tiwai@suse.de) wrote:
> > > > At Thu, 30 Oct 2003 12:42:39 -0500,
> > > > Marcel wrote:
> > > > > 
> > > > > 
> > > > > I've been trying to finetune my cmipci for several weeks now.   And this is
> > > > > the best way I've been able to get transparent operation with various audio
> > > > > material: stereo, mono, 4.0, 5.1.  The main problem being no surround sound
> > > > > iif "Exchange DAC" setting was not set, and sound on the rear speakers only
> > > > > if it was.
> > > > 
> > > > ah, this might be true.
> > > > does it happen both on 4.0 and 5.1 outputs?
> > > > i don't remember that it's necessary for 5.1 at the last time i
> > > > tested.
> > > 
> > > With surround40 plugin, 4 speakers, yes it's needed for both 4.0 and 5.1
> > > material.  Applications such as mplayer or xine will remix 5.1 material to
> > > 4 channels.  For 6 speakers systems, I really don't know.
> > 
> > could you try surround51 and check whether it somehow works?
> 
> I tried.  It's ok with stereo material.  With 5.1 material, xine refuses to
> use it because I have 4 speakers only.  Mplayer will use it but 2 channels
> only.  Seems there is no way to force applications to use 6 channels when I
> got only 4 speakers.  "Mplayer -ao alsa9:surround51 -channels 6" gives an
> error.  And I don't have any 5.1 sound file in wav or mp3 format for aplay
> or alsaplayer to try.  Never been able to locate some.  But I suspect it
> will fail too.  I think you'll need someone with 6 physical speakers to have
> this verified.
> 
> > 
> > > > perhaps we should simply remove this control from user and handle
> > > > internally for the MC6 chip.
> > > > 
> > > 
> > > I agree.  Its usage is confusing and may results in improper operation
> > 
> > how about the attached patch?
> 
> Great job!  If I understand how it works, the mixer setting is gone for the
> 8738-MC[46] chipsets, and still there for plain 8[37]38.  Works very well
> here, no more confusion.  Multi-channel sound is enabled automatically. 
> Front material is always in front, and surround material always in rear.
> 
> Adjustment is unconventional, but straightforward for surround material:
> 
> 1 - Master at 0.
> 2 - Adjust rear volume with PCM near maximum required.
> 3 - Increase front volume with Master to obtain rear-front balance.
> 4 - Decrease PCM to lower volume on all 4 speakers.
> 
> Unusual, but that's the way its operates.

hmm, it seems there is something wrong in the SB-style mixer code.
perhaps we need to put some delay.

anyway, the changes are now applied to cvs.

> One more control that deserves to go in mixer: "3D Control Switch".  It
> doesn't work, never did, does nothing at all.

well, it works for the older model.
it's a 3D-enhancement and not really 3d thing.
i'm not sure whether this doesn't work for all new models (> 037), so
it still remains there.  we can remove it later after confirming that
all new chips don't support this.


Takashi


-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/

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

end of thread, other threads:[~2003-11-07 19:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20031030174239.GB2771@dailyplanet.net>
2003-10-31 16:46 ` CMI8738-MC6 surround40 plugin on 4 SP systems] Takashi Iwai
2003-10-31 17:39   ` Marcel
2003-11-04 16:27     ` Takashi Iwai
2003-11-05  0:35       ` Marcel
2003-11-07 19:50         ` 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.