]> 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)
commit70aaa16c1e4f6cd935ccca80ce22dea094edb140
treee773414177e516a4e7dfad6bfe03f7e46a7388ea
parentfc8dd763484679186d1f9ee29525730f2ba6779a
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