• George Cherian's avatar
    usb: dwc3: dwc3-omap: get rid of ->prepare()/->complete() · 7ee2566f
    George Cherian authored
    Enabling the core interrupts in complete is too late for
    XHCI, and stops it from proper operation. The root of the
    problem is due to a disagreement between dwc3-omap and XHCI
    about when IRQs should be enabled.
    
    As it turns out, ->resume's documentation states that:
    
    "... generally the driver is expected to start working
    again, responding to hardware events and software requests
    (the device itself may be left in a low-power state, waiting
    for a runtime resume to occur) ..."
    
    From that we infer that IRQs must be unmasked by the end of
    ->resume().
    
    Due to that, we will remove ->prepare() and ->complete() and
    disable/enable interrupts in ->suspend()/->resume().
    Acked-by: default avatarRoger Quadros <rogerq@ti.com>
    Signed-off-by: default avatarGeorge Cherian <george.cherian@ti.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    7ee2566f
dwc3-omap.c 16.3 KB