Message ID | 20200628180844.79205-1-maxime@cerno.tech (mailing list archive) |
---|---|
State | Mainlined |
Commit | bc8784f348836ab8967e6116486c5079c7025999 |
Headers | show |
Series | [1/2] iommu/sun50i: Change the readl timeout to the atomic variant | expand |
On Sun, Jun 28, 2020 at 08:08:43PM +0200, Maxime Ripard wrote: > The flush_all_tlb call back can be called from an atomic context, so using > readl_poll_timeout that embeds a udelay doesn't work. > > Fixes: 4100b8c229b3 ("iommu: Add Allwinner H6 IOMMU driver") > Signed-off-by: Maxime Ripard <maxime@cerno.tech> Applied both for v5.8, thanks.
diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c index fce605e96aa2..a1563b54c743 100644 --- a/drivers/iommu/sun50i-iommu.c +++ b/drivers/iommu/sun50i-iommu.c @@ -313,9 +313,9 @@ static int sun50i_iommu_flush_all_tlb(struct sun50i_iommu *iommu) IOMMU_TLB_FLUSH_MICRO_TLB(1) | IOMMU_TLB_FLUSH_MICRO_TLB(0)); - ret = readl_poll_timeout(iommu->base + IOMMU_TLB_FLUSH_REG, - reg, !reg, - 1, 2000); + ret = readl_poll_timeout_atomic(iommu->base + IOMMU_TLB_FLUSH_REG, + reg, !reg, + 1, 2000); if (ret) dev_warn(iommu->dev, "TLB Flush timed out!\n");
The flush_all_tlb call back can be called from an atomic context, so using readl_poll_timeout that embeds a udelay doesn't work. Fixes: 4100b8c229b3 ("iommu: Add Allwinner H6 IOMMU driver") Signed-off-by: Maxime Ripard <maxime@cerno.tech> --- drivers/iommu/sun50i-iommu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)