[PATCH v3 6/8] wifi: ath12k: Use pci_{enable/disable}_link_state() APIs to enable/disable ASPM states

Manivannan Sadhasivam mani at kernel.org
Thu Jul 30 22:34:39 PDT 2026


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 <manivannan.sadhasivam at oss.qualcomm.com>
> > 
> > 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 <qiang.yu at oss.qualcomm.com>
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam at oss.qualcomm.com>
> > ---
> >  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/705a4fe5-658e-25ac-9e4d-6b8089abca46@linux.intel.com

- Mani

-- 
மணிவண்ணன் சதாசிவம்



More information about the ath12k mailing list