]> git.baikalelectronics.ru Git - kernel.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)
commitb7cd91440dfef75fb064ad40b8b36202c5e1b85f
tree252606f6807877d15a936dd94325742cf8021a8d
parentcb6b82ecff14b0845ea70acfdcc8457f4650c8dc
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