alistair23-linux/drivers/phy
Vivek Gautam f8ba22a39e phy: qcom-qmp: Fix phy pipe clock gating
Pipe clock comes out of the phy and is available as long as
the phy is turned on. Clock controller fails to gate this
clock after the phy is turned off and generates a warning.

/ # [   33.048561] gcc_usb3_phy_pipe_clk status stuck at 'on'
[   33.048585] ------------[ cut here ]------------
[   33.052621] WARNING: CPU: 1 PID: 18 at ../drivers/clk/qcom/clk-branch.c:97 clk_branch_wait+0xf0/0x108
[   33.057384] Modules linked in:
[   33.066497] CPU: 1 PID: 18 Comm: kworker/1:0 Tainted: G        W       4.12.0-rc7-00024-gfe926e34c36d-dirty #96
[   33.069451] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
...
[   33.278565] [<ffff00000849b27c>] clk_branch_wait+0xf0/0x108
[   33.286375] [<ffff00000849b2f4>] clk_branch2_disable+0x28/0x34
[   33.291761] [<ffff0000084868dc>] clk_core_disable+0x5c/0x88
[   33.297660] [<ffff000008487d68>] clk_core_disable_lock+0x20/0x34
[   33.303129] [<ffff000008487d98>] clk_disable+0x1c/0x24
[   33.309384] [<ffff0000083ccd78>] qcom_qmp_phy_poweroff+0x20/0x48
[   33.314328] [<ffff0000083c53f4>] phy_power_off+0x80/0xdc
[   33.320492] [<ffff00000875c950>] dwc3_core_exit+0x94/0xa0
[   33.325784] [<ffff00000875c9ac>] dwc3_suspend_common+0x50/0x60
[   33.331080] [<ffff00000875ca04>] dwc3_runtime_suspend+0x48/0x6c
[   33.336810] [<ffff0000085b82f4>] pm_generic_runtime_suspend+0x28/0x38
[   33.342627] [<ffff0000085bace0>] __rpm_callback+0x150/0x254
[   33.349222] [<ffff0000085bae08>] rpm_callback+0x24/0x78
[   33.354604] [<ffff0000085b9fd8>] rpm_suspend+0xe0/0x4e4
[   33.359813] [<ffff0000085bb784>] pm_runtime_work+0xdc/0xf0
[   33.365028] [<ffff0000080d7b30>] process_one_work+0x12c/0x28c
[   33.370576] [<ffff0000080d7ce8>] worker_thread+0x58/0x3b8
[   33.376393] [<ffff0000080dd4a8>] kthread+0x100/0x12c
[   33.381776] [<ffff0000080836c0>] ret_from_fork+0x10/0x50

Fix this by disabling it as the first thing in phy_exit().

Fixes: e78f3d15e1 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets")
Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2018-03-08 13:56:04 +05:30
..
allwinner phy: sun4i-usb: add support for R40 USB PHY 2018-02-21 11:54:33 +05:30
amlogic phy: meson8b-usb2: add support for the USB PHY on Meson8 SoCs 2017-06-06 14:50:14 +05:30
broadcom USB/PHY updates for 4.16-rc1 2018-02-01 09:40:49 -08:00
hisilicon phy: add combo phy driver for HiSilicon STB SoCs 2018-02-21 11:54:37 +05:30
lantiq phy: Add an USB PHY driver for the Lantiq SoCs using the RCU module 2017-09-04 21:19:02 +02:00
marvell USB/PHY patches for 4.15-rc1 2017-11-13 21:14:07 -08:00
mediatek phy: phy-mtk-tphy: use of_device_get_match_data() 2017-12-29 13:00:35 +05:30
motorola phy: cpcap-usb: Fix platform_get_irq_byname's error checking. 2017-12-15 16:00:39 +05:30
qualcomm phy: qcom-qmp: Fix phy pipe clock gating 2018-03-08 13:56:04 +05:30
ralink phy: ralink: fix 64-bit build warning 2017-08-24 17:26:50 -07:00
renesas phy: rcar-gen3-usb2: select USB_COMMON 2017-12-15 16:00:41 +05:30
rockchip phy: rockchip-typec: add pm_runtime_disable in err case 2017-12-15 16:00:40 +05:30
samsung phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800 2017-12-29 13:00:35 +05:30
st phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
tegra phy: tegra: remove redundant self assignment of 'map' 2018-02-21 11:54:33 +05:30
ti USB/PHY patches for 4.15-rc1 2017-11-13 21:14:07 -08:00
Kconfig Merge branch '4.14-features' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-09-15 20:43:33 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
phy-core.c phy: work around 'phys' references to usb-nop-xceiv devices 2018-01-19 16:12:37 +01:00
phy-lpc18xx-usb-otg.c
phy-pistachio-usb.c
phy-xgene.c