• Felipe Balbi's avatar
    usb: dwc3: ep0: simplify EP0 state machine · c7fcdeb2
    Felipe Balbi authored
    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: default avatarFelipe Balbi <balbi@ti.com>
    c7fcdeb2
ep0.c 17.8 KB