Nicolin Chen <nicoleotsuka@xxxxxxxxx> writes: > diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c > index 9704f3f76e63..cbc2e62db597 100644 > --- a/arch/powerpc/kernel/iommu.c > +++ b/arch/powerpc/kernel/iommu.c > @@ -236,15 +236,10 @@ static unsigned long iommu_range_alloc(struct device *dev, > } > } > > - if (dev) > - boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1, > - 1 << tbl->it_page_shift); > - else > - boundary_size = ALIGN(1UL << 32, 1 << tbl->it_page_shift); > - /* 4GB boundary for iseries_hv_alloc and iseries_hv_map */ > + boundary_size = dma_get_seg_boundary_nr_pages(dev, tbl->it_page_shift); > > n = iommu_area_alloc(tbl->it_map, limit, start, npages, tbl->it_offset, > - boundary_size >> tbl->it_page_shift, align_mask); > + boundary_size, align_mask); This has changed the units of boundary_size, but it's unused elsewhere in the function so that's OK. If you need to do a v2 for any other reason, then I'd just drop boundary_size and call dma_get_seg_boundary_nr_pages() directly in the function call. Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc) cheers