[alsa-devel] [regression] 2.6.25-rc4 snd-es18xx broken on Alpha

Takashi Iwai tiwai at suse.de
Mon Mar 17 17:26:27 CET 2008


At Fri, 14 Mar 2008 21:18:19 -0400,
Tyson Whitehead wrote:
> 
> On Fri March 14 2008, Bob Tracy wrote:
> > A quick followup...  Since we're in agreement this isn't a regression,
> > I've updated my working source tree to 2.6.25-rc5.  Built the new
> > kernel with the patch to omit es1888_init(), and as near as I can tell,
> > that function does nothing useful on the Miata platform.  At the very
> > least, not having it makes no difference to any of the ALSA drivers I've
> > tried: snd-sb8 still works great, and snd-es18xx is still broken in the
> > same way originally described at the beginning of this long thread.
> >
> > I'll try a build with the old OSS "sb" driver, and if that works ok, we
> > may be able to do away with es1888_init() on the Miata.  Tyson -- I
> > think you have a Miata if I'm remembering correctly: can you confirm
> > these observations?
> 
> I actually ran into some problems with my Alpha, and I haven't managed to get 
> get it full operational again yet.  I replaced the CPU fan, installed the new 
> aboot, and left it trying to recover the filesystems.  It was an unhappy 
> story all around -- damn that CMD646 chipset, I was under the impression that 
> driver had acquired some recent fixups.  Anyway, if this succeeds, I'll try 
> and compile up a new kernel with the patch when I get a chance.
> 
> With regard to the sound driver, the es18xx does endless looping on the first 
> second or so of sound on my box (a PWS500au) unless I apply my patch, which 
> just enables the alternative interupt detection code in the driver.

I vaguely remember about the patch...  The patch below was on my local
tree but never pushed because of lack of testing.  Does it work for
you?

>  Even 
> then, though, I believe it still only works in 8bit mode.

Maybe the problem is in a different place, then...


thanks,

Takashi

---

diff -r 82e6201fc907 sound/isa/es18xx.c
--- a/sound/isa/es18xx.c	Mon Mar 17 14:36:24 2008 +0100
+++ b/sound/isa/es18xx.c	Mon Mar 17 17:32:59 2008 +0100
@@ -765,9 +765,10 @@ static irqreturn_t snd_es18xx_interrupt(
 		/* Read Interrupt status */
 		status = snd_es18xx_mixer_read(chip, 0x7f) >> 4;
 	}
-#if 0
-	else {
-		status = 0;
+
+#ifdef CONFIG_ALPHA
+	if (!(status & (AUDIO1_IRQ | AUDIO2_IRQ))) {
+		/* status = 0; */
 		if (inb(chip->port + 0x0C) & 0x01)
 			status |= AUDIO1_IRQ;
 		if (snd_es18xx_mixer_read(chip, 0x7A) & 0x80)
@@ -777,7 +778,6 @@ static irqreturn_t snd_es18xx_interrupt(
 			status |= HWV_IRQ;
 	}
 #endif
-
 	/* Audio 1 & Audio 2 */
         if (status & AUDIO2_IRQ) {
                 if (chip->active & DAC2)


More information about the Alsa-devel mailing list