linux/drivers/usb/dwc2
Artur Petrosyan 24d209dba5 usb: dwc2: Fix hibernation between host and device modes.
When core is in hibernation in host mode and a device cable
was connected then driver exited from device hibernation.
However, registers saved for host mode and when exited from
device hibernation register restore would be done for device
register which was wrong because there was no device registers
stored to restore.

- Added dwc_handle_gpwrdn_disc_det() function which handles
  gpwrdn disconnect detect flow and exits hibernation
  without restoring the registers.
- Updated exiting from hibernation in GPWRDN_STS_CHGINT with
  calling dwc_handle_gpwrdn_disc_det() function. Here no register
  is restored which is the solution described above.

Fixes: 65c9c4c6b0 ("usb: dwc2: Add dwc2_handle_gpwrdn_intr() handler")
Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com>
Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Link: https://lore.kernel.org/r/20210416124715.75355A005D@mailhost.synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-22 11:55:33 +02:00
..
core.c usb: dwc2: Update enter and exit partial power down functions 2021-04-09 15:16:38 +02:00
core.h usb: dwc2: Enable RPi in ACPI mode 2021-04-22 10:55:54 +02:00
core_intr.c usb: dwc2: Fix hibernation between host and device modes. 2021-04-22 11:55:33 +02:00
debug.h USB: dwc2: Use the correct style for SPDX License Identifier 2020-05-05 10:58:50 +03:00
debugfs.c usb: dwc2: Add STM32 related debugfs entries 2021-03-10 09:37:15 +01:00
drd.c usb: dwc2: override PHY input signals with usb role switch support 2020-10-02 13:29:13 +03:00
gadget.c usb: dwc2: Reset DEVADDR after exiting gadget hibernation. 2021-04-22 11:55:33 +02:00
hcd.c usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. 2021-04-22 11:55:33 +02:00
hcd.h USB: dwc2: Use the correct style for SPDX License Identifier 2020-05-05 10:58:50 +03:00
hcd_ddma.c usb: dwc2: Modify dwc2_readl/writel functions prototype 2018-07-30 10:39:16 +03:00
hcd_intr.c usb: dwc2: Make "trimming xfer length" a debug message 2021-01-26 18:42:15 +01:00
hcd_queue.c usb: dwc2: add parenthess and space around * 2021-04-02 15:39:59 +02:00
hw.h usb: dwc2: Update enter and exit partial power down functions 2021-04-09 15:16:38 +02:00
Kconfig usb: dwc2: override PHY input signals with usb role switch support 2020-10-02 13:29:13 +03:00
Makefile usb: dwc2: override PHY input signals with usb role switch support 2020-10-02 13:29:13 +03:00
params.c usb: dwc2: Enable RPi in ACPI mode 2021-04-22 10:55:54 +02:00
pci.c usb: dwc2: pci: Drop the empty quirk function 2021-02-04 15:40:19 +01:00
platform.c usb: dwc2: Enable RPi in ACPI mode 2021-04-22 10:55:54 +02:00