Grigor Tovmasyan <Grigor.Tovmasyan@xxxxxxxxxxxx> writes: > From: Vardan Mikayelyan <mvardan@xxxxxxxxxxxx> > > If the dr_mode is USB_DR_MODE_OTG, forcing the mode is needed during > driver probe to get the host and device specific HW parameters. Then we > clear the force mode bits so that the core operates in OTG mode. > > The force mode bits should not be touched at any other time during the > driver lifetime and they should be preserved whenever the GUSBCFG > register is written to. The force mode bit values will persist across > soft resets of the core. > > If the dr_mode is either USB_DR_MODE_HOST or USB_DR_MODE_PERIPHERAL, the > force mode is set just once at probe to configure the core as either a > host or peripheral. > > Given the above, we no longer need any other reset delays, force delays, > or any forced modes anywhere else in the driver. So replace all calls to > dwc2_core_reset_and_force_dr_mode() with dwc2_core_reset() and remove > all other unnecessary delays. > > Also remove the dwc2_force_mode_if_needed() function since the "if > needed" part is already taken care of by the polling in > dwc2_force_mode(). > > Finally, remove all other calls to dwc2_clear_force_mode(). > > Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> > Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> > Signed-off-by: Vardan Mikayelyan <mvardan@xxxxxxxxxxxx> > Signed-off-by: Grigor Tovmasyan <tovmasya@xxxxxxxxxxxx> Only patch #1 applied to testing/next. checking file drivers/usb/dwc2/core.c checking file drivers/usb/dwc2/core.h Hunk #1 succeeded at 1106 (offset 6 lines). checking file drivers/usb/dwc2/hcd.c Hunk #3 succeeded at 2261 (offset 5 lines). checking file drivers/usb/dwc2/params.c Hunk #1 succeeded at 579 (offset -1 lines). Hunk #2 FAILED at 603. 1 out of 2 hunks FAILED checking file drivers/usb/dwc2/platform.c Hunk #1 succeeded at 425 (offset 10 lines). please rebase -- balbi
Attachment:
signature.asc
Description: PGP signature