Messages in this thread Patch in this message | | | Date | Thu, 14 Jun 2001 20:31:49 -0600 | From | Michal Jaegermann <> | Subject | [PATCH] Sound on Nautilus Alpha (UP1000, UP1100) |
| |
Somehow a code which does Nautilus specific magic to a Trident card was forgotten for cases when a "generic" Alpha kernel is in use. After a transfer of these few lines from 2.2.19 my sound card started to play again. Nautilus specific kernel should work but this is not always in use.
Header comments in trident.c indicate that "#define DRIVER_VERSION" was simply forgotten so I updated that as well.
This patch was done with 2.4.5-ac13 but it should fit all trident.c from 2.4 kernels possibly with some small line offsets. Alan, will you push that to Linus?
Michal --- linux-2.4.5ac/drivers/sound/trident.c.orig Tue Jun 12 16:31:13 2001 +++ linux-2.4.5ac/drivers/sound/trident.c Thu Jun 14 18:33:34 2001 @@ -136,11 +136,15 @@ #include <linux/bitops.h> #include <linux/proc_fs.h> +#if defined CONFIG_ALPHA_NAUTILUS || CONFIG_ALPHA_GENERIC +#include <asm/hwrpb.h> +#endif + #include "trident.h" #include <linux/pm.h> -#define DRIVER_VERSION "0.14.6" +#define DRIVER_VERSION "0.14.7a" /* magic numbers to protect our data structures */ #define TRIDENT_CARD_MAGIC 0x5072696E /* "Prin" */ @@ -3607,10 +3611,17 @@ if (card->pci_id == PCI_DEVICE_ID_ALI_5451) { /* edited by HMSEO for GT sound */ -#ifdef CONFIG_ALPHA_NAUTILUS +#if defined CONFIG_ALPHA_NAUTILUS || CONFIG_ALPHA_GENERIC u16 ac97_data; - ac97_data = ali_ac97_get (card->ac97_codec[0], AC97_POWER_CONTROL); - ali_ac97_set (card->ac97_codec[0], AC97_POWER_CONTROL, ac97_data | ALI_EAPD_POWER_DOWN); + extern struct hwrpb_struct *hwrpb; + + if ((hwrpb->sys_type) == 201) { + printk(KERN_INFO "trident: Running on Alpha system type Nautilus\n"); + ac97_data = ali_ac97_get (card->ac97_codec[0], + AC97_POWER_CONTROL); + ali_ac97_set (card->ac97_codec[0], AC97_POWER_CONTROL, + ac97_data | ALI_EAPD_POWER_DOWN); + } #endif /* edited by HMSEO for GT sound*/ } | |