usb: dwc3: gadget: lazily map requests for DMA
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Wed, 17 May 2017 10:21:14 +0000 (13:21 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Wed, 17 May 2017 10:21:14 +0000 (13:21 +0300)
commitcdb55b39fab82b5d48c9a7aa0348268f07b993ed
tree03cef4c20b6b303bd4b597c2f0756034849c5651
parent202adafe5a6e68fea30982c57cf51489936487ef
usb: dwc3: gadget: lazily map requests for DMA

Some functions might want to have very, very long request queues. We
can't make any assumptions about how many requests we *are* able to
map, so instead of mapping requests early, let's map them late. This
way, functions can queue as many requests as they'd like but we won't
take DMA resources until they are needed.

Also, we can now stop processing requests when we run out of DMA
resources but still keep requests in the queue for late processing.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c