projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9ebcfad
)
iommu/sun50i: Change the readl timeout to the atomic variant
author
Maxime Ripard
<maxime@cerno.tech>
Sun, 28 Jun 2020 18:08:43 +0000
(20:08 +0200)
committer
Joerg Roedel
<jroedel@suse.de>
Tue, 30 Jun 2020 10:05:09 +0000
(12:05 +0200)
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>
Link:
https://lore.kernel.org/r/20200628180844.79205-1-maxime@cerno.tech
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/sun50i-iommu.c
patch
|
blob
|
history
diff --git
a/drivers/iommu/sun50i-iommu.c
b/drivers/iommu/sun50i-iommu.c
index
fce605e
..
a1563b5
100644
(file)
--- 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");