All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH]Audigy 2 ZS - side support
@ 2004-06-28  7:11 Peter Zubaj
  2004-07-14  5:48 ` Lee Revell
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Zubaj @ 2004-06-28  7:11 UTC (permalink / raw)
  To: alsa-devel

Hi,

Here are patches to add support for Audigy 2 ZS side speakers.
They are against CVS from 23.06.2004. I hope they will apply cleanly.

audigy2zs_driver_v2.diff - is kernel part - same as in bugtrack but
for CVS.

audigy2zs_lib_v2.diff - is alsa-lib part - this is not tested (it is
same as from my mail and with changes from bugtrack from elklein)

TODO - detection of audigy 2 zs. Now it will add side controls to
mixer for audigy 2 to. Maybe left or right slider can control volume
of back center on audigy 2 too.

Peter Zubaj
____________________________________
http://www.pobox.sk/ - najvacsi slovensky freemail





-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com

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

* [PATCH]Audigy 2 ZS - side support
@ 2004-06-28  8:51 Peter Zubaj
  2004-06-28 10:59 ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Zubaj @ 2004-06-28  8:51 UTC (permalink / raw)
  To: alsa-devel

[-- Attachment #1: Type: TEXT/plain, Size: 686 bytes --]

Hi,

Again, and now with patches.

Here are patches to add support for Audigy 2 ZS side speakers.
They are against CVS from 23.06.2004. I hope they will apply cleanly.

audigy2zs_driver_v2.diff - is kernel part - same as in bugtrack but
for CVS.

audigy2zs_lib_v2.diff - is alsa-lib part - this is not tested (it is
same as from my mail and with changes from bugtrack from elklein)

TODO - detection of audigy 2 zs. Now it will add side controls to
mixer for audigy 2 to. Maybe left or right slider can control volume
of back center on audigy 2 too.

Peter Zubaj



____________________________________
http://www.logofun.pobox.sk - urobte radost svojmu telefonu

[-- Attachment #2: audigy2zs_driver_v2.diff --]
[-- Type: APPLICATION/octet-stream, Size: 8295 bytes --]

diff -u -r o/alsa-kernel/include/emu10k1.h n/alsa-kernel/include/emu10k1.h
--- o/alsa-kernel/include/emu10k1.h	2004-06-23 13:49:06.000000000 +0200
+++ n/alsa-kernel/include/emu10k1.h	2004-06-27 13:13:18.000000000 +0200
@@ -939,7 +939,8 @@
 	int APS: 1,				/* APS flag */
 	    no_ac97: 1,				/* no AC'97 */
 	    tos_link: 1,			/* tos link detected */
-	    rear_ac97: 1;			/* rear channels are on AC'97 */
+	    rear_ac97: 1,			/* rear channels are on AC'97 */
+	    spk71:1;				/* 7.1 configuration (Audigy 2 ZS) */
 	unsigned int audigy;			/* is Audigy? */
 	unsigned int revision;			/* chip revision */
 	unsigned int serial;			/* serial number */
@@ -1171,6 +1172,8 @@
 #define FXBUS_PCM_RIGHT_FRONT	0x09
 #define FXBUS_MIDI_REVERB	0x0c
 #define FXBUS_MIDI_CHORUS	0x0d
+#define FXBUS_PCM_LEFT_SIDE	0x0e
+#define FXBUS_PCM_RIGHT_SIDE	0x0f
 #define FXBUS_PT_LEFT		0x14
 #define FXBUS_PT_RIGHT		0x15
 
@@ -1236,8 +1239,8 @@
 #define A_EXTOUT_AFRONT_R	0x09	/*              right */
 #define A_EXTOUT_ACENTER	0x0a	/* analog center */
 #define A_EXTOUT_ALFE		0x0b	/* analog LFE */
-/* 0x0c ?? */
-/* 0x0d ?? */
+#define A_EXTOUT_ASIDE_L	0x0c	/* analog side left  - Audigy 2 ZS */
+#define A_EXTOUT_ASIDE_R	0x0d	/*             right - Audigy 2 ZS */
 #define A_EXTOUT_AREAR_L	0x0e	/* analog rear left */
 #define A_EXTOUT_AREAR_R	0x0f	/*             right */
 #define A_EXTOUT_AC97_L		0x10	/* AC97 left (front) */
diff -u -r o/alsa-kernel/pci/emu10k1/emu10k1_main.c n/alsa-kernel/pci/emu10k1/emu10k1_main.c
--- o/alsa-kernel/pci/emu10k1/emu10k1_main.c	2004-05-03 10:43:04.000000000 +0200
+++ n/alsa-kernel/pci/emu10k1/emu10k1_main.c	2004-06-27 13:13:18.000000000 +0200
@@ -683,9 +683,15 @@
 		 * (for both input and output), so we skip the AC97 detections
 		 */
 		snd_printdd(KERN_INFO "Audigy2 EX is detected. skpping ac97.\n");
-		emu->no_ac97 = 1;
+		emu->no_ac97 = 1;	
 	}
 	
+	if (emu->revision == 4) {
+		/*  FIXME - Audigy 2 ZS detection */
+		emu->spk71 = 1;
+	}
+	
+	
 	emu->fx8010.fxbus_mask = 0x303f;
 	if (extin_mask == 0)
 		extin_mask = 0x3fcf;
diff -u -r o/alsa-kernel/pci/emu10k1/emufx.c n/alsa-kernel/pci/emu10k1/emufx.c
--- o/alsa-kernel/pci/emu10k1/emufx.c	2004-06-23 13:49:08.000000000 +0200
+++ n/alsa-kernel/pci/emu10k1/emufx.c	2004-06-27 13:13:18.000000000 +0200
@@ -887,7 +887,7 @@
 
 #define SND_EMU10K1_GPR_CONTROLS	41
 #define SND_EMU10K1_INPUTS		10
-#define SND_EMU10K1_PLAYBACK_CHANNELS	6
+#define SND_EMU10K1_PLAYBACK_CHANNELS	8
 #define SND_EMU10K1_CAPTURE_CHANNELS	4
 
 static void __devinit snd_emu10k1_init_mono_control(emu10k1_fx8010_control_gpr_t *ctl, const char *name, int gpr, int defval)
@@ -986,6 +986,14 @@
 	A_OP(icode, &ptr, iMAC0, A_GPR(playback+3), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_REAR));
 	snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Surround Playback Volume", gpr, 100);
 	gpr += 2;
+	
+	/* PCM Side Playback (independent from stereo mix) */
+	if (emu->spk71) {
+		A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_LEFT_SIDE));
+		A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_SIDE));
+		snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Side Playback Volume", gpr, 100);
+		gpr += 2;
+	}
 
 	/* PCM Center Playback (independent from stereo mix) */
 	A_OP(icode, &ptr, iMAC0, A_GPR(playback+4), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_CENTER));
@@ -1134,6 +1142,14 @@
 	A_OP(icode, &ptr, iMAC0, A_GPR(playback+5), A_GPR(playback+5), A_GPR(gpr), A_GPR(tmp));
 	snd_emu10k1_init_mono_control(&controls[nctl++], "LFE Playback Volume", gpr, 0);
 	gpr++;
+	
+	if (emu->spk71) {
+		/* Stereo Mix Side Playback */
+		A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_GPR(playback+6), A_GPR(gpr), A_GPR(stereo_mix));
+		A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_GPR(playback+7), A_GPR(gpr+1), A_GPR(stereo_mix+1));
+		snd_emu10k1_init_stereo_control(&controls[nctl++], "Side Playback Volume", gpr, 0);
+		gpr += 2;
+	}
 
 	/*
 	 * outputs
@@ -1161,6 +1177,11 @@
 	A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 3), A_GPR(playback + 3), A_C_00000000, A_C_00000000); /* rear right */
 	A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 4), A_GPR(playback + 4), A_C_00000000, A_C_00000000); /* center */
 	A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 5), A_GPR(playback + 5), A_C_00000000, A_C_00000000); /* LFE */
+	if (emu->spk71) {
+		A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 6), A_GPR(playback + 6), A_C_00000000, A_C_00000000); /* side left */
+		A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 7), A_GPR(playback + 7), A_C_00000000, A_C_00000000); /* side right */
+	}
+	
 
 	ctl = &controls[nctl + 0];
 	ctl->id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
@@ -1191,7 +1212,7 @@
 			controls[nctl + 1].gpr[z * 2 + j] = TREBLE_GPR + z * 2 + j;
 		}
 	}
-	for (z = 0; z < 3; z++) {		/* front/rear/center-lfe */
+	for (z = 0; z < 4; z++) {		/* front/rear/center-lfe/side */
 		int j, k, l, d;
 		for (j = 0; j < 2; j++) {	/* left/right */
 			k = 0xb0 + (z * 8) + (j * 4);
@@ -1223,7 +1244,7 @@
 #undef BASS_GPR
 #undef TREBLE_GPR
 
-	for (z = 0; z < 6; z++) {
+	for (z = 0; z < 8; z++) {
 		A_SWITCH(icode, &ptr, tmp + 0, playback + SND_EMU10K1_PLAYBACK_CHANNELS + z, gpr + 0);
 		A_SWITCH_NEG(icode, &ptr, tmp + 1, gpr + 0);
 		A_SWITCH(icode, &ptr, tmp + 1, playback + z, tmp + 1);
@@ -1234,12 +1255,14 @@
 
 	/* Master volume (will be renamed later) */
 	A_OP(icode, &ptr, iMAC0, A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS));
-	A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS));
-	A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS));
-	A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS));
-	A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS));
-	A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS));
-	snd_emu10k1_init_stereo_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0);
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS));
+	A_OP(icode, &ptr, iMAC0, A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS));
+	snd_emu10k1_init_mono_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0);
 	gpr += 2;
 
 	/* analog speakers */
@@ -1247,6 +1270,8 @@
 	A_PUT_STEREO_OUTPUT(A_EXTOUT_AREAR_L, A_EXTOUT_AREAR_R, playback+2 + SND_EMU10K1_PLAYBACK_CHANNELS);
 	A_PUT_OUTPUT(A_EXTOUT_ACENTER, playback+4 + SND_EMU10K1_PLAYBACK_CHANNELS);
 	A_PUT_OUTPUT(A_EXTOUT_ALFE, playback+5 + SND_EMU10K1_PLAYBACK_CHANNELS);
+	if (emu->spk71)
+		A_PUT_STEREO_OUTPUT(A_EXTOUT_ASIDE_L, A_EXTOUT_ASIDE_R, playback+6 + SND_EMU10K1_PLAYBACK_CHANNELS);
 
 	/* headphone */
 	A_PUT_STEREO_OUTPUT(A_EXTOUT_HEADPHONE_L, A_EXTOUT_HEADPHONE_R, playback + SND_EMU10K1_PLAYBACK_CHANNELS);

[-- Attachment #3: audigy2zs_lib_v2.diff --]
[-- Type: APPLICATION/octet-stream, Size: 5844 bytes --]

diff -u -r -N o/alsa-lib/src/conf/alsa.conf n/alsa-lib/src/conf/alsa.conf
--- o/alsa-lib/src/conf/alsa.conf	2003-08-12 11:34:38.000000000 +0200
+++ n/alsa-lib/src/conf/alsa.conf	2004-06-27 13:55:36.000000000 +0200
@@ -59,6 +59,8 @@
 defaults.pcm.rear.device defaults.pcm.device
 defaults.pcm.center_lfe.card defaults.pcm.card
 defaults.pcm.center_lfe.device defaults.pcm.device
+defaults.pcm.side.card defaults.pcm.card
+defaults.pcm.side.device defaults.pcm.device
 defaults.pcm.surround40.card defaults.pcm.card
 defaults.pcm.surround40.device defaults.pcm.device
 defaults.pcm.surround41.card defaults.pcm.card
@@ -67,6 +69,8 @@
 defaults.pcm.surround50.device defaults.pcm.device
 defaults.pcm.surround51.card defaults.pcm.card
 defaults.pcm.surround51.device defaults.pcm.device
+defaults.pcm.surround71.card defaults.pcm.card
+defaults.pcm.surround71.device defaults.pcm.device
 defaults.pcm.iec958.card defaults.pcm.card
 defaults.pcm.iec958.device defaults.pcm.device
 defaults.rawmidi.card 0
@@ -316,10 +320,12 @@
 pcm.front cards.pcm.front
 pcm.rear cards.pcm.rear
 pcm.center_lfe cards.pcm.center_lfe
+pcm.side cards.pcm.side
 pcm.surround40 cards.pcm.surround40
 pcm.surround41 cards.pcm.surround41
 pcm.surround50 cards.pcm.surround50
 pcm.surround51 cards.pcm.surround51
+pcm.surround71 cards.pcm.surround71
 pcm.iec958 cards.pcm.iec958
 pcm.spdif cards.pcm.iec958
 
diff -u -r -N o/alsa-lib/src/conf/cards/Audigy2.conf n/alsa-lib/src/conf/cards/Audigy2.conf
--- o/alsa-lib/src/conf/cards/Audigy2.conf	2004-03-14 12:26:50.000000000 +0100
+++ n/alsa-lib/src/conf/cards/Audigy2.conf	2004-06-27 13:41:33.000000000 +0200
@@ -92,7 +92,39 @@
 			}
 		]
 	}
-}	
+}
+
+<confdir:pcm/side.conf>
+
+Audigy2.pcm.side.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hooks
+	slave.pcm {
+		type hw
+		card $CARD
+		device 0
+	}
+	hooks.0 {
+		type ctl_elems
+		hook_args [
+			{
+				name "EMU10K1 PCM Send Volume"
+				index { @func private_pcm_subdevice }
+				lock true
+				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
+			}
+			{
+				name "EMU10K1 PCM Send Routing"
+				index { @func private_pcm_subdevice }
+				lock true
+				value [ 14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0 ]
+			}
+		]
+	}
+}
 
 <confdir:pcm/surround40.conf>
 <confdir:pcm/surround41.conf>
@@ -179,6 +211,64 @@
 	]
 }
 
+<confdir:pcm/surround71.conf>
+
+Audigy2.pcm.surround71.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type multi
+	slaves [
+		{
+			pcm {
+				@func concat
+				strings [
+					"cards.Audigy2.pcm.front.0:CARD=" $CARD
+				]
+			}
+			channels 2
+		}
+		{
+			pcm {
+				@func concat
+				strings [
+					"cards.Audigy2.pcm.rear.0:CARD=" $CARD
+				]
+			}
+			channels 2
+		}
+		{
+			pcm {
+				@func concat
+				strings [
+					"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
+				]
+			}
+			channels 2
+		}
+		{
+			pcm {
+				@func concat
+				strings [
+					"cards.Audigy2.pcm.side.0:CARD=" $CARD
+				]
+			}
+			channels 2
+		}
+	]
+	bindings [
+		{ slave 0 channel 0 }
+		{ slave 0 channel 1 }
+		{ slave 1 channel 0 }
+		{ slave 1 channel 1 }
+		{ slave 2 channel 0 }
+		{ slave 2 channel 1 }
+		{ slave 3 channel 0 }
+		{ slave 3 channel 1 }
+	]
+}
+
 <confdir:pcm/iec958.conf>
 
 Audigy2.pcm.iec958.0 {
diff -u -r -N o/alsa-lib/src/conf/pcm/Makefile.am n/alsa-lib/src/conf/pcm/Makefile.am
--- o/alsa-lib/src/conf/pcm/Makefile.am	2003-08-12 11:34:38.000000000 +0200
+++ n/alsa-lib/src/conf/pcm/Makefile.am	2004-06-27 13:56:07.000000000 +0200
@@ -1,7 +1,7 @@
-cfg_files = front.conf rear.conf center_lfe.conf \
+cfg_files = front.conf rear.conf center_lfe.conf side.conf\
 	    surround40.conf surround41.conf \
 	    surround50.conf surround51.conf \
-	    iec958.conf
+	    surround71.conf iec958.conf
 
 EXTRA_DIST = $(cfg_files)
 
diff -u -r -N o/alsa-lib/src/conf/pcm/side.conf n/alsa-lib/src/conf/pcm/side.conf
--- o/alsa-lib/src/conf/pcm/side.conf	1970-01-01 01:00:00.000000000 +0100
+++ n/alsa-lib/src/conf/pcm/side.conf	2004-06-27 14:07:03.419905688 +0200
@@ -0,0 +1,47 @@
+#
+# Hardware output from side speakers
+#
+
+pcm.!side {
+	@args [ CARD DEV ]
+	@args.CARD {
+		type string
+		default {
+			@func getenv
+			vars [
+				ALSA_SIDE_CARD
+				ALSA_PCM_CARD
+				ALSA_CARD
+			]
+			default {
+				@func refer
+				name defaults.pcm.side.card
+			}
+		}
+	}
+	@args.DEV {
+		type integer
+		default {
+			@func igetenv
+			vars [
+				ALSA_SIDE_DEVICE
+			]
+			default {
+				@func refer
+				name defaults.pcm.side.device
+			}
+		}
+	}
+	@func refer
+	name {
+		@func concat
+		strings [
+			"cards."
+			{
+				@func card_driver
+				card $CARD
+			}
+			".pcm.side." $DEV ":CARD=" $CARD
+		]
+	}
+}
diff -u -r -N o/alsa-lib/src/conf/pcm/surround71.conf n/alsa-lib/src/conf/pcm/surround71.conf
--- o/alsa-lib/src/conf/pcm/surround71.conf	1970-01-01 01:00:00.000000000 +0100
+++ n/alsa-lib/src/conf/pcm/surround71.conf	2004-06-27 14:07:07.258322160 +0200
@@ -0,0 +1,56 @@
+#
+#  Hardware output from 7.1 speakers
+#  Samples must be positioned:
+#    chn0 - front left
+#    chn1 - front right
+#    chn2 - rear left
+#    chn3 - rear right
+#    chn4 - center
+#    chn5 - lfe
+#    chn7 - side left
+#    chn8 - side right
+#
+
+pcm.!surround71 {
+	@args [ CARD DEV ]
+	@args.CARD {
+		type string
+		default {
+			@func getenv
+			vars [
+				ALSA_SURROUND71_CARD
+				ALSA_PCM_CARD
+				ALSA_CARD
+			]
+			default {
+				@func refer
+				name defaults.pcm.surround71.card
+			}
+		}
+	}
+	@args.DEV {
+		type integer
+		default {
+			@func igetenv
+			vars [
+				ALSA_SURROUND71_DEVICE
+			]
+			default {
+				@func refer
+				name defaults.pcm.surround71.device
+			}
+		}
+	}
+	@func refer
+	name {
+		@func concat
+		strings [
+			"cards."
+			{
+				@func card_driver
+				card $CARD
+			}
+			".pcm.surround71." $DEV ":CARD=" $CARD
+		]
+	}
+}

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

* Re: [PATCH]Audigy 2 ZS - side support
  2004-06-28  8:51 [PATCH]Audigy 2 ZS - side support Peter Zubaj
@ 2004-06-28 10:59 ` Takashi Iwai
  2004-06-28 22:28   ` Lee Revell
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2004-06-28 10:59 UTC (permalink / raw)
  To: Peter Zubaj; +Cc: alsa-devel

At Mon, 28 Jun 2004 10:51:34 +0200,
Peter Zubaj wrote:
> 
> [1  <text/plain; US-ASCII (quoted-printable)>]
> Hi,
> 
> Again, and now with patches.
> 
> Here are patches to add support for Audigy 2 ZS side speakers.
> They are against CVS from 23.06.2004. I hope they will apply cleanly.
> 
> audigy2zs_driver_v2.diff - is kernel part - same as in bugtrack but
> for CVS.
> 
> audigy2zs_lib_v2.diff - is alsa-lib part - this is not tested (it is
> same as from my mail and with changes from bugtrack from elklein)

Thanks, now applied together with fx8010 capture patch.


> TODO - detection of audigy 2 zs. Now it will add side controls to
> mixer for audigy 2 to. Maybe left or right slider can control volume
> of back center on audigy 2 too.

Also, we'll need create another driver name for ZS once when we can
check the correct board type, since audigy2 doesn't support
side/surround71.


Takashi


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com

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

* Re: [PATCH]Audigy 2 ZS - side support
  2004-06-28 10:59 ` Takashi Iwai
@ 2004-06-28 22:28   ` Lee Revell
  0 siblings, 0 replies; 5+ messages in thread
From: Lee Revell @ 2004-06-28 22:28 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Peter Zubaj, alsa-devel

On Mon, 2004-06-28 at 06:59, Takashi Iwai wrote:
> > TODO - detection of audigy 2 zs. Now it will add side controls to
> > mixer for audigy 2 to. Maybe left or right slider can control volume
> > of back center on audigy 2 too.
> 
> Also, we'll need create another driver name for ZS once when we can
> check the correct board type, since audigy2 doesn't support
> side/surround71.

Here is the lspci -vvv output for my Audigy 2 ZS.  It is SB0350, rev 04.

Do you need more info than this?

0000:00:14.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)
        Subsystem: Creative Labs SB Audigy 2 ZS (SB0350)
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (500ns min, 5000ns max)
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at e800
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:14.1 Input device controller: Creative Labs SB Audigy MIDI/Game port (rev 04)
        Subsystem: Creative Labs SB Audigy MIDI/Game Port
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32
        Region 0: I/O ports at ec00
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:14.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev 04) (prog-if 10 [OHCI])
        Subsystem: Creative Labs SB Audigy FireWire Port
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (500ns min, 1000ns max), Cache Line Size: 0x08 (32 bytes)
        Interrupt: pin B routed to IRQ 12
        Region 0: Memory at ea006000 (32-bit, non-prefetchable)
        Region 1: Memory at ea000000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Lee



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com

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

* Re: [PATCH]Audigy 2 ZS - side support
  2004-06-28  7:11 Peter Zubaj
@ 2004-07-14  5:48 ` Lee Revell
  0 siblings, 0 replies; 5+ messages in thread
From: Lee Revell @ 2004-07-14  5:48 UTC (permalink / raw)
  To: Peter Zubaj; +Cc: alsa-devel

On Mon, 2004-06-28 at 03:11, Peter Zubaj wrote:
> Hi,
> 
> Here are patches to add support for Audigy 2 ZS side speakers.
> They are against CVS from 23.06.2004. I hope they will apply cleanly.
> 
> audigy2zs_driver_v2.diff - is kernel part - same as in bugtrack but
> for CVS.
> 
> audigy2zs_lib_v2.diff - is alsa-lib part - this is not tested (it is
> same as from my mail and with changes from bugtrack from elklein)
> 
> TODO - detection of audigy 2 zs. Now it will add side controls to
> mixer for audigy 2 to. Maybe left or right slider can control volume
> of back center on audigy 2 too.
> 

The Audigy 2 ZS can be identified by (emu->revision ==4 &&
emu->model=0x2002).

Lee



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com

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

end of thread, other threads:[~2004-07-14  5:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-28  8:51 [PATCH]Audigy 2 ZS - side support Peter Zubaj
2004-06-28 10:59 ` Takashi Iwai
2004-06-28 22:28   ` Lee Revell
  -- strict thread matches above, loose matches on Subject: below --
2004-06-28  7:11 Peter Zubaj
2004-07-14  5:48 ` Lee Revell

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.