iommu/amd: Flush iommu tlb in dma_ops_free_addresses

Instead of setting need_flush, do the flush directly in
dma_ops_free_addresses.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
Joerg Roedel 2015-12-21 18:20:03 +01:00
parent ebaecb423b
commit d41ab09896

View File

@ -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;