* [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
* Re: [PATCH]Audigy 2 ZS - side support
2004-06-28 7:11 [PATCH]Audigy 2 ZS - side support 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
* [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 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
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 7:11 [PATCH]Audigy 2 ZS - side support Peter Zubaj
2004-07-14 5:48 ` Lee Revell
-- strict thread matches above, loose matches on Subject: below --
2004-06-28 8:51 Peter Zubaj
2004-06-28 10:59 ` Takashi Iwai
2004-06-28 22:28 ` 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.