• Felipe Balbi's avatar
    usb: dwc3: gadget: always enable CSP · ca4d44ea
    Felipe Balbi authored
    CSP bit of TRB Control is useful for protocols such
    CDC EEM/ECM/NCM where we're transferring in blocks
    of MTU-sized requests (usually MTU is 1500 bytes).
    
    We know we will always have a short packet after two
    (for HS) wMaxPacketSize packets and, usually, we
    will have a long(-ish) queue of requests (for our
    g_ether gadget, we have at least 10
    requests).
    
    Instead of always stopping the queue processing to
    interrupt, giveback and restart, let's tell dwc3 to
    interrupt but continue processing following request
    if we have anything already pending in the queue.
    
    This gave me a considerable improvement of 40% on my
    test setup.
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    ca4d44ea
gadget.c 70.4 KB