Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

clk: qcom: gcc-sc8180x: Use retention for PCIe power domains

As the PCIe host controller driver does not yet support dealing with the
loss of state during suspend, use retention for relevant GDSCs.

This fixes the link not surviving upon resume:

nvme 0002:01:00.0: Unable to change power state from D3cold to D0, device inaccessible
nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS read failed (134)
nvme 0002:01:00.0: Unable to change power state from D3cold to D0, device inaccessible
nvme nvme0: Disabling device after reset failure: -19

Fixes: 4433594bbe5d ("clk: qcom: gcc: Add global clock controller driver for SC8180x")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Val Packett <val@packett.cool>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://lore.kernel.org/r/20260312112321.370983-5-val@packett.cool
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Val Packett and committed by
Bjorn Andersson
ccb92c78 25bc96f2

+4 -4
+4 -4
drivers/clk/qcom/gcc-sc8180x.c
··· 4199 4199 .pd = { 4200 4200 .name = "pcie_0_gdsc", 4201 4201 }, 4202 - .pwrsts = PWRSTS_OFF_ON, 4202 + .pwrsts = PWRSTS_RET_ON, 4203 4203 .flags = POLL_CFG_GDSCR, 4204 4204 }; 4205 4205 ··· 4226 4226 .pd = { 4227 4227 .name = "pcie_1_gdsc", 4228 4228 }, 4229 - .pwrsts = PWRSTS_OFF_ON, 4229 + .pwrsts = PWRSTS_RET_ON, 4230 4230 .flags = POLL_CFG_GDSCR, 4231 4231 }; 4232 4232 ··· 4235 4235 .pd = { 4236 4236 .name = "pcie_2_gdsc", 4237 4237 }, 4238 - .pwrsts = PWRSTS_OFF_ON, 4238 + .pwrsts = PWRSTS_RET_ON, 4239 4239 .flags = POLL_CFG_GDSCR, 4240 4240 }; 4241 4241 ··· 4253 4253 .pd = { 4254 4254 .name = "pcie_3_gdsc", 4255 4255 }, 4256 - .pwrsts = PWRSTS_OFF_ON, 4256 + .pwrsts = PWRSTS_RET_ON, 4257 4257 .flags = POLL_CFG_GDSCR, 4258 4258 }; 4259 4259