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: Mitchel Humpherys <mitchelh@codeaurora.org>
This commit is contained in:
parent
b47628bf9f
commit
5997478ea4
1 changed files with 2 additions and 0 deletions
|
@ -1355,6 +1355,8 @@ static void arm_smmu_trigger_fault(struct iommu_domain *domain,
|
||||||
dev_err(smmu->dev, "Writing 0x%lx to FSRRESTORE on cb %d\n",
|
dev_err(smmu->dev, "Writing 0x%lx to FSRRESTORE on cb %d\n",
|
||||||
flags, cfg->cbndx);
|
flags, cfg->cbndx);
|
||||||
writel_relaxed(flags, cb_base + ARM_SMMU_CB_FSRRESTORE);
|
writel_relaxed(flags, cb_base + ARM_SMMU_CB_FSRRESTORE);
|
||||||
|
/* give the interrupt time to fire... */
|
||||||
|
msleep(1000);
|
||||||
arm_smmu_disable_clocks(smmu);
|
arm_smmu_disable_clocks(smmu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue