Port-macppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: snapper does not work on PowerBook5,6
Michael wrote:
> Umm, what does snapper's interrupts property look like on your
> machine? The DMA and the status change interrupt are different types
> on mine.
Yes, I think that's the same on all snapper machines:
0000001e 00000001 00000001 00000000 00000002 00000000
I wonder for what this irq 30 is needed? Plugging in headphones is detected
by an additional interrupt (irq 61 in my case).
>> Maybe there is no interrupt problem, but a DMA problem? I found the
>> location
>> where the freeze happens: It is an infinite loop in dbdma_stop(),
>> while
>> waiting for two status flags to indicate DMA is flushed and stopped.
>>
>> But since dbdma is also used for wdc0 I'm not sure what can be wrong
>> here.
>
> This is getting weirder and weirder.
Are there any docs about using dbdma for audio? I admit that I don't even
understand yet how dbdma knows what to do with the data it is reading. :)
I just compared the source with OpenBSD. Seems they have already improved
dbdma.c to use bus_dma(9). And FreeBSD has a very clean reimplementation of
everything, but I saw no special handling for newer PowerBooks either.
BTW, there was already a posting more than 4 years ago, which describes
similar snapper problems on a PowerBook6,8:
http://mail-index.netbsd.org/port-macppc/2006/02/10/0001.html
He didn't hear sound either, but surprisingly he received a single irq1.
> Try to force the DMA interrupts to be level triggered.
This will give me infinite interrupts. More than I ever wanted. :)
No, I think level-triggered is correct.
--
Frank Wille
Home |
Main Index |
Thread Index |
Old Index