>>* Oleg Matcovschi <[email protected]> [120515 14:40]:
>> Use omap_disable_channel_irq() function instead of directly accessing CICR.
>> The omap_disable_chanel_irq() function clears pending interrupts and
>> disables interrupt on channel.
>> Functions omap2_enable_irq_lch()/omap2_disable_irq_lch() clear
>> interrupt status register.
>Looking at this again, I'll apply this into cleanup-dma instead of fixes.
>If it fixes something that I can't see, please reply with a description what
>it fixes and I'll move it into fixes.
>Regards,
>Tony
Sure, cleanup-dma sounds ok.
Code covers:
- my test case for 4460:
I could reproduce 2 interrupts @ omap-pcm driver after omap_stop_dma
function call.
1st irq CSR: 0x42 (half & drop)
2nd irq CSR: 0x02 (drop)
Only 1 interrupt occurs after applying this patch(overnight test results)
Test case was created to reproduce problem reported by customer(without
clear description):
contiguous playback of 0.5 wav file (frequent start/stop audio
transitions)
contiguous data transfers on 15 self-linked dma channels.
- omap_request_dma could cause spurious interrupt
(enable irq, clear irq status instead of clear irq status, enable irq)
thanks,
Oleg--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html