msm: dma: Refactored driver to avoid queuing of cmds in workq.

Highlights of the changes are:
1. A workqueue is used to configure ADM only when
the clocks need to be prepared & enabled.
A function call is used to configure ADM in
cases where the ADM driver is invoked for data
transfer when the clock is already prepared &
enabled.
2. Replaced threaded irqs with hard irqs.

Change-Id: Ifaa5efdde8150f932a12d4f9eeccfb36ecb8f88f
Acked-by: John Nicholas <jnichola@qti.qualcomm.com>
Signed-off-by: Venkatesh Yadav Abbarapu <quicvenkat@codeaurora.org>

idea is taken here -
https://github.com/poondog/kangaroo-m7-mkIII/commit/e98c4e8ffeed610453518d8c5eb8fe3133171e96