qcacmn: Use disable_irq_nosync for ce srng msi mode

Implement interrupt mitigation for copy engines.
Implementation is not good if the CE msi vectors are shared,
since disable_irq_nosync will block all users of the given msi
vector.

When processing multiple CE interrupts while the tasklet is scheduled,
the the interrupts will increments the active_tasklet_cnt without
schduleing the tasklet (since it is allready scheduled).  This leads
to an imballance between the number of irq's processed and the number
of tasklets run.  This imballance leaks active_tasklet_cnt, and prevents
suspend from succeding.

interrupt mitigation fixes this problem by preventing the interrupt
from being processed untill its tasklet is finishing runing.

Change-Id: Idb3168d543481843b92327d302e7536e994e341e
CRs-Fixed: 1104481
2 files changed