On Tue, Apr 08, 2025 at 02:26:24PM -0700, Brian Norris wrote: > + adding pcie-brcmstb.c folks > > On Tue, Apr 08, 2025 at 12:59:39PM -0700, Brian Norris wrote: > > TL;DR: PCIe link-up may depend on pwrctrl; however, link-startup is > > often run before pwrctrl gets involved. I'm exploring options to resolve > > this. > > Apologies if a quick self-reply is considered nosiy or rude, but I > nearly forgot that I previously was looking at "pwrctrl"-like > functionality and noticed that drivers/pci/controller/pcie-brcmstb.c has > had a portion of the same "pwrctrl" functionality for some time (commit > 93e41f3fca3d ("PCI: brcmstb: Add control of subdevice voltage > regulators")). > Yes, the goal of the pwrctrl driver is to get rid of this clutter from the controller drivers. > Notably, it performs its power sequencing before starting its link, for > (I believe) exactly the same reasons as I mention below. While I'm sure > it could theoretically be nice for them to be able to use > drivers/pci/pwrctrl/, I expect they cannot today, for the same reasons. > If you look into brcm_pcie_add_bus(), they are ignoring the return value of brcm_pcie_start_link() precisely for the reason I explained in the previous thread. However, they do check for it in brcm_pcie_resume_noirq() which looks like a bug as the controller will fail to resume from system suspend if no devices are connected. - Mani -- மணிவண்ணன் சதாசிவம்