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:

> That looks right, my iBook uses the same:
> interrupts    0000001e 00000001 00000001 00000000 00000002 00000000

Do you see irq 1 listed in vmstat -i when playing audio?


> You may want to sprinkle some printf()s over arch/powerpc/pic/ 
> pic_openpic.c and friends to verify that the right interrupts are  
> being enabled, aren't blocked elsewhere, are the right type ( as in  
> edge vs. level triggered ) etc.

Looks fine. Here is an interrupt list of my system:

irq1  edg  snapper0
irq2  edg  snapper0
irq22 edg  zsc0 ch0
irq23 edg  zsc0 ch1
irq24 lev  wdc0
irq29 lev  ochi1
irq39 lev  wdc1
irq40 lev  fwohci0
irq41 lev  gem0
irq47 lev  pmu0
irq52 lev  bwi0
irq53 lev  cbb0
irq61 edg  snapper0
irq63 lev  ochi2, ohci3, ehci0

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.


>>>> Looking at the OF tree I should use the "name" or "compatible"
>>>> property for
>>>> "audio-gpio" and "reg" for "AAPL,address". But the contents of "reg"
>>>> is not
>>>> the final address and has probably to be added to some base  
>>>> address of
>>>> obio?
>>>
>>> It /should/ be relative to obio/gpio although sometimes it's relative
>>> to obio.

Ok. I modified snapper.c to find the gpios in my PowerBook as well. I also
added some code not to use gpios when they were not found. ;)

Now I can plug in a headphone and an interrupt is caused. This works fine.
But audio DMA still doesn't.

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index