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

Commit 44b8b7b6 authored by Tony Truong's avatar Tony Truong
Browse files

msm: pcie: mask the aggregated interrupt status register



Aggregated interrupts that are configured to be masked should
not be reported in the interrupt handler. Thus, mask the status
value being read in the interrupt handler to filter them out.

Change-Id: I6b563955309795ac2b68c2527cbd763f9300a029
Signed-off-by: default avatarTony Truong <truong@codeaurora.org>
parent 765ad800
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -4964,7 +4964,9 @@ static irqreturn_t handle_global_irq(int irq, void *data)


	spin_lock_irqsave(&dev->global_irq_lock, irqsave_flags);
	spin_lock_irqsave(&dev->global_irq_lock, irqsave_flags);


	status = readl_relaxed(dev->parf + PCIE20_PARF_INT_ALL_STATUS);
	status = readl_relaxed(dev->parf + PCIE20_PARF_INT_ALL_STATUS) &
			readl_relaxed(dev->parf + PCIE20_PARF_INT_ALL_MASK);

	msm_pcie_write_mask(dev->parf + PCIE20_PARF_INT_ALL_CLEAR, 0, status);
	msm_pcie_write_mask(dev->parf + PCIE20_PARF_INT_ALL_CLEAR, 0, status);


	for (i = 0; i <= MSM_PCIE_INT_EVT_MAX; i++) {
	for (i = 0; i <= MSM_PCIE_INT_EVT_MAX; i++) {