RE: [PATCH v2] omap: dma: Clear status registers on enable/disable irq.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>* Oleg Matcovschi <oleg.matcovschi@xxxxxx> [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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux