On Wed, Feb 19, 2025 at 11:28:47PM +0530, Krishna Chaitanya Chundru wrote: > On 2/19/2025 3:37 AM, Bjorn Helgaas wrote: > > On Mon, Feb 17, 2025 at 12:04:11PM +0530, Krishna Chaitanya Chundru wrote: > > > QCOM PCIe controllers needs to disable ASPM before initiating link > > > re-train. So as part of pre_bw_scale() disable ASPM and as part of > > > post_scale_bus_bw() enable ASPM back. > > > > s/needs/need/ > > > > Why does Qcom need to disable ASPM? Is there a PCIe spec restriction > > about this that should be applied to all PCIe host bridges? Or is > > this a Qcom defect? > > > It is QCOM controller issue, PCIe spec doesn't mention to disable ASPM. OK. I'm a little concerned that disabling/enabling PCIE_LINK_STATE_ALL might clobber preferences set by drivers of downstream devices, but I guess ... Maybe we could add a comment in the code about this being done to work around some Qcom issue so that browsers of pci_enable_link_state_locked() don't get the idea that this needs to be done generically. Bjorn