msm: mhi_dev: Redesign MHI driver async path

To handle bursty traffic the following changes are done
in the asynchronous read/write path in the MHI driver:
* Queue the transfer completion event within the read/write
  API instead of the transfer completion callback.
* When conditions are met, flush the completion events (schedule dma)
  to host from within the read/write API.
* Switch to a circular buffer to hold the completion events
  instead of a linked list of buffers.

Change-Id: I3cbc9cb6a2c040825c4b16ef4fb758bf95c7e642
Signed-off-by: Siva Kumar Akkireddi <sivaa@codeaurora.org>
2 files changed