On Mon, Oct 28, 2024 at 03:22:56PM +0100, Konrad Dybcio wrote: > Certain firmwares expose exactly what PSCI_SYSTEM_SUSPEND does through > CPU_SUSPEND instead. Inform Linux about that. > Please see the commit messages for a more detailed explanation. > > This is effectively a more educated follow-up to [1]. > > The ultimate goal is to stop making Linux think that certain states > only concern cores/clusters, and consequently setting > pm_set_suspend/resume_via_firmware(), so that client drivers (such as > NVMe, see related discussion over at [2]) can make informed decisions > about assuming the power state of the device they govern. > > If this series gets green light, I'll push a follow-up one that wires > up said sleep state on Qualcomm SoCs across the board. > > [1] https://lore.kernel.org/linux-arm-kernel/20231227-topic-psci_fw_sus-v1-0-6910add70bf3@xxxxxxxxxx/ > [2] https://lore.kernel.org/linux-nvme/20241024-topic-nvmequirk-v1-1-51249999d409@xxxxxxxxxxxxxxxx/ > I got a bit confused, but I think I might've pieced it together. Konrad wants to support s2ram (not clear why) on Qualcomm SoCs from 2015-2023. On these SoCs, PSCI_SYSTEM_SUSPEND (s2ram) isn't supported but doing s2idle gets you the same effect. You'd like s2ram to work, so you provide a way to replace the PSCI_SYSTEM_SUSPEND param with (effectively) the CPU_SUSPEND command. If this is the wrong understanding, please correct me. Could patch 2 be sent separately? I think it seems fine without the rest of the series. I'm not sure why you'd like to support s2ram. Is it *only* that you'd like to be able to set pm_set_supend/resume_via_firmware()? I hope this doesn't sound silly: what if you register a platform_s2idle_ops for the relevant SoCs which calls pm_set_suspend/resume_via_firwmare()? - Elliot