The Qualcomm PCIe driver currently does not implement suspend at all so we need to mark the GDSCs as always-on to prevent genpd from disabling them. Similarly, the Qualcomm dwc3 USB suspend implementation is also incomplete and the controller doesn't currently survive a suspend cycle unless the GDSC is kept on. Note that this has nothing to with whether wakeup is enabled or not (cf. [1]). With these two workarounds, we have somewhat functional suspend on the SC8280XP reference design and Lenovo Thinkpad X13s until the missing driver support is in place (even USB remote wakeup works with [2] applied). Johan [1] https://lore.kernel.org/all/20220804151001.23612-3-johan+linaro@xxxxxxxxxx/ [2] https://lore.kernel.org/all/20220804151001.23612-1-johan+linaro@xxxxxxxxxx/ Johan Hovold (2): clk: gcc-sc8280xp: keep PCIe power-domains always-on clk: gcc-sc8280xp: keep USB power-domains always-on drivers/clk/qcom/gcc-sc8280xp.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) -- 2.35.1