I can't see any reason, why my i845 updates should touch dma stuff... The only changes I could think of causing troubles are 1. dma reset (line 790, 842): no check if dma reset is complete 2. dma reset: reset occurs before latent interrupt bits are cleared 3. channel support (lines 1951 ff): more bits are cleared then should be? (look for 0xcfffff, shouldn't that read 0xffcfffff; compare lines 2829 and 2487) 4. At least on ICH4, OFF_CIV is a read only location, but writes occur quite frequently. Don't know if that helps. George P.S.: The attached patch goes to Alan seperately. Give it a try. (You can also remove the comment tags from line 795: while( inb(card->iobase + PI_CR) & 0x02 ) ; and line 849 while( inb(card->iobase + PO_CR) & 0x02 ) ; They are not necessary on my box, but... ) On Tue, 2002-08-27 at 20:46, Doug Ledford wrote: > On Tue, Aug 27, 2002 at 12:53:12PM +0300, Andris Pavenis wrote: > > Found that i810_audio has been broken in kernel 2.4.20-pre4-ac1. It was Ok with > > 2.4.20-pre1-ac1 I used before. > > > > With 2.4.20-pre4-ac1 I'm only getting garbled sound and kernel messages (see below). > > Didn't have time yet to study mire detailed which change breaks driver. > > The important part of my change is just two lines. There is the line that > prints out the message "Defaulting to base 2 channel mode." and the line > after it where we mask off a couple bits in the global control register. > Comment those two lines out and let me know if it makes a difference on > your machine. > > > In Alan's changelog I see: > > > > 2.4.20-pre2-ac5: Further i810_audio updates for 845 (Juergen Sawinski) > > 2.4.20-pre1-ac3: Tidy up error paths on i810_audio init (Alan) > > 2.4.20-pre1-ac2: First set of i810 audio updates (Doug Ledford) > > > > Andris > > > > ------ at startup ----------------- > > Intel 810 + AC97 Audio, version 0.22, 11:18:00 Aug 26 2002 > > PCI: Found IRQ 5 for device 00:1f.5 > > PCI: Sharing IRQ 5 with 00:1f.3 > > PCI: Setting latency timer of device 00:1f.5 to 64 > > i810: Intel ICH 82801AA found at IO 0xe100 and 0xe000, MEM 0x0000 and 0x0000, IRQ 5 > > i810_audio: Audio Controller supports 2 channels. > > i810_audio: Defaulting to base 2 channel mode. > > i810_audio: resetting hw channel 0 > > ac97_codec: AC97 Audio codec, id: 0x4144:0x5348 (Analog Devices AD1881A) > > i810_audio: AC'97 codec 0 Unable to map surround DAC's (or DAC's not present), to > > ------ error messages ------------ > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 27, hwptr 253a, count -13626 > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 27, hwptr 2662, count -296 > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 27, hwptr 2662, count -296 > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 27, hwptr 266a, count -8 > > i810_audio: DMA overrun on write > > i810_audio: CIV 1, LVI 31, hwptr 2924, count -10526 > > i810_audio: DMA overrun on write > > i810_audio: CIV 1, LVI 31, hwptr 2924, count -10526 > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 3, hwptr 253a, count -5434 > > i810_audio: DMA overrun on write > > i810_audio: CIV 0, LVI 3, hwptr 2562, count -40 > > ...... > > > > --------- error message from artsd (KDE-3.1 beta1) ------- > > Sound server fatal error: > > AudioSubSystem::handleIO: write failed > > len = 3228, can_write = 4096, errno = 17 (File exists) > > This might be a sound hardware/driver specific problem (see aRts FAQ) > > > > -------------------------------------------------------------------- > > Kernel was compiled with gcc-3.1 (like earlier kernels where i810_audio worked > > Ok) > > -- > Doug Ledford 919-754-3700 x44233 > Red Hat, Inc. > 1801 Varsity Dr. > Raleigh, NC 27606 > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Juergen "George" Sawinski Max-Planck Institute for Medical Research Dept. of Biomedical Optics Jahnstr. 29 D-69120 Heidelberg Germany Phone: +49-6221-486-308 Fax: +49-6221-486-325 priv. Phone: +49-6221-418 858 Mobile: +49-171-532 5302