xHCI: dynamic ring expansion
authorAndiry Xu <andiry.xu@amd.com>
Mon, 5 Mar 2012 09:49:37 +0000 (17:49 +0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 13 Mar 2012 16:30:24 +0000 (09:30 -0700)
commit8dfec6140fc617b932cf9a09ba46d0ee3f3a7d87
tree0929c51b289a54c7ac11e6919ff1f9ae737535ff
parent186a7ef13a8fa3bc7cca1ccd33bd469b931e46de
xHCI: dynamic ring expansion

If room_on_ring() check fails, try to expand the ring and check again.

When expand a ring, use a cached ring or allocate new segments, link
the original ring and the new ring or segments, update the original ring's
segment numbers and the last segment pointer.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Tested-by: Paul Zimmerman <Paul.Zimmerman@synopsys.com>
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.h