Searched hist:"24 b360da41304fb31bf5b3ac36f650bdc7f7f071" (Results 1 – 2 of 2) sorted by relevance
| /rk3399_rockchip-uboot/drivers/usb/gadget/ |
| H A D | dwc2_udc_otg_regs.h | 24b360da41304fb31bf5b3ac36f650bdc7f7f071 Wed Apr 17 14:46:13 UTC 2019 Fabrice Gasnier <fabrice.gasnier@st.com> UPSTREAM: usb: dwc2: fix gadget disconnect
This fixes a disconnect issue detected with fastboot command, when using dwc2 driver. - On u-boot side: uboot>$ fastboot 0 - On USB host PC side, few seconds after PC>$ fastboot reboot # Get stuck, uboot target never reboots
By enabling DEBUG_ISR logs, the bus suspend interrupt is seen before the PC command has been issued. When the USB bus suspend occurs, there's a HACK that disables the fastboot (composite driver). Here is the call stack upon USB bus suspend: - dwc2_handle_usb_suspend_intr() - dev->driver->disconnect() - composite_disconnect() - reset_config() - f->disable() - fastboot_disable() - usb_ep_disable(f_fb->out_ep); - usb_ep_disable(f_fb->in_ep); .. other disable calls.
When the resume interrupt happens, everything has been disabled, then nothing happens. fastboot command gets stuck on HOST side.
Remove original HACK, that disconnects the composite driver upon USB bus suspend. Implement disconnect detection instead: - check GINTSTS OTG interrupt - read GOTGINT register - check GOTGINT, SesEndDet bit (e.g. session end) This is inspired by what is implemented currently in Linux dwc2 driver.
Change-Id: I061bf19a7be2c85fdde3490ef792f18612de9c56 Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 7fd9f31c6bd13609da61b985cf8f5f65ebebd913)
|
| H A D | dwc2_udc_otg_xfer_dma.c | 24b360da41304fb31bf5b3ac36f650bdc7f7f071 Wed Apr 17 14:46:13 UTC 2019 Fabrice Gasnier <fabrice.gasnier@st.com> UPSTREAM: usb: dwc2: fix gadget disconnect
This fixes a disconnect issue detected with fastboot command, when using dwc2 driver. - On u-boot side: uboot>$ fastboot 0 - On USB host PC side, few seconds after PC>$ fastboot reboot # Get stuck, uboot target never reboots
By enabling DEBUG_ISR logs, the bus suspend interrupt is seen before the PC command has been issued. When the USB bus suspend occurs, there's a HACK that disables the fastboot (composite driver). Here is the call stack upon USB bus suspend: - dwc2_handle_usb_suspend_intr() - dev->driver->disconnect() - composite_disconnect() - reset_config() - f->disable() - fastboot_disable() - usb_ep_disable(f_fb->out_ep); - usb_ep_disable(f_fb->in_ep); .. other disable calls.
When the resume interrupt happens, everything has been disabled, then nothing happens. fastboot command gets stuck on HOST side.
Remove original HACK, that disconnects the composite driver upon USB bus suspend. Implement disconnect detection instead: - check GINTSTS OTG interrupt - read GOTGINT register - check GOTGINT, SesEndDet bit (e.g. session end) This is inspired by what is implemented currently in Linux dwc2 driver.
Change-Id: I061bf19a7be2c85fdde3490ef792f18612de9c56 Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 7fd9f31c6bd13609da61b985cf8f5f65ebebd913)
|