MLK-16775-1 usb: dwc3: gadget: add high bus freq support
authorLi Jun <jun.li@nxp.com>
Tue, 7 Nov 2017 17:19:26 +0000 (01:19 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:39:15 +0000 (15:39 -0500)
Add high bus request for connection to host in reset handling,
and high bus release for disconnection.

Signed-off-by: Li Jun <jun.li@nxp.com>
drivers/usb/dwc3/gadget.c

index 1fb22e9..a55ecfb 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/io.h>
 #include <linux/list.h>
 #include <linux/dma-mapping.h>
+#include <linux/busfreq-imx.h>
 
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
@@ -2429,14 +2430,20 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
        dwc->setup_packet_pending = false;
        usb_gadget_set_state(&dwc->gadget, USB_STATE_NOTATTACHED);
 
-       dwc->connected = false;
+       if (dwc->connected) {
+               release_bus_freq(BUS_FREQ_HIGH);
+               dwc->connected = false;
+       }
 }
 
 static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
 {
        u32                     reg;
 
-       dwc->connected = true;
+       if (!dwc->connected) {
+               request_bus_freq(BUS_FREQ_HIGH);
+               dwc->connected = true;
+       }
 
        /*
         * WORKAROUND: DWC3 revisions <1.88a have an issue which