Nicolin Chen <nicoleots...@gmail.com> 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 <m...@ellerman.id.au> (powerpc)

cheers

Reply via email to