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) _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel