Re: Audigy2 renamed, grrr...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Tue, 27 Sep 2005 11:08:17 -0400,
Mathieu Chouquet-Stringer wrote:
> 
> [email protected] (Lee Revell) writes:
> > These changes were required to support the increasingly wide variety of
> > emu10k1 based hardware.
> > 
> > Anyway it should not matter - newer versions of alsactl will still be
> > able to restore the mixer settings.
> 
> Well it looks like I've lost my analog output in 2.6.14-rc2 (headphones on
> the LiveDrive work fine though).
> 
> My card is now reported as a SBLive! Platinum 5.1 [SB0060] and i've been
> loading the modules with the following:
> extin=0x3fc3 extout=0x1fc3 enable_ir=1
> 
> It's been working fine until the latest git updates. I'll try
> again tonight if I get the time.

The patch below should fix the problem.  Give it a try.


Takashi


--- linux/include/sound/emu10k1.h	7 Sep 2005 12:56:34 -0000	1.68
+++ linux/include/sound/emu10k1.h	29 Sep 2005 15:50:51 -0000
@@ -1059,7 +1059,7 @@
 	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 ac97_chip;    /* Has an AC97 chip: 1 = mandatory, 2 = optional */
 	unsigned char ecard;        /* APS EEPROM */
 	const char *driver;
 	const char *name;
--- linux/sound/pci/emu10k1/emu10k1_main.c	10 Sep 2005 14:34:45 -0000	1.65
+++ linux/sound/pci/emu10k1/emu10k1_main.c	29 Sep 2005 15:50:51 -0000
@@ -756,9 +756,12 @@
 	 .sblive51 = 1} ,
 	/* Tested by alsa bugtrack user "hus" bug #1297 12th Aug 2005 */
 	{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80611102,
-	 .driver = "EMU10K1", .name = "SBLive! Platinum 5.1 [SB0060]", 
+	 .driver = "EMU10K1", .name = "SBLive 5.1 [SB0060]",
 	 .id = "Live",
 	 .emu10k1_chip = 1,
+	 .ac97_chip = 2, /* ac97 is optional; both SBLive 5.1 and platinum
+			  * share the same IDs!
+			  */
 	 .sblive51 = 1} ,
 	{.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80511102,
 	 .driver = "EMU10K1", .name = "SBLive! Value [CT4850]", 
--- linux/sound/pci/emu10k1/emumixer.c	3 Aug 2005 12:54:39 -0000	1.37
+++ linux/sound/pci/emu10k1/emumixer.c	29 Sep 2005 15:50:51 -0000
@@ -802,8 +802,13 @@
 			.read = snd_emu10k1_ac97_read,
 		};
 
-		if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0)
-			return err;
+		if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0) {
+			if (emu->card_capabilities->ac97_chip == 1)
+				return err;
+			snd_printd(KERN_INFO "emu10k1: AC97 is optional on this board\n");
+			snd_printd(KERN_INFO"          Proceeding without ac97 mixers...\n");
+			goto no_ac97; /* FIXME: get rid of ugly gotos.. */
+		}
 		pbus->no_vra = 1; /* we don't need VRA */
 		
 		memset(&ac97, 0, sizeof(ac97));
@@ -836,6 +841,7 @@
 		for (; *c; c++)
 			remove_ctl(card, *c);
 	} else {
+	no_ac97:
 		if (emu->card_capabilities->ecard)
 			strcpy(emu->card->mixername, "EMU APS");
 		else if (emu->audigy)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux