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

Commit f5efed63 authored by Mitchel Humpherys's avatar Mitchel Humpherys
Browse files

iommu/arm-smmu: Poll TLBSTATUS with a tight loop



Currently we're using a 10us delay while polling the TLB status register
after doing a TLB operation.  These operations almost always finish on
the first iteration or two, so the delay is unnecessary.  Just do a
tight poll.

Change-Id: I7d5787ea92e227ded5a0578c1c647e8317c8ceca
Signed-off-by: default avatarMitchel Humpherys <mitchelh@codeaurora.org>
parent 2045ecdb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -815,7 +815,7 @@ static void arm_smmu_tlb_sync_cb(struct arm_smmu_device *smmu,
	writel_relaxed(0, base + ARM_SMMU_CB_TLBSYNC);
	if (readl_poll_timeout_atomic(base + ARM_SMMU_CB_TLBSTATUS, val,
				      !(val & TLBSTATUS_SACTIVE),
				      10, TLB_LOOP_TIMEOUT))
				      0, TLB_LOOP_TIMEOUT))
		dev_err(smmu->dev, "TLBSYNC timeout!\n");
}