[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v10 10/12] swiotlb: Add restricted DMA alloc/free support
 
- To: Claire Chang <tientzu@xxxxxxxxxxxx>
 
- From: Christoph Hellwig <hch@xxxxxx>
 
- Date: Tue, 15 Jun 2021 15:42:08 +0200
 
- Cc: Rob Herring <robh+dt@xxxxxxxxxx>, mpe@xxxxxxxxxxxxxx,	Joerg Roedel <joro@xxxxxxxxxx>, Will Deacon <will@xxxxxxxxxx>,	Frank Rowand <frowand.list@xxxxxxxxx>,	Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>,	boris.ostrovsky@xxxxxxxxxx, jgross@xxxxxxxx,	Christoph Hellwig <hch@xxxxxx>,	Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,	benh@xxxxxxxxxxxxxxxxxxx, paulus@xxxxxxxxx,	"list@xxxxxxx:IOMMU DRIVERS" <iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx>,	sstabellini@xxxxxxxxxx, Robin Murphy <robin.murphy@xxxxxxx>,	grant.likely@xxxxxxx, xypron.glpk@xxxxxx,	Thierry Reding <treding@xxxxxxxxxx>, mingo@xxxxxxxxxx,	bauerman@xxxxxxxxxxxxx, peterz@xxxxxxxxxxxxx,	Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>,	Saravana Kannan <saravanak@xxxxxxxxxx>,	"Rafael J . Wysocki" <rafael.j.wysocki@xxxxxxxxx>,	heikki.krogerus@xxxxxxxxxxxxxxx,	Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>,	Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,	Dan Williams <dan.j.williams@xxxxxxxxx>,	Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>,	linux-devicetree <devicetree@xxxxxxxxxxxxxxx>,	lkml <linux-kernel@xxxxxxxxxxxxxxx>, linuxppc-dev@xxxxxxxxxxxxxxxx,	xen-devel@xxxxxxxxxxxxxxxxxxxx,	Nicolas Boichat <drinkcat@xxxxxxxxxxxx>,	Jim Quinlan <james.quinlan@xxxxxxxxxxxx>, tfiga@xxxxxxxxxxxx,	bskeggs@xxxxxxxxxx, bhelgaas@xxxxxxxxxx, chris@xxxxxxxxxxxxxxxxxx,	daniel@xxxxxxxx, airlied@xxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,	intel-gfx@xxxxxxxxxxxxxxxxxxxxx, jani.nikula@xxxxxxxxxxxxxxx,	jxgao@xxxxxxxxxx, joonas.lahtinen@xxxxxxxxxxxxxxx,	linux-pci@xxxxxxxxxxxxxxx, maarten.lankhorst@xxxxxxxxxxxxxxx,	matthew.auld@xxxxxxxxx, rodrigo.vivi@xxxxxxxxx,	thomas.hellstrom@xxxxxxxxxxxxxxx
 
- Delivery-date: Tue, 15 Jun 2021 13:42:14 +0000
 
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
 
 
 
On Tue, Jun 15, 2021 at 09:27:09PM +0800, Claire Chang wrote:
> Add the functions, swiotlb_{alloc,free} to support the memory allocation
> from restricted DMA pool.
> 
> The restricted DMA pool is preferred if available.
> 
> Note that since coherent allocation needs remapping, one must set up
> another device coherent pool by shared-dma-pool and use
> dma_alloc_from_dev_coherent instead for atomic coherent allocation.
Note: when applied this should go before the next patch to make sure
bisection works fine.
>  #ifdef CONFIG_DMA_RESTRICTED_POOL
> +struct page *swiotlb_alloc(struct device *dev, size_t size)
> +{
> +     struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
> +     phys_addr_t tlb_addr;
> +     int index;
> +
> +     /*
> +      * Skip io_tlb_default_mem since swiotlb_alloc doesn't support atomic
> +      * coherent allocation. Otherwise might break existing devices.
> +      * One must set up another device coherent pool by shared-dma-pool and
> +      * use dma_alloc_from_dev_coherent instead for atomic coherent
> +      * allocation to avoid mempry remapping.
s/mempry/memory/g
Otherwise looks good:
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
 
    
     |