On Fri, Aug 03, 2018 at 09:01:19PM -0700, Guenter Roeck wrote:
Testing an USB drive connected to ohci-sm501 results in a large number
of runtime warnings.
As far as I can tell this driver uses the HCD_LOCAL_MEM feature flag
for memory declared using dma_declare_coherent_memory. Unlike the
mormal dma mapping interfaces this special case can actually be freed
from interrupt context, and we have a fix for this warning queued
up in linux-next:
http://git.infradead.org/users/hch/dma-mapping.git/commitdiff/d27fb99f62af7b79c542d161aa5155ed57271ddc
That being said I'm generally very unhappy how dma_init_coherent_memory
turned out. The idea was to allow device local memory to be hidden
behind the DMA API, but in general we use it either as a way to declare
special uncache system memory (which would really be the plaform codes
job), or as a magic bounce buffer like in the USB code. I plan to
eventually untangle this, but it is going to take some time.