Messages in this thread | | | Date | Thu, 6 Jun 2019 08:28:40 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH] iommu/dma: Apply dma_{alloc,free}_contiguous functions |
| |
Looks fine to me. Robin, any comments?
On Mon, Jun 03, 2019 at 03:52:59PM -0700, Nicolin Chen wrote: > This patch replaces dma_{alloc,release}_from_contiguous() with > dma_{alloc,free}_contiguous() to simplify those function calls. > > Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> > --- > drivers/iommu/dma-iommu.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c > index 0cd49c2d3770..cc3d39dbbe1a 100644 > --- a/drivers/iommu/dma-iommu.c > +++ b/drivers/iommu/dma-iommu.c > @@ -951,8 +951,8 @@ static void __iommu_dma_free(struct device *dev, size_t size, void *cpu_addr) > > if (pages) > __iommu_dma_free_pages(pages, count); > - if (page && !dma_release_from_contiguous(dev, page, count)) > - __free_pages(page, get_order(alloc_size)); > + if (page) > + dma_free_contiguous(dev, page, alloc_size); > } > > static void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr, > @@ -970,12 +970,7 @@ static void *iommu_dma_alloc_pages(struct device *dev, size_t size, > struct page *page = NULL; > void *cpu_addr; > > - if (gfpflags_allow_blocking(gfp)) > - page = dma_alloc_from_contiguous(dev, alloc_size >> PAGE_SHIFT, > - get_order(alloc_size), > - gfp & __GFP_NOWARN); > - if (!page) > - page = alloc_pages(gfp, get_order(alloc_size)); > + page = dma_alloc_contiguous(dev, alloc_size, gfp); > if (!page) > return NULL; > > @@ -997,8 +992,7 @@ static void *iommu_dma_alloc_pages(struct device *dev, size_t size, > memset(cpu_addr, 0, alloc_size); > return cpu_addr; > out_free_pages: > - if (!dma_release_from_contiguous(dev, page, alloc_size >> PAGE_SHIFT)) > - __free_pages(page, get_order(alloc_size)); > + dma_free_contiguous(dev, page, alloc_size); > return NULL; > } > > -- > 2.17.1 ---end quoted text---
| |