[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