projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4a691b8
)
usb: dwc3: core: Deprecate GCTL.CORESOFTRESET
author
Thinh Nguyen
<Thinh.Nguyen@synopsys.com>
Thu, 16 Jun 2022 00:24:32 +0000
(17:24 -0700)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 21 Jun 2022 14:36:45 +0000
(16:36 +0200)
Synopsys IP DWC_usb32 and DWC_usb31 version 1.90a and above deprecated
GCTL.CORESOFTRESET. The DRD mode switching flow is updated to remove the
GCTL soft reset. Add version checks to prevent using deprecated setting
in mode switching flow.
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link:
https://lore.kernel.org/r/9df529fde6e55f5508321b6bc26e92848044ef2b.1655338967.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/core.c
patch
|
blob
|
history
diff --git
a/drivers/usb/dwc3/core.c
b/drivers/usb/dwc3/core.c
index cb8742f2a4b0f5697808c9f88e8e01048d9e9d70..3d716c7fd34ecb773f18adcd960a19a9943b96c4 100644
(file)
--- a/
drivers/usb/dwc3/core.c
+++ b/
drivers/usb/dwc3/core.c
@@
-159,7
+159,8
@@
static void __dwc3_set_mode(struct work_struct *work)
}
/* For DRD host or device mode only */
- if (dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) {
+ if ((DWC3_IP_IS(DWC3) || DWC3_VER_IS_PRIOR(DWC31, 190A)) &&
+ dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) {
reg = dwc3_readl(dwc->regs, DWC3_GCTL);
reg |= DWC3_GCTL_CORESOFTRESET;
dwc3_writel(dwc->regs, DWC3_GCTL, reg);