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

Commit 017ee4b0 authored by Mitchel Humpherys's avatar Mitchel Humpherys Committed by Patrick Daly
Browse files

iommu/arm-smmu: Make fault triggering more reliable



We're currently disabling clocks/power immediately after writing to
FSRRESTORE, but if the fault is not handled before we disable the
clocks/power then the fault could be lost.  Add a 1-second sleep after
writing to FSRRESTORE to give the interrupt time to fire before turning
clocks/power back off.

Change-Id: Ieeba49686da5da92e43f03c3c593166592184433
Signed-off-by: default avatarMitchel Humpherys <mitchelh@codeaurora.org>
Signed-off-by: default avatarPatrick Daly <pdaly@codeaurora.org>
parent a52d6cc3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1993,6 +1993,8 @@ static void arm_smmu_trigger_fault(struct iommu_domain *domain,
	dev_err(smmu->dev, "Writing 0x%lx to FSRRESTORE on cb %d\n",
		flags, cfg->cbndx);
	writel_relaxed(flags, cb_base + ARM_SMMU_CB_FSRRESTORE);
	/* give the interrupt time to fire... */
	msleep(1000);
}

static struct iommu_ops arm_smmu_ops = {