[PATCH v2 00/10] wifi: rtlwifi: PCI related fixes & cleanups

From: Ilpo Järvinen
Date: Fri Nov 24 2023 - 03:47:44 EST


The rtlwifi driver has code fragments that are using old interface or
custom code to access PCIe capabilities which is buggy and messy.

First two patches are fixes to problems related to ASPM and LNKCTL
register RMW operations. The rest of the patches cleanup PCIe
capability related code.

Additional note: This series provides only a stop-gap solution to the
RMW concurrency issue, the overall plan is to migrate all ASPM related
handling into the ASPM service driver in order for it to accurately
track ASPM state [1].

[1] https://lore.kernel.org/linux-pci/20230918131103.24119-1-ilpo.jarvinen@xxxxxxxxxxxxxxx/

v2:
- Remove upstream bridge ASPM code which has never functioned
- Convert more bits to pci_regs.h
- Ensure _rtl_pci_switch_clk_req() only changes CLKREQ_EN
- wifi: prefix to all patches
- Add 2 more cleanup patches for unused stuff

Ilpo Järvinen (10):
wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
wifi: rtlwifi: Convert to use PCIe capability accessors
wifi: rtlwifi: rtl8821ae: Remove unnecessary PME_Status bit set
wifi: rtlwifi: rtl8821ae: Reverse PM Capability exists check
wifi: rtlwifi: rtl8821ae: Use pci_find_capability()
wifi: rtlwifi: rtl8821ae: Add pdev into
_rtl8821ae_clear_pci_pme_status()
wifi: rtlwifi: rtl8821ae: Access full PMCS reg and use pci_regs.h
wifi: rtlwifi: Remove unused PCI related defines and struct
wifi: rtlwifi: Remove bridge vendor/device ids

drivers/net/wireless/realtek/rtlwifi/pci.c | 98 +++++--------------
drivers/net/wireless/realtek/rtlwifi/pci.h | 24 -----
.../wireless/realtek/rtlwifi/rtl8821ae/hw.c | 76 ++++----------
3 files changed, 43 insertions(+), 155 deletions(-)

--
2.30.2