]> git.baikalelectronics.ru Git - kernel.git/commit
usb: dwc2: Skip clock gating on Samsung SoCs
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 16 Jul 2021 05:01:27 +0000 (07:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 07:50:27 +0000 (09:50 +0200)
commita608d8710d3a91783eb3c995ac21f91cd6d891d0
treec76e19bf4a054c1bcb733d599a8f38c8b8a73b65
parent3b5be2cb29bff67de94da3386aac2ae1dce01367
usb: dwc2: Skip clock gating on Samsung SoCs

Commit 0ca22d4fb764 ("usb: dwc2: Update dwc2_handle_usb_suspend_intr
function.") changed the way the driver handles power down modes in a such
way that it uses clock gating when no other power down mode is available.

This however doesn't work well on the DWC2 implementation used on the
Samsung SoCs. When a clock gating is enabled, system hangs. It looks that
the proper clock gating requires some additional glue code in the shared
USB2 PHY and/or Samsung glue code for the DWC2. To restore driver
operation on the Samsung SoCs simply skip enabling clock gating mode
until one finds what is really needed to make it working reliably.

Fixes: 0ca22d4fb764 ("usb: dwc2: Update dwc2_handle_usb_suspend_intr function.")
Cc: stable <stable@vger.kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20210716050127.4406-1-m.szyprowski@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/core.h
drivers/usb/dwc2/core_intr.c
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/params.c