Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3a45287 authored by Sinan Kaya's avatar Sinan Kaya Committed by Vinod Koul
Browse files

dmaengine: qcom_hidma: disable/enable IRQs on pause/resume



Once the channels are stopped, disable interrupts to make sure no new
HW interaction can happen.

Similarly, re-enable the interrupts only if we know that channel is
operational again.

Signed-off-by: default avatarSinan Kaya <okaya@codeaurora.org>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent c1ae3cfa
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -499,6 +499,9 @@ int hidma_ll_enable(struct hidma_lldev *lldev)
	lldev->trch_state = HIDMA_CH_ENABLED;
	lldev->evch_state = HIDMA_CH_ENABLED;

	/* enable irqs */
	writel(ENABLE_IRQS, lldev->evca + HIDMA_EVCA_IRQ_EN_REG);

	return 0;
}

@@ -596,6 +599,9 @@ int hidma_ll_disable(struct hidma_lldev *lldev)

	lldev->trch_state = HIDMA_CH_SUSPENDED;
	lldev->evch_state = HIDMA_CH_SUSPENDED;

	/* disable interrupts */
	writel(0, lldev->evca + HIDMA_EVCA_IRQ_EN_REG);
	return 0;
}