Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40becd8d authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Ingo Molnar
Browse files

AMD IOMMU: use iommu_device_max_index



AMD IOMMU can use iommu_device_max_index() instead of the homegrown
function.

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 24268245
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -470,10 +470,6 @@ static int init_unity_mappings_for_device(struct dma_ops_domain *dma_dom,
 * efficient allocator.
 *
 ****************************************************************************/
static unsigned long dma_mask_to_pages(unsigned long mask)
{
	return PAGE_ALIGN(mask) >> PAGE_SHIFT;
}

/*
 * The address allocator core function.
@@ -486,14 +482,14 @@ static unsigned long dma_ops_alloc_addresses(struct device *dev,
					     unsigned long align_mask,
					     u64 dma_mask)
{
	unsigned long limit = dma_mask_to_pages(dma_mask);
	unsigned long limit;
	unsigned long address;
	unsigned long size = dom->aperture_size >> PAGE_SHIFT;
	unsigned long boundary_size;

	boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
			PAGE_SIZE) >> PAGE_SHIFT;
	limit = limit < size ? limit : size;
	limit = iommu_device_max_index(dom->aperture_size >> PAGE_SHIFT, 0,
				       dma_mask >> PAGE_SHIFT);

	if (dom->next_bit >= limit) {
		dom->next_bit = 0;