Re: [PATCH v3 6/8] wifi: ath12k: Use pci_{enable/disable}_link_state() APIs to enable/disable ASPM states
Manivannan Sadhasivam <[email protected]> Fri, 31 Jul 2026 07:34:39 +0200
| Newsgroups | org.infradead.lists.ath10k,org.infradead.lists.ath11k,org.infradead.lists.ath12k,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <lmmrcv2dpuitbqmuargtsbk647z66gs6aqanzis226py2hjhys@d5h5p6ltmg4e> |
On Fri, Jul 10, 2026 at 03:25:46PM -0500, Bjorn Helgaas wrote: > On Wed, Jul 08, 2026 at 04:30:20PM +0200, Manivannan Sadhasivam wrote: > > From: Manivannan Sadhasivam <[email protected]> > > > > It is not recommended to enable/disable the ASPM states on the back of the > > PCI core directly using the LNKCTL register. It will break the PCI core's > > knowledge about the device ASPM states. So use the APIs exposed by the PCI > > core to enable/disable ASPM states. > > > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > > > Reported-by: Qiang Yu <[email protected]> > > Signed-off-by: Manivannan Sadhasivam <[email protected]> > > --- > > drivers/net/wireless/ath/ath12k/Kconfig | 2 +- > > drivers/net/wireless/ath/ath12k/pci.c | 19 +++---------------- > > drivers/net/wireless/ath/ath12k/pci.h | 4 +++- > > 3 files changed, 7 insertions(+), 18 deletions(-) > > > > diff --git a/drivers/net/wireless/ath/ath12k/Kconfig b/drivers/net/wireless/ath/ath12k/Kconfig > > index 4a2b240f967a..7852ede3eaea 100644 > > --- a/drivers/net/wireless/ath/ath12k/Kconfig > > +++ b/drivers/net/wireless/ath/ath12k/Kconfig > > @@ -1,7 +1,7 @@ > > # SPDX-License-Identifier: BSD-3-Clause-Clear > > config ATH12K > > tristate "Qualcomm Wi-Fi 7 support (ath12k)" > > - depends on MAC80211 && HAS_DMA && PCI > > + depends on MAC80211 && HAS_DMA && PCI && PCIEASPM > > As Sashiko pointed out [1], I think adding the PCIEASPM dependency is > an issue. The PCI core should provide stubs or whatever is necessary > to make ath12k work even if PCIEASPM isn't selected. > > I'm guessing this hardware depends on the ability to disable ASPM even > without PCIEASPM so we probably would need more than just empty stubs. > We do build aspm.c unconditionally now and we provide LTR and L1SS > save/restore regardless of PCIEASPM. Maybe we need something similar > here. > This was discussed in v2 and Ath maintainer Jeff was in agreement with the dependency: https://lore.kernel.org/linux-pci/[email protected] - Mani -- மணிவண்ணன் சதாசிவம்