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)
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

Simple merge