Em Tue, 17 Jul 2018 17:10:22 -0300 Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> escreveu: > Yeah, and not setting URB_NO_TRANSFER_DMA_MAP makes the USB core > create DMA mappings and use the streaming API. Which makes more > sense in hardware without hardware coherency. > > The only thing that bothers me with this patch is that it's not > really something specific to this driver. If this fix is valid > for pwc, then it's valid for all the drivers allocating coherent > memory. We're actually doing this change on other drivers: https://git.linuxtv.org/media_tree.git/commit/?id=d571b592c6206 I suspect that the reason why all USB media drivers were using URB_NO_TRANSFER_DMA_MAP is just because the first media USB driver upstream used it. On that time, I remember I tried once to not use this flag, but there was something that broke (perhaps I just didn't know enough about the USB layer - or perhaps some fixes happened at USB core - allowing it to be used with ISOC transfers). Anyway, nowadays, I fail to see a reason why not let the USB core do the DMA maps. On my tests after this patch, at the boards I tested (arm and x86), I was unable to see any regressions. Thanks, Mauro