Re: [RFC PATCH] dma-mapping: create iommu mapping for newly allocated dma coherent mem

From: Christoph Hellwig
Date: Fri Apr 26 2019 - 11:13:49 EST


On Thu, Apr 25, 2019 at 11:30:54AM +0000, Laurentiu Tudor wrote:
> > I think the first step is to move the two USB controller that can only
> > DMA to their own BAR off the existing DMA coherent infrastructure. The
> > controllers are already identified using the HCD_LOCAL_MEM flag, so we
> > just need to key off that in the hcd_buffer_* routines and call into a
>
> So if HCD_LOCAL_MEM is set I should call into the gen_pool api instead
> of existing dma_{alloc,free}_coherent().

Yes.

> > genalloc that has been fed using the bar, replacing the current
> > dma_declare_coherent usage. Take a look at drivers/pci/p2pdma.c
> > for another example of allocating bits of a BAR using genalloc.
>
> Where should I place the reference to the gen_pool? How does local_pool
> in 'struct hcd_usb' sound?

Sounds fine to me, but in the end the usb maintainers will have
to decide.