]> git.baikalelectronics.ru Git - kernel.git/commit
usb: dwc3: ep0: simplify EP0 state machine
authorFelipe Balbi <balbi@ti.com>
Sat, 27 Aug 2011 19:28:36 +0000 (22:28 +0300)
committerFelipe Balbi <balbi@ti.com>
Fri, 9 Sep 2011 10:02:07 +0000 (13:02 +0300)
commitfb204fd699bb473226d2cd58dd4e1d9307af08b9
treee773414177e516a4e7dfad6bfe03f7e46a7388ea
parentbc26290a28399cf421160adcd290955e63330126
usb: dwc3: ep0: simplify EP0 state machine

The DesignWare USB3 core tells us which phase
of a control transfer should be started, it
also tells us which physical endpoint needs
that transfer.

With these two informations, we have all we
need to simply EP0 handling quite a lot and
get rid rid of the SW state machine tracking
ep0 states.

For achieving this perfectly, we needed to
add support for situations where we get
XferNotReady while endpoint is still busy
and XferNotReady while gadget driver still
hasn't queued a request.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/core.h
drivers/usb/dwc3/ep0.c
drivers/usb/dwc3/gadget.c