power: qpnp-fg-gen3: poll for MEM_GNT instead of interrupt for DMA

Currently, for accessing FG SRAM by DMA, SW is requesting for
accessing and waiting for MEM_GNT interrupt to complete the SRAM
transaction. However, in certain cases where the CPU's interrupt
is kept disabled by some other driver long enough, MEM_GNT irq is
not handled on time. This leads to FG SRAM transaction timing out
ending up in fuel gauging performance issues in addition to
dumping peripheral registers frequently.

Workaround this issue by polling for MEM_GNT bit after requesting
DMA. This way, FG SRAM transactions can be made reliably.

Change-Id: Ic4639d5035fb47b1ae36405be53116c2f9222140
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
3 files changed