On Thu, Feb 27, 2020 at 7:28 AM Tomasz Figa <tfiga@xxxxxxxxxxxx> wrote: > > +Sergey Senozhatsky who's going to be looking into this. > > Hi Christoph, > > On Tue, Oct 1, 2019 at 3:37 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > > > On Mon, Sep 30, 2019 at 01:23:10AM -0700, Christoph Hellwig wrote: > > > And drivers really have no business looking at the dma mask. I have > > > a plan for dma_alloc_pages API that could replace that cruft, but > > > until then please use GFP_KERNEL and let the dma subsystem bounce > > > buffer if needed. > > > > Can you try this series: > > > > http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma_alloc_pages > > > > and see if it does whay you need for usb? > > Reviving this thread. Sorry for no updates for a long time. > > dma_alloc_pages() still wouldn't be an equivalent replacement of the > existing dma_alloc_coherent() (used behind the scenes by > usb_alloc_coherent()). That's because the latter can allocate > non-contiguous memory if the DMA device can handle it (i.e. is behind > an IOMMU), but the former can only allocate a contiguous range of > pages. > > That said, I noticed that you also put a lot of effort into making the > NONCONSISTENT attribute more usable. Perhaps that's the way to go here > then? Of course we would need to make sure that the attribute is > handled properly on ARM and ARM64, which are the most affected > platforms. Right now neither handles them. The former doesn't use the > generic DMA mapping ops, while the latter does, but doesn't enable a > Kconfig option needed to allow generic inconsistent allocations. > > Any hints would be appreciated. Hi Christoph, would you have some time to check the above? Hi Catalin, Will, do you know why CONFIG_DMA_NONCOHERENT_CACHE_SYNC is not enabled on arm64? Thanks in advance. :) Best regards, Tomasz