On 1/5/21 7:41 PM, Claire Chang wrote: > Add the functions, swiotlb_alloc and swiotlb_free to support the > memory allocation from restricted DMA pool. > > Signed-off-by: Claire Chang <tientzu@xxxxxxxxxxxx> > --- [snip] > diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c > index 30ccbc08e229..126e9b3354d6 100644 > --- a/kernel/dma/direct.c > +++ b/kernel/dma/direct.c > @@ -137,6 +137,11 @@ void *dma_direct_alloc(struct device *dev, size_t size, > void *ret; > int err; > > +#ifdef CONFIG_SWIOTLB > + if (unlikely(dev->dma_io_tlb_mem)) > + return swiotlb_alloc(dev, size, dma_handle, attrs); > +#endif While this is potentially a hot path, I am not sure of the unkikely is warranted, maybe best left as a plain conditional. -- Florian