On Tuesday 07 December 2010 16:05:12 ext Mark Brown wrote:
On Tue, Dec 07, 2010 at 11:17:26AM +0200, Peter Ujfalusi wrote:
I have not seen this happening on OMAP2/3, or at least I'm not aware of it. Is this problem OMAP4 only? Do you know if this happens on playback, capture or in both direction? Is it worth to do this workaround only on OMAP4?
Given that the patch should cause at most a single read from a register when tearing down DMA if it's not required I'd guess it's safer to just unconditionally enable the workaround on the off chance that it's just reallly rare rather than not needed?
Sure, it is a single read to a register, but generally I'm a bit nervous, when we have a while loop without timeout counter. In theory we could have infinite loop, if the HW has a bad day... This could be safe on all OMAP platforms, but I think it has been only tested on OMAP4. If this could happen, than IMHO it has to be handled by the omap_stop_dma, since other drivers could be hit by the same problem (there might be ERRATA for it already for OMAP4).