* Fix emu10k1 breakages in kernel 2.6.12
@ 2005-07-02 3:08 Lee Revell
2005-07-02 4:56 ` [stable] " Greg KH
2005-07-02 10:34 ` James Courtier-Dutton
0 siblings, 2 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-02 3:08 UTC (permalink / raw)
To: stable
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj, James Courtier-Dutton
This set of critical fixes did not make it into the 2.6.12 kernel.
To better handle the large variety of devices it supports, the emu10k1
driver was recently cleaned up by moving all hardware details into a
table keyed by PCI ID; unfortunately some IDs were missing from the
table.
The typical effect is loss of mixer settings, mic not working, or no
sound at all when upgrading to 2.6.12.
Here are the broken out patches for reference:
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c?rev=1.58&view=log
I hope I did not omit any of the authors.
Signed-Off-By: Lee Revell <rlrevell@joe-job.com>
From: James Courtier-Dutton <James@superbug.co.uk>
From: Arnaud Patard <arnaud.patard@rtp-net.org>
From: Mikael Magnusson <mikaelmagnusson@glocalnet.net>
From: Peter Zubaj <pzad@pobox.sk>
From: Lee Revell <rlrevell@joe-job.com>
From: Takashi Iwai <tiwai@suse.de>
--- include/sound/emu10k1.h 2005-06-17 15:48:29.000000000 -0400
+++ /home/rlrevell/cvs/alsa/alsa-kernel/include/emu10k1.h 2005-06-30 11:19:58.000000000 -0400
@@ -1039,28 +1057,28 @@
u32 vendor;
u32 device;
u32 subsystem;
+ unsigned char revision;
unsigned char emu10k1_chip; /* Original SB Live. Not SB Live 24bit. */
unsigned char emu10k2_chip; /* Audigy 1 or Audigy 2. */
unsigned char ca0102_chip; /* Audigy 1 or Audigy 2. Not SB Audigy 2 Value. */
unsigned char ca0108_chip; /* Audigy 2 Value */
unsigned char ca0151_chip; /* P16V */
unsigned char spk71; /* Has 7.1 speakers */
+ unsigned char sblive51; /* SBLive! 5.1 - extout 0x11 -> center, 0x12 -> lfe */
unsigned char spdif_bug; /* Has Spdif phasing bug */
unsigned char ac97_chip; /* Has an AC97 chip */
unsigned char ecard; /* APS EEPROM */
- char * driver;
- char * name;
+ const char *driver;
+ const char *name;
+ const char *id; /* for backward compatibility - can be NULL if not needed */
} emu_chip_details_t;
struct _snd_emu10k1 {
int irq;
unsigned long port; /* I/O port number */
- unsigned 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 */
- spk71:1; /* 7.1 configuration (Audigy 2 ZS) */
+ unsigned int tos_link: 1, /* tos link detected */
+ rear_ac97: 1; /* rear channels are on AC'97 */
const emu_chip_details_t *card_capabilities; /* Contains profile of card capabilities */
unsigned int audigy; /* is Audigy? */
unsigned int revision; /* chip revision */
@@ -1453,7 +1474,6 @@
#endif
typedef struct {
- unsigned int card; /* card type */
unsigned int internal_tram_size; /* in samples */
unsigned int external_tram_size; /* in samples */
char fxbus_names[16][32]; /* names of FXBUSes */
--- sound/pci/emu10k1/emuproc.c 2005-06-17 15:48:29.000000000 -0400
+++ /home/rlrevell/cvs/alsa/alsa-kernel/pci/emu10k1/emuproc.c 2005-06-30 11:19:58.000000000 -0400
@@ -182,7 +189,7 @@
snd_iprintf(buffer, "EMU10K1\n\n");
snd_iprintf(buffer, "Card : %s\n",
- emu->audigy ? "Audigy" : (emu->APS ? "EMU APS" : "Creative"));
+ emu->audigy ? "Audigy" : (emu->card_capabilities->ecard ? "EMU APS" : "Creative"));
snd_iprintf(buffer, "Internal TRAM (words) : 0x%x\n", emu->fx8010.itram_size);
snd_iprintf(buffer, "External TRAM (words) : 0x%x\n", (int)emu->fx8010.etram_pages.bytes / 2);
snd_iprintf(buffer, "\n");
--- sound/pci/emu10k1/emumixer.c.orig 2005-07-01 22:24:08.000000000 -0400
+++ sound/pci/emu10k1/emumixer.c 2005-07-01 22:31:11.000000000 -0400
@@ -791,7 +791,7 @@
NULL
};
- if (!emu->no_ac97) {
+ if (emu->card_capabilities->ac97_chip) {
ac97_bus_t *pbus;
ac97_template_t ac97;
static ac97_bus_ops_t ops = {
@@ -833,7 +833,7 @@
for (; *c; c++)
remove_ctl(card, *c);
} else {
- if (emu->APS)
+ if (emu->card_capabilities->ecard)
strcpy(emu->card->mixername, "EMU APS");
else if (emu->audigy)
strcpy(emu->card->mixername, "SB Audigy");
@@ -918,7 +918,7 @@
mix->attn[0] = 0xffff;
}
- if (! emu->APS) { /* FIXME: APS has these controls? */
+ if (! emu->card_capabilities->ecard) { /* FIXME: APS has these controls? */
/* sb live! and audigy */
if ((kctl = snd_ctl_new1(&snd_emu10k1_spdif_mask_control, emu)) == NULL)
return -ENOMEM;
@@ -939,14 +939,14 @@
return -ENOMEM;
if ((err = snd_ctl_add(card, kctl)))
return err;
- } else if (! emu->APS) {
+ } else if (! emu->card_capabilities->ecard) {
/* sb live! */
if ((kctl = snd_ctl_new1(&snd_emu10k1_shared_spdif, emu)) == NULL)
return -ENOMEM;
if ((err = snd_ctl_add(card, kctl)))
return err;
}
- if (emu->audigy && emu->revision == 4) { /* P16V */
+ if (emu->card_capabilities->ca0151_chip) { /* P16V */
if ((err = snd_p16v_mixer(emu)))
return err;
}
--- sound/pci/emu10k1/emufx.c 2005-06-17 15:48:29.000000000 -0400
+++ /home/rlrevell/cvs/alsa/alsa-kernel/pci/emu10k1/emufx.c 2005-06-30 11:19:58.000000000 -0400
@@ -1077,7 +1077,7 @@
gpr += 2;
/* PCM Side Playback (independent from stereo mix) */
- if (emu->spk71) {
+ if (emu->card_capabilities->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);
@@ -1145,14 +1145,14 @@
A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_SPDIF_CD_L);
A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_SPDIF_CD_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "CD Playback Volume" : "Audigy CD Playback Volume",
+ emu->card_capabilities->ac97_chip ? "Audigy CD Playback Volume" : "CD Playback Volume",
gpr, 0);
gpr += 2;
/* Audigy CD Capture Volume */
A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_SPDIF_CD_L);
A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_SPDIF_CD_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "CD Capture Volume" : "Audigy CD Capture Volume",
+ emu->card_capabilities->ac97_chip ? "Audigy CD Capture Volume" : "CD Capture Volume",
gpr, 0);
gpr += 2;
@@ -1171,14 +1171,14 @@
A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_LINE2_L);
A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_LINE2_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "Line Playback Volume" : "Line2 Playback Volume",
+ emu->card_capabilities->ac97_chip ? "Line2 Playback Volume" : "Line Playback Volume",
gpr, 0);
gpr += 2;
/* Line2 Capture Volume */
A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_LINE2_L);
A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_LINE2_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "Line Capture Volume" : "Line2 Capture Volume",
+ emu->card_capabilities->ac97_chip ? "Line2 Capture Volume" : "Line Capture Volume",
gpr, 0);
gpr += 2;
@@ -1197,14 +1197,14 @@
A_ADD_VOLUME_IN(stereo_mix, gpr, A_EXTIN_AUX2_L);
A_ADD_VOLUME_IN(stereo_mix+1, gpr+1, A_EXTIN_AUX2_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "Aux Playback Volume" : "Aux2 Playback Volume",
+ emu->card_capabilities->ac97_chip ? "Aux2 Playback Volume" : "Aux Playback Volume",
gpr, 0);
gpr += 2;
/* Aux2 Capture Volume */
A_ADD_VOLUME_IN(capture, gpr, A_EXTIN_AUX2_L);
A_ADD_VOLUME_IN(capture+1, gpr+1, A_EXTIN_AUX2_R);
snd_emu10k1_init_stereo_control(&controls[nctl++],
- emu->no_ac97 ? "Aux Capture Volume" : "Aux2 Capture Volume",
+ emu->card_capabilities->ac97_chip ? "Aux2 Capture Volume" : "Aux Capture Volume",
gpr, 0);
gpr += 2;
@@ -1232,7 +1232,7 @@
snd_emu10k1_init_mono_control(&controls[nctl++], "LFE Playback Volume", gpr, 0);
gpr++;
- if (emu->spk71) {
+ if (emu->card_capabilities->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));
@@ -1266,7 +1266,7 @@
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) {
+ if (emu->card_capabilities->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 */
}
@@ -1359,7 +1359,7 @@
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)
+ if (emu->card_capabilities->spk71)
A_PUT_STEREO_OUTPUT(A_EXTOUT_ASIDE_L, A_EXTOUT_ASIDE_R, playback+6 + SND_EMU10K1_PLAYBACK_CHANNELS);
/* headphone */
@@ -2128,7 +2133,6 @@
int res;
memset(info, 0, sizeof(info));
- info->card = emu->card_type;
info->internal_tram_size = emu->fx8010.itram_size;
info->external_tram_size = emu->fx8010.etram_pages.bytes / 2;
fxbus = fxbuses;
--- sound/pci/emu10k1/emu10k1_main.c 2005-06-17 15:48:29.000000000 -0400
+++ /home/rlrevell/cvs/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c 2005-06-30 11:19:58.000000000 -0400
@@ -170,7 +170,7 @@
SPCS_GENERATIONSTATUS | 0x00001200 |
0x00000000 | SPCS_EMPHASIS_NONE | SPCS_COPYRIGHT);
- if (emu->audigy && emu->revision == 4) { /* audigy2 */
+ if (emu->card_capabilities->ca0151_chip) { /* audigy2 */
/* Hacks for Alice3 to work independent of haP16V driver */
u32 tmp;
@@ -189,7 +189,7 @@
/* Enabled Phased (8-channel) P16V playback */
outl(0x0201, emu->port + HCFG2);
/* Set playback routing. */
- snd_emu10k1_ptr_write(emu, CAPTURE_P16V_SOURCE, 0, 78e4);
+ snd_emu10k1_ptr20_write(emu, CAPTURE_P16V_SOURCE, 0, 0x78e4);
}
if (emu->audigy && (emu->serial == 0x10011102) ) { /* audigy2 Value */
/* Hacks for Alice3 to work independent of haP16V driver */
@@ -600,7 +600,7 @@
if (emu->port)
pci_release_regions(emu->pci);
pci_disable_device(emu->pci);
- if (emu->audigy && emu->revision == 4) /* P16V */
+ if (emu->card_capabilities->ca0151_chip) /* P16V */
snd_p16v_free(emu);
kfree(emu);
return 0;
@@ -612,21 +612,24 @@
return snd_emu10k1_free(emu);
}
-/* vendor, device, subsystem, emu10k1_chip, emu10k2_chip, ca0102_chip, ca0108_chip, ca0151_chip, spk71, spdif_bug, ac97_chip, ecard, driver, name */
-
static emu_chip_details_t emu_chip_details[] = {
/* Audigy 2 Value AC3 out does not work yet. Need to find out how to turn off interpolators.*/
{.vendor = 0x1102, .device = 0x0008, .subsystem = 0x10011102,
.driver = "Audigy2", .name = "Audigy 2 Value [SB0400]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0108_chip = 1,
- .spk71 = 1} ,
+ .spk71 = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0008,
.driver = "Audigy2", .name = "Audigy 2 Value [Unknown]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
- .ca0108_chip = 1} ,
+ .ca0108_chip = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20071102,
.driver = "Audigy2", .name = "Audigy 4 PRO [SB0380]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -635,6 +638,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102,
.driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -643,6 +647,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102,
.driver = "Audigy2", .name = "Audigy 2 ZS [2001]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -651,6 +656,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10071102,
.driver = "Audigy2", .name = "Audigy 2 [SB0240]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -659,35 +665,165 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10051102,
.driver = "Audigy2", .name = "Audigy 2 EX [1005]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
.spdif_bug = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102,
.driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
.spk71 = 1,
.spdif_bug = 1,
.ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .revision = 0x04,
+ .driver = "Audigy2", .name = "Audigy 2 [Unknown]",
+ .id = "Audigy2",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ca0151_chip = 1,
+ .spdif_bug = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10020052,
+ .driver = "Audigy", .name = "Audigy 1 ES [SB0160]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .spdif_bug = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x00531102,
+ .driver = "Audigy", .name = "Audigy 1 [SB0090]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x00511102,
+ .driver = "Audigy", .name = "Audigy 1 [SB0090]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004,
- .driver = "Audigy", .name = "Audigy 1 or 2 [Unknown]",
+ .driver = "Audigy", .name = "Audigy 1 [Unknown]",
+ .id = "Audigy",
.emu10k2_chip = 1,
.ca0102_chip = 1,
- .spdif_bug = 1} ,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x40011102,
.driver = "EMU10K1", .name = "E-mu APS [4001]",
+ .id = "APS",
.emu10k1_chip = 1,
.ecard = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
+ .driver = "EMU10K1", .name = "SBLive! Player 5.1 [SB0060]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80641102,
.driver = "EMU10K1", .name = "SB Live 5.1",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80401102,
+ .driver = "EMU10K1", .name = "SBLive! Platinum [CT4760P]",
+ .id = "Live",
.emu10k1_chip = 1,
.ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x00211102,
+ .driver = "EMU10K1", .name = "SBLive! [CT4620]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x00201102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4670]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80221102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4780]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80231102,
+ .driver = "EMU10K1", .name = "SB PCI512 [CT4790]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80261102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4830]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80311102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4831]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80271102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4832]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80511102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4850]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80281102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4870]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80321102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4871]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0060]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80691102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0101]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x806A1102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0103]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x806B1102,
+ .driver = "EMU10K1", .name = "SBLive! [SB0105]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{.vendor = 0x1102, .device = 0x0002,
.driver = "EMU10K1", .name = "SB Live [Unknown]",
+ .id = "Live",
.emu10k1_chip = 1,
- .ac97_chip = 1} ,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{ } /* terminator */
};
@@ -738,13 +874,15 @@
emu->revision = revision;
pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &emu->serial);
pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &emu->model);
- emu->card_type = EMU10K1_CARD_CREATIVE;
snd_printdd("vendor=0x%x, device=0x%x, subsystem_vendor_id=0x%x, subsystem_id=0x%x\n",pci->vendor, pci->device, emu->serial, emu->model);
for (c = emu_chip_details; c->vendor; c++) {
if (c->vendor == pci->vendor && c->device == pci->device) {
- if (c->subsystem == emu->serial) break;
- if (c->subsystem == 0) break;
+ if (c->subsystem && c->subsystem != emu->serial)
+ continue;
+ if (c->revision && c->revision != emu->revision)
+ continue;
+ break;
}
}
if (c->vendor == 0) {
@@ -759,6 +897,23 @@
else
snd_printdd("Sound card name=%s, vendor=0x%x, device=0x%x, subsystem=0x%x\n", c->name, pci->vendor, pci->device, emu->serial);
+ if (!*card->id && c->id) {
+ int i, n = 0;
+ strlcpy(card->id, c->id, sizeof(card->id));
+ for (;;) {
+ for (i = 0; i < snd_ecards_limit; i++) {
+ if (snd_cards[i] && !strcmp(snd_cards[i]->id, card->id))
+ break;
+ }
+ if (i >= snd_ecards_limit)
+ break;
+ n++;
+ if (n >= SNDRV_CARDS)
+ break;
+ snprintf(card->id, sizeof(card->id), "%s_%d", c->id, n);
+ }
+ }
+
is_audigy = emu->audigy = c->emu10k2_chip;
/* set the DMA transfer mask */
@@ -816,15 +971,6 @@
pci_set_master(pci);
- if (c->ecard) {
- emu->card_type = EMU10K1_CARD_EMUAPS;
- emu->APS = 1;
- }
- if (! c->ac97_chip)
- emu->no_ac97 = 1;
-
- emu->spk71 = c->spk71;
-
emu->fx8010.fxbus_mask = 0x303f;
if (extin_mask == 0)
extin_mask = 0x3fcf;
@@ -833,7 +979,7 @@
emu->fx8010.extin_mask = extin_mask;
emu->fx8010.extout_mask = extout_mask;
- if (emu->APS) {
+ if (emu->card_capabilities->ecard) {
if ((err = snd_emu10k1_ecard_init(emu)) < 0) {
snd_emu10k1_free(emu);
return err;
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [stable] Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 3:08 Fix emu10k1 breakages in kernel 2.6.12 Lee Revell
@ 2005-07-02 4:56 ` Greg KH
2005-07-02 5:45 ` Lee Revell
2005-07-02 10:34 ` James Courtier-Dutton
1 sibling, 1 reply; 19+ messages in thread
From: Greg KH @ 2005-07-02 4:56 UTC (permalink / raw)
To: Lee Revell
Cc: stable, Takashi Iwai, James Courtier-Dutton, Peter Zubaj,
Mikael Magnusson, alsa-devel, Arnaud Patard
On Fri, Jul 01, 2005 at 11:08:21PM -0400, Lee Revell wrote:
> This set of critical fixes did not make it into the 2.6.12 kernel.
Is this patch in mainline already?
A few minor complaints that make me worried about it for the -stable
kernel:
- it's bigger than expected for the -stable tree to take in just
one patch. Can you split it up into smaller pieces (one with
the new table values, the other with the logic changes?)
- wrong patch level, will not apply cleanly to a kernel tree.
thanks,
greg k-h
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [stable] Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 4:56 ` [stable] " Greg KH
@ 2005-07-02 5:45 ` Lee Revell
2005-07-02 5:52 ` Greg KH
0 siblings, 1 reply; 19+ messages in thread
From: Lee Revell @ 2005-07-02 5:45 UTC (permalink / raw)
To: Greg KH
Cc: stable, Takashi Iwai, James Courtier-Dutton, Peter Zubaj,
Mikael Magnusson, alsa-devel, Arnaud Patard
On Fri, 2005-07-01 at 21:56 -0700, Greg KH wrote:
> On Fri, Jul 01, 2005 at 11:08:21PM -0400, Lee Revell wrote:
> > This set of critical fixes did not make it into the 2.6.12 kernel.
>
> Is this patch in mainline already?
>
Yes, these fixes have been in ALSA CVS for 2-6 weeks.
> A few minor complaints that make me worried about it for the -stable
> kernel:
> - it's bigger than expected for the -stable tree to take in just
> one patch. Can you split it up into smaller pieces (one with
> the new table values, the other with the logic changes?)
The logic does have to change somewhat, because we were not handling
unknown devices in a backward compatible way.
Here's the updated patch.
This is all only compile tested, as a "real" test would require access
to a *lot* of hardware...
Signed-Off-By: Lee Revell <rlrevell@joe-job.com>
From: James Courtier-Dutton <James@superbug.co.uk>
From: Arnaud Patard <arnaud.patard@rtp-net.org>
From: Mikael Magnusson <mikaelmagnusson@glocalnet.net>
From: Peter Zubaj <pzad@pobox.sk>
From: Lee Revell <rlrevell@joe-job.com>
From: Takashi Iwai <tiwai@suse.de>
--- linux-2.6.12/include/sound/emu10k1.h 2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-c3/include/sound/emu10k1.h 2005-07-02 01:25:49.000000000 -0400
@@ -1039,17 +1039,20 @@
u32 vendor;
u32 device;
u32 subsystem;
+ unsigned char revision;
unsigned char emu10k1_chip; /* Original SB Live. Not SB Live 24bit. */
unsigned char emu10k2_chip; /* Audigy 1 or Audigy 2. */
unsigned char ca0102_chip; /* Audigy 1 or Audigy 2. Not SB Audigy 2 Value. */
unsigned char ca0108_chip; /* Audigy 2 Value */
unsigned char ca0151_chip; /* P16V */
+ unsigned char sblive51; /* SBLive! 5.1 - extout 0x11 -> center, 0x12 -> lfe */
unsigned char spk71; /* Has 7.1 speakers */
unsigned char spdif_bug; /* Has Spdif phasing bug */
unsigned char ac97_chip; /* Has an AC97 chip */
unsigned char ecard; /* APS EEPROM */
- char * driver;
- char * name;
+ const char *driver;
+ const char *name;
+ const char *id; /* for backward compatibility - can be NULL if not needed */
} emu_chip_details_t;
struct _snd_emu10k1 {
--- linux-2.6.12/sound/pci/emu10k1/emu10k1_main.c 2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-c3/sound/pci/emu10k1/emu10k1_main.c 2005-07-02 01:19:40.000000000 -0400
@@ -612,21 +612,24 @@
return snd_emu10k1_free(emu);
}
-/* vendor, device, subsystem, emu10k1_chip, emu10k2_chip, ca0102_chip, ca0108_chip, ca0151_chip, spk71, spdif_bug, ac97_chip, ecard, driver, name */
-
static emu_chip_details_t emu_chip_details[] = {
/* Audigy 2 Value AC3 out does not work yet. Need to find out how to turn off interpolators.*/
{.vendor = 0x1102, .device = 0x0008, .subsystem = 0x10011102,
.driver = "Audigy2", .name = "Audigy 2 Value [SB0400]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0108_chip = 1,
- .spk71 = 1} ,
+ .spk71 = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0008,
.driver = "Audigy2", .name = "Audigy 2 Value [Unknown]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
- .ca0108_chip = 1} ,
+ .ca0108_chip = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20071102,
.driver = "Audigy2", .name = "Audigy 4 PRO [SB0380]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -635,6 +638,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102,
.driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -643,6 +647,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102,
.driver = "Audigy2", .name = "Audigy 2 ZS [2001]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -651,6 +656,7 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10071102,
.driver = "Audigy2", .name = "Audigy 2 [SB0240]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
@@ -659,35 +665,165 @@
.ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10051102,
.driver = "Audigy2", .name = "Audigy 2 EX [1005]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
.spdif_bug = 1} ,
{.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102,
.driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]",
+ .id = "Audigy2",
.emu10k2_chip = 1,
.ca0102_chip = 1,
.ca0151_chip = 1,
.spk71 = 1,
.spdif_bug = 1,
.ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .revision = 0x04,
+ .driver = "Audigy2", .name = "Audigy 2 [Unknown]",
+ .id = "Audigy2",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ca0151_chip = 1,
+ .spdif_bug = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10020052,
+ .driver = "Audigy", .name = "Audigy 1 ES [SB0160]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .spdif_bug = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x00531102,
+ .driver = "Audigy", .name = "Audigy 1 [SB0090]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x00511102,
+ .driver = "Audigy", .name = "Audigy 1 [SB0090]",
+ .id = "Audigy",
+ .emu10k2_chip = 1,
+ .ca0102_chip = 1,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0004,
- .driver = "Audigy", .name = "Audigy 1 or 2 [Unknown]",
+ .driver = "Audigy", .name = "Audigy 1 [Unknown]",
+ .id = "Audigy",
.emu10k2_chip = 1,
.ca0102_chip = 1,
- .spdif_bug = 1} ,
+ .ac97_chip = 1} ,
{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x40011102,
.driver = "EMU10K1", .name = "E-mu APS [4001]",
+ .id = "APS",
.emu10k1_chip = 1,
.ecard = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
+ .driver = "EMU10K1", .name = "SBLive! Player 5.1 [SB0060]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80641102,
.driver = "EMU10K1", .name = "SB Live 5.1",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80401102,
+ .driver = "EMU10K1", .name = "SBLive! Platinum [CT4760P]",
+ .id = "Live",
.emu10k1_chip = 1,
.ac97_chip = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x00211102,
+ .driver = "EMU10K1", .name = "SBLive! [CT4620]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x00201102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4670]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80221102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4780]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80231102,
+ .driver = "EMU10K1", .name = "SB PCI512 [CT4790]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80261102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4830]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80311102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4831]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80271102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4832]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80511102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4850]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80281102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4870]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80321102,
+ .driver = "EMU10K1", .name = "SBLive! Value [CT4871]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0060]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80691102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0101]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x806A1102,
+ .driver = "EMU10K1", .name = "SBLive! Value [SB0103]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
+ {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x806B1102,
+ .driver = "EMU10K1", .name = "SBLive! [SB0105]",
+ .id = "Live",
+ .emu10k1_chip = 1,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{.vendor = 0x1102, .device = 0x0002,
.driver = "EMU10K1", .name = "SB Live [Unknown]",
+ .id = "Live",
.emu10k1_chip = 1,
- .ac97_chip = 1} ,
+ .ac97_chip = 1,
+ .sblive51 = 1} ,
{ } /* terminator */
};
@@ -738,13 +874,15 @@
emu->revision = revision;
pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &emu->serial);
pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &emu->model);
- emu->card_type = EMU10K1_CARD_CREATIVE;
snd_printdd("vendor=0x%x, device=0x%x, subsystem_vendor_id=0x%x, subsystem_id=0x%x\n",pci->vendor, pci->device, emu->serial, emu->model);
for (c = emu_chip_details; c->vendor; c++) {
if (c->vendor == pci->vendor && c->device == pci->device) {
- if (c->subsystem == emu->serial) break;
- if (c->subsystem == 0) break;
+ if (c->subsystem && c->subsystem != emu->serial)
+ continue;
+ if (c->revision && c->revision != emu->revision)
+ continue;
+ break;
}
}
if (c->vendor == 0) {
@@ -759,6 +897,23 @@
else
snd_printdd("Sound card name=%s, vendor=0x%x, device=0x%x, subsystem=0x%x\n", c->name, pci->vendor, pci->device, emu->serial);
+ if (!*card->id && c->id) {
+ int i, n = 0;
+ strlcpy(card->id, c->id, sizeof(card->id));
+ for (;;) {
+ for (i = 0; i < snd_ecards_limit; i++) {
+ if (snd_cards[i] && !strcmp(snd_cards[i]->id, card->id))
+ break;
+ }
+ if (i >= snd_ecards_limit)
+ break;
+ n++;
+ if (n >= SNDRV_CARDS)
+ break;
+ snprintf(card->id, sizeof(card->id), "%s_%d", c->id, n);
+ }
+ }
+
is_audigy = emu->audigy = c->emu10k2_chip;
/* set the DMA transfer mask */
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [stable] Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 5:45 ` Lee Revell
@ 2005-07-02 5:52 ` Greg KH
2005-07-02 21:15 ` Lee Revell
0 siblings, 1 reply; 19+ messages in thread
From: Greg KH @ 2005-07-02 5:52 UTC (permalink / raw)
To: Lee Revell
Cc: stable, Takashi Iwai, James Courtier-Dutton, Peter Zubaj,
Mikael Magnusson, alsa-devel, Arnaud Patard
On Sat, Jul 02, 2005 at 01:45:05AM -0400, Lee Revell wrote:
> On Fri, 2005-07-01 at 21:56 -0700, Greg KH wrote:
> > On Fri, Jul 01, 2005 at 11:08:21PM -0400, Lee Revell wrote:
> > > This set of critical fixes did not make it into the 2.6.12 kernel.
> >
> > Is this patch in mainline already?
> >
>
> Yes, these fixes have been in ALSA CVS for 2-6 weeks.
Not my question. Are they in Linus's tree yet?
> > A few minor complaints that make me worried about it for the -stable
> > kernel:
> > - it's bigger than expected for the -stable tree to take in just
> > one patch. Can you split it up into smaller pieces (one with
> > the new table values, the other with the logic changes?)
>
> The logic does have to change somewhat, because we were not handling
> unknown devices in a backward compatible way.
I'm not asking you to change the logic of the change, just break it up
into smaller pieces that are easier for you to look at and say, "of
course that is correct!" :)
thanks,
greg k-h
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 3:08 Fix emu10k1 breakages in kernel 2.6.12 Lee Revell
2005-07-02 4:56 ` [stable] " Greg KH
@ 2005-07-02 10:34 ` James Courtier-Dutton
2005-07-02 18:14 ` Lee Revell
1 sibling, 1 reply; 19+ messages in thread
From: James Courtier-Dutton @ 2005-07-02 10:34 UTC (permalink / raw)
To: Lee Revell
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
Lee Revell wrote:
> This set of critical fixes did not make it into the 2.6.12 kernel.
>
> To better handle the large variety of devices it supports, the emu10k1
> driver was recently cleaned up by moving all hardware details into a
> table keyed by PCI ID; unfortunately some IDs were missing from the
> table.
>
> The typical effect is loss of mixer settings, mic not working, or no
> sound at all when upgrading to 2.6.12.
>
Hold on. It is supposed to be done in a backwards compatible way
already. Before all card varients we handled as being the same card,
except for a few special cases. The first version of the patch took the
general case and named it "Audigy Unknown" and gave it the correct
parameters as were used before in the general case of all card varients
being the same. Then, I looked through the code, and extracted all the
special cases, and created specific recognition of those cards and set
the correct feature variables, so they were also handled.
The result of this should have been that there were no performance
change between either versions. Then, as more card types were
identified, I added special cases for them, but in their case, they used
all the default parameters for the general case, the only difference was
that the correct Model name was recorded and displayed in
/proc/asound/cards. This is mainly just to help users identify their
particular card, without having to remove the case of their PC. So this
helps them report bugs better.
If there are loss of features during the upgrade, I would be very
suprised. I suspect that the same problems one sees now with some cards,
has been there all along. If that is not the case, please report them in
the bug tracker in the normal way.
James
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 10:34 ` James Courtier-Dutton
@ 2005-07-02 18:14 ` Lee Revell
2005-07-02 22:30 ` James Courtier-Dutton
2005-07-02 22:46 ` James Courtier-Dutton
0 siblings, 2 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-02 18:14 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
On Sat, 2005-07-02 at 11:34 +0100, James Courtier-Dutton wrote:
> Lee Revell wrote:
> > This set of critical fixes did not make it into the 2.6.12 kernel.
> >
> > To better handle the large variety of devices it supports, the emu10k1
> > driver was recently cleaned up by moving all hardware details into a
> > table keyed by PCI ID; unfortunately some IDs were missing from the
> > table.
> >
> > The typical effect is loss of mixer settings, mic not working, or no
> > sound at all when upgrading to 2.6.12.
> >
>
> Hold on. It is supposed to be done in a backwards compatible way
> already. Before all card varients we handled as being the same card,
> except for a few special cases. The first version of the patch took the
> general case and named it "Audigy Unknown" and gave it the correct
> parameters as were used before in the general case of all card varients
> being the same. Then, I looked through the code, and extracted all the
> special cases, and created specific recognition of those cards and set
> the correct feature variables, so they were also handled.
> The result of this should have been that there were no performance
> change between either versions. Then, as more card types were
> identified, I added special cases for them, but in their case, they used
> all the default parameters for the general case, the only difference was
> that the correct Model name was recorded and displayed in
> /proc/asound/cards. This is mainly just to help users identify their
> particular card, without having to remove the case of their PC. So this
> helps them report bugs better.
>
Right, but if the name does not match, alsactl cannot restore the
previous mixer settings, so the mixer is reset to the default state, ie
no sound.
> If there are loss of features during the upgrade, I would be very
> suprised. I suspect that the same problems one sees now with some cards,
> has been there all along. If that is not the case, please report them in
> the bug tracker in the normal way.
>
The big one is that several emu10k2 based devices like "Audigy 1 or 2
[Unknown]", "Audigy 2 Value [Unknown]", and "Audigy 1 [SB0090]" failed
to set ac97_chip, resulting in non-working mic/line in. Here's pzad's
fix:
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c?r1=1.52&r2=1.53
Users are already getting bitten, here's a bug report:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1218
In addition to 2.6.12, it looks like FC4 shipped with this bug.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [stable] Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 5:52 ` Greg KH
@ 2005-07-02 21:15 ` Lee Revell
0 siblings, 0 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-02 21:15 UTC (permalink / raw)
To: Greg KH
Cc: stable, Takashi Iwai, James Courtier-Dutton, Peter Zubaj,
Mikael Magnusson, alsa-devel, Arnaud Patard
On Fri, 2005-07-01 at 22:52 -0700, Greg KH wrote:
> On Sat, Jul 02, 2005 at 01:45:05AM -0400, Lee Revell wrote:
> > On Fri, 2005-07-01 at 21:56 -0700, Greg KH wrote:
> > > On Fri, Jul 01, 2005 at 11:08:21PM -0400, Lee Revell wrote:
> > > > This set of critical fixes did not make it into the 2.6.12 kernel.
> > >
> > > Is this patch in mainline already?
> > >
> >
> > Yes, these fixes have been in ALSA CVS for 2-6 weeks.
>
> Not my question. Are they in Linus's tree yet?
>
Yes, they are in 2.6.13-rc1.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 18:14 ` Lee Revell
@ 2005-07-02 22:30 ` James Courtier-Dutton
2005-07-02 23:20 ` Lee Revell
2005-07-02 22:46 ` James Courtier-Dutton
1 sibling, 1 reply; 19+ messages in thread
From: James Courtier-Dutton @ 2005-07-02 22:30 UTC (permalink / raw)
To: Lee Revell
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
Lee Revell wrote:
>
> Right, but if the name does not match, alsactl cannot restore the
> previous mixer settings, so the mixer is reset to the default state, ie
> no sound.
>
Ok, which name should we be using here?
cat /proc/asound/cards
0 [Audigy2 ]: Audigy2 - Audigy 4 PRO [SB0380]
Audigy 4 PRO [SB0380] (rev.4, serial:0x20071102) at
0x9000, irq 23
1 [Audigy2_1 ]: Audigy2 - Audigy 2 Value [SB0400]
Audigy 2 Value [SB0400] (rev.0, serial:0x10011102)
at 0x9400, irq 17
2 [CA0106 ]: CA0106 - CA0106
Live! 7.1 24bit [SB0410] at 0x8400 irq 21
3 [CA0106_1 ]: CA0106 - CA0106
AudigyLS [SB0310] at 0x8800 irq 22
But alsactl asound.state uses the following names:
state.SB0400 {
state.SB0240 {
state.SB0380 {
state.CA0106 {
state.Audigy2 {
If I clear asound.state, I now get:
state.Audigy2 {
state.Audigy2_1 {
state.CA0106 {
state.CA0106_1 {
This must have been a change to alsactl. I think that using Audigy2_1
etc. is a much better idea than using something like SB0400.
I don't believe my changes to emu10k1 caused this to change. It was
something independent that changed.
James
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 18:14 ` Lee Revell
2005-07-02 22:30 ` James Courtier-Dutton
@ 2005-07-02 22:46 ` James Courtier-Dutton
2005-07-02 23:12 ` Lee Revell
2005-07-05 15:33 ` Lee Revell
1 sibling, 2 replies; 19+ messages in thread
From: James Courtier-Dutton @ 2005-07-02 22:46 UTC (permalink / raw)
To: Lee Revell
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
Lee Revell wrote:
>
>>If there are loss of features during the upgrade, I would be very
>>suprised. I suspect that the same problems one sees now with some cards,
>>has been there all along. If that is not the case, please report them in
>>the bug tracker in the normal way.
>>
>
>
> The big one is that several emu10k2 based devices like "Audigy 1 or 2
> [Unknown]", "Audigy 2 Value [Unknown]", and "Audigy 1 [SB0090]" failed
> to set ac97_chip, resulting in non-working mic/line in. Here's pzad's
> fix:
>
> http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c?r1=1.52&r2=1.53
>
> Users are already getting bitten, here's a bug report:
>
> https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1218
>
> In addition to 2.6.12, it looks like FC4 shipped with this bug.
>
> Lee
>
I suppose it depends what one wants to happen when the driver comes
across a unrecognised sound card variant.
For example, we have ac97 for the Audigy 2 LS (a ca0106 chip), but newer
cards with the ca0106 chip have no ac97 codec. I thought that if we come
across an unrecognised card, we should assume that it does not have
external chips, and then add specific support into the driver if it does.
So, now, if a new Audigy 2 arrives without any ac97 chip, the
snd-emu10k1 module will fail to load at all. At least if the default
unknown entry excluded the ac97 chip, the user would at least have sound
playback, just no capture.
So, my general point is that people are going to get bitten no matter
what we do for the "unknown" case, but my original method was going to
have less of an impact that potentially yours will.
James
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 22:46 ` James Courtier-Dutton
@ 2005-07-02 23:12 ` Lee Revell
2005-07-05 15:33 ` Lee Revell
1 sibling, 0 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-02 23:12 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> I suppose it depends what one wants to happen when the driver comes
> across a unrecognised sound card variant.
> For example, we have ac97 for the Audigy 2 LS (a ca0106 chip), but newer
> cards with the ca0106 chip have no ac97 codec. I thought that if we come
> across an unrecognised card, we should assume that it does not have
> external chips, and then add specific support into the driver if it does.
> So, now, if a new Audigy 2 arrives without any ac97 chip, the
> snd-emu10k1 module will fail to load at all. At least if the default
> unknown entry excluded the ac97 chip, the user would at least have sound
> playback, just no capture.
>
> So, my general point is that people are going to get bitten no matter
> what we do for the "unknown" case, but my original method was going to
> have less of an impact that potentially yours will.
Right, if the user has hardware that we've never seen, I guess the
behavior is always undefined. IMHO for the -stable series we should
default to whatever the driver from 2.6.11 would have done (if
possible).
My main point was not to handle any new devices that come along, but to
fix the regressions that users with known hardware are seeing. The
simplest way seems to be to add the missing entries to the list but
default to assuming no ac97 etc. as you suggested.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 22:30 ` James Courtier-Dutton
@ 2005-07-02 23:20 ` Lee Revell
2005-07-02 23:41 ` Lee Revell
0 siblings, 1 reply; 19+ messages in thread
From: Lee Revell @ 2005-07-02 23:20 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
On Sat, 2005-07-02 at 23:30 +0100, James Courtier-Dutton wrote:
> I don't believe my changes to emu10k1 caused this to change. It was
> something independent that changed.
Ugh, you are right, this is alsactl's problem. So it looks like users
who upgrade to alsa-utils 1.0.9+ will lose their mixer settings...
I prefer the SB*** names, because they uniquely identify the hardware,
and users seem to know them. AFAICT it's possible for 'Audigy2' to have
an ac97 codec and 'Audigy2_1' not, resulting in different & incompatible
mixer settings.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 23:20 ` Lee Revell
@ 2005-07-02 23:41 ` Lee Revell
0 siblings, 0 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-02 23:41 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
On Sat, 2005-07-02 at 19:20 -0400, Lee Revell wrote:
> On Sat, 2005-07-02 at 23:30 +0100, James Courtier-Dutton wrote:
> > I don't believe my changes to emu10k1 caused this to change. It was
> > something independent that changed.
>
> Ugh, you are right, this is alsactl's problem. So it looks like users
> who upgrade to alsa-utils 1.0.9+ will lose their mixer settings...
Never mind, I just tested and it seems to restore the settings
correctly, whether the card is called Audigy2 or SB0350. It looks like
alsactl is much smarter than it used to be.
So please disregard the part of my message about mixer settings, for
-stable we just have to handle the ac97/noac97 type issues.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-02 22:46 ` James Courtier-Dutton
2005-07-02 23:12 ` Lee Revell
@ 2005-07-05 15:33 ` Lee Revell
2005-07-05 15:40 ` Takashi Iwai
1 sibling, 1 reply; 19+ messages in thread
From: Lee Revell @ 2005-07-05 15:33 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: alsa-devel, Takashi Iwai, Arnaud Patard, Mikael Magnusson,
Peter Zubaj
On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> So, my general point is that people are going to get bitten no matter
> what we do for the "unknown" case, but my original method was going to
> have less of an impact that potentially yours will.
Any more feedback on this? We absolutely need to address the problem in
the next -stable release.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 15:33 ` Lee Revell
@ 2005-07-05 15:40 ` Takashi Iwai
2005-07-05 15:41 ` Lee Revell
0 siblings, 1 reply; 19+ messages in thread
From: Takashi Iwai @ 2005-07-05 15:40 UTC (permalink / raw)
To: Lee Revell
Cc: James Courtier-Dutton, alsa-devel, Arnaud Patard,
Mikael Magnusson, Peter Zubaj
At Tue, 05 Jul 2005 11:33:37 -0400,
Lee Revell wrote:
>
> On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> > So, my general point is that people are going to get bitten no matter
> > what we do for the "unknown" case, but my original method was going to
> > have less of an impact that potentially yours will.
>
> Any more feedback on this? We absolutely need to address the problem in
> the next -stable release.
I agree with James.
Takashi
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 15:40 ` Takashi Iwai
@ 2005-07-05 15:41 ` Lee Revell
2005-07-05 15:45 ` Takashi Iwai
0 siblings, 1 reply; 19+ messages in thread
From: Lee Revell @ 2005-07-05 15:41 UTC (permalink / raw)
To: Takashi Iwai
Cc: James Courtier-Dutton, alsa-devel, Arnaud Patard,
Mikael Magnusson, Peter Zubaj
On Tue, 2005-07-05 at 17:40 +0200, Takashi Iwai wrote:
> At Tue, 05 Jul 2005 11:33:37 -0400,
> Lee Revell wrote:
> >
> > On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> > > So, my general point is that people are going to get bitten no matter
> > > what we do for the "unknown" case, but my original method was going to
> > > have less of an impact that potentially yours will.
> >
> > Any more feedback on this? We absolutely need to address the problem in
> > the next -stable release.
>
> I agree with James.
OK, James, do you want to generate a new patch for -stable? As the
developer of this feature, I think you understand the behavior better
than me...
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 15:41 ` Lee Revell
@ 2005-07-05 15:45 ` Takashi Iwai
2005-07-05 16:16 ` James Courtier-Dutton
0 siblings, 1 reply; 19+ messages in thread
From: Takashi Iwai @ 2005-07-05 15:45 UTC (permalink / raw)
To: Lee Revell
Cc: James Courtier-Dutton, alsa-devel, Arnaud Patard,
Mikael Magnusson, Peter Zubaj
At Tue, 05 Jul 2005 11:41:44 -0400,
Lee Revell wrote:
>
> On Tue, 2005-07-05 at 17:40 +0200, Takashi Iwai wrote:
> > At Tue, 05 Jul 2005 11:33:37 -0400,
> > Lee Revell wrote:
> > >
> > > On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> > > > So, my general point is that people are going to get bitten no matter
> > > > what we do for the "unknown" case, but my original method was going to
> > > > have less of an impact that potentially yours will.
> > >
> > > Any more feedback on this? We absolutely need to address the problem in
> > > the next -stable release.
> >
> > I agree with James.
>
> OK, James, do you want to generate a new patch for -stable? As the
> developer of this feature, I think you understand the behavior better
> than me...
BTW, it would be nice, too, if we have a "model" module option like
other drivers. It would give users a chance to choose another card
model without compiling drivers if the card is not detected
correctly.
This isn't necessarily put to -stable tree, though.
Takashi
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 15:45 ` Takashi Iwai
@ 2005-07-05 16:16 ` James Courtier-Dutton
2005-07-05 16:22 ` Lee Revell
2005-07-05 16:31 ` Takashi Iwai
0 siblings, 2 replies; 19+ messages in thread
From: James Courtier-Dutton @ 2005-07-05 16:16 UTC (permalink / raw)
To: Takashi Iwai
Cc: Lee Revell, James Courtier-Dutton, alsa-devel, Arnaud Patard,
Mikael Magnusson, Peter Zubaj
On 7/5/05, Takashi Iwai <tiwai@suse.de> wrote:
> At Tue, 05 Jul 2005 11:41:44 -0400,
> Lee Revell wrote:
> >
> > On Tue, 2005-07-05 at 17:40 +0200, Takashi Iwai wrote:
> > > At Tue, 05 Jul 2005 11:33:37 -0400,
> > > Lee Revell wrote:
> > > >
> > > > On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> > > > > So, my general point is that people are going to get bitten no matter
> > > > > what we do for the "unknown" case, but my original method was going to
> > > > > have less of an impact that potentially yours will.
> > > >
> > > > Any more feedback on this? We absolutely need to address the problem in
> > > > the next -stable release.
> > >
> > > I agree with James.
> >
> > OK, James, do you want to generate a new patch for -stable? As the
> > developer of this feature, I think you understand the behavior better
> > than me...
>
> BTW, it would be nice, too, if we have a "model" module option like
> other drivers. It would give users a chance to choose another card
> model without compiling drivers if the card is not detected
> correctly.
>
> This isn't necessarily put to -stable tree, though.
>
>
> Takashi
>
I don't know about stable stuff.
I currently only have access to the alsa cvs, so I put fixes in their
and let other people migrate those into kernel xyz.
I will look at the "model" option when I get a chance next weekend.
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id\x16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 16:16 ` James Courtier-Dutton
@ 2005-07-05 16:22 ` Lee Revell
2005-07-05 16:31 ` Takashi Iwai
1 sibling, 0 replies; 19+ messages in thread
From: Lee Revell @ 2005-07-05 16:22 UTC (permalink / raw)
To: James Courtier-Dutton
Cc: Takashi Iwai, James Courtier-Dutton, alsa-devel, Arnaud Patard,
Mikael Magnusson, Peter Zubaj
On Tue, 2005-07-05 at 17:16 +0100, James Courtier-Dutton wrote:
> I don't know about stable stuff.
> I currently only have access to the alsa cvs, so I put fixes in their
> and let other people migrate those into kernel xyz.
> I will look at the "model" option when I get a chance next weekend.
>
I think for -stable we need to just apply the original patch that I
sent. We just need the minimal change to restore the mic and line in on
Audigy 1 devices that resulted from the incorrect setting of ac97.
Lee
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: Fix emu10k1 breakages in kernel 2.6.12
2005-07-05 16:16 ` James Courtier-Dutton
2005-07-05 16:22 ` Lee Revell
@ 2005-07-05 16:31 ` Takashi Iwai
1 sibling, 0 replies; 19+ messages in thread
From: Takashi Iwai @ 2005-07-05 16:31 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
At Tue, 5 Jul 2005 17:16:05 +0100,
James Courtier-Dutton wrote:
>
> On 7/5/05, Takashi Iwai <tiwai@suse.de> wrote:
> > At Tue, 05 Jul 2005 11:41:44 -0400,
> > Lee Revell wrote:
> > >
> > > On Tue, 2005-07-05 at 17:40 +0200, Takashi Iwai wrote:
> > > > At Tue, 05 Jul 2005 11:33:37 -0400,
> > > > Lee Revell wrote:
> > > > >
> > > > > On Sat, 2005-07-02 at 23:46 +0100, James Courtier-Dutton wrote:
> > > > > > So, my general point is that people are going to get bitten no matter
> > > > > > what we do for the "unknown" case, but my original method was going to
> > > > > > have less of an impact that potentially yours will.
> > > > >
> > > > > Any more feedback on this? We absolutely need to address the problem in
> > > > > the next -stable release.
> > > >
> > > > I agree with James.
> > >
> > > OK, James, do you want to generate a new patch for -stable? As the
> > > developer of this feature, I think you understand the behavior better
> > > than me...
> >
> > BTW, it would be nice, too, if we have a "model" module option like
> > other drivers. It would give users a chance to choose another card
> > model without compiling drivers if the card is not detected
> > correctly.
> >
> > This isn't necessarily put to -stable tree, though.
> >
> >
> > Takashi
> >
>
> I don't know about stable stuff.
It's 2.6.12.x kernel. Just make a diff for that.
Takashi
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2005-07-05 16:31 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-02 3:08 Fix emu10k1 breakages in kernel 2.6.12 Lee Revell
2005-07-02 4:56 ` [stable] " Greg KH
2005-07-02 5:45 ` Lee Revell
2005-07-02 5:52 ` Greg KH
2005-07-02 21:15 ` Lee Revell
2005-07-02 10:34 ` James Courtier-Dutton
2005-07-02 18:14 ` Lee Revell
2005-07-02 22:30 ` James Courtier-Dutton
2005-07-02 23:20 ` Lee Revell
2005-07-02 23:41 ` Lee Revell
2005-07-02 22:46 ` James Courtier-Dutton
2005-07-02 23:12 ` Lee Revell
2005-07-05 15:33 ` Lee Revell
2005-07-05 15:40 ` Takashi Iwai
2005-07-05 15:41 ` Lee Revell
2005-07-05 15:45 ` Takashi Iwai
2005-07-05 16:16 ` James Courtier-Dutton
2005-07-05 16:22 ` Lee Revell
2005-07-05 16:31 ` 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.