projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ebaecb4
)
iommu/amd: Flush iommu tlb in dma_ops_free_addresses
author
Joerg Roedel
<jroedel@suse.de>
Mon, 21 Dec 2015 17:20:03 +0000
(18:20 +0100)
committer
Joerg Roedel
<jroedel@suse.de>
Mon, 28 Dec 2015 16:18:52 +0000
(17:18 +0100)
Instead of setting need_flush, do the flush directly in
dma_ops_free_addresses.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c
patch
|
blob
|
history
diff --git
a/drivers/iommu/amd_iommu.c
b/drivers/iommu/amd_iommu.c
index a26cd76588cd87641f1300223a9469f5a8bee683..62a407947b02e238aa74c8087c57981326f5cb7b 100644
(file)
--- a/
drivers/iommu/amd_iommu.c
+++ b/
drivers/iommu/amd_iommu.c
@@
-1648,8
+1648,10
@@
static void dma_ops_free_addresses(struct dma_ops_domain *dom,
return;
#endif
- if ((address >> APERTURE_RANGE_SHIFT) >= dom->next_index)
- dom->need_flush = true;
+ if (address + pages > range->next_bit) {
+ domain_flush_tlb(&dom->domain);
+ domain_flush_complete(&dom->domain);
+ }
address = (address % APERTURE_RANGE_SIZE) >> PAGE_SHIFT;