]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
iommu/vt-d: Clean up size handling for intel_iommu_unmap()
authorDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 19 Mar 2014 16:07:49 +0000 (16:07 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 19 Mar 2014 17:21:32 +0000 (17:21 +0000)
commit5cf0a76fa2179d246fc0375d733bdccffd59382b
tree252606f6807877d15a936dd94325742cf8021a8d
parent75f05569d0e51f6332a291c82abbeb7c8262e32d
iommu/vt-d: Clean up size handling for intel_iommu_unmap()

We have this horrid API where iommu_unmap() can unmap more than it's asked
to, if the IOVA in question happens to be mapped with a large page.

Instead of propagating this nonsense to the point where we end up returning
the page order from dma_pte_clear_range(), let's just do it once and adjust
the 'size' parameter accordingly.

Augment pfn_to_dma_pte() to return the level at which the PTE was found,
which will also be useful later if we end up changing the API for
iommu_iova_to_phys() to behave the same way as is being discussed upstream.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/iommu/intel-iommu.c