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

Message ID 20231124084725.12738-1-ilpo.jarvinen@linux.intel.com
Headers
Series wifi: rtlwifi: PCI related fixes & cleanups |

Message

Ilpo Järvinen Nov. 24, 2023, 8:47 a.m. UTC
  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@linux.intel.com/

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(-)