lkml.org 
[lkml]   [2008]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [alsa-devel] [regression] 2.6.25-rc4 snd-es18xx broken on Alpha
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)

\
 
 \ /
  Last update: 2008-03-17 17:29    [W:0.141 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site