mbox series

[v3,0/5] Refactor PCI code to support WCN6750

Message ID 20220328055714.6449-1-quic_mpubbise@quicinc.com (mailing list archive)
Headers show
Series Refactor PCI code to support WCN6750 | expand

Message

Manikanta Pubbisetty March 28, 2022, 5:57 a.m. UTC
Unlike other ATH11K PCIe devices which are enumerated by APSS
processor (Application Processor SubSystem), WCN6750 gets
enumerated by the WPSS Q6 processor (Wireless Processor SubSystem);
In simple terms, though WCN6750 is PCIe device, it is not attached
to the APSS processor, APSS will not know of such a device being
present in the system and therefore WCN6750 will be registered as
a platform device to the kernel core like other supported AHB
devices.

WCN6750 needs both AHB and PCI APIs for it's operation, it uses
AHB APIs for device probe/boot and PCI APIs for device setup and
register accesses. Because of this nature, it is referred as a
hybrid bus device.

Refactor PCI code to support hybrid bus devices like WCN6750.

Manikanta Pubbisetty (5):
  ath11k: PCI changes to support WCN6750
  ath11k: Refactor PCI code to support WCN6750
  ath11k: Choose MSI config based on HW revision
  ath11k: Refactor MSI logic to support WCN6750
  ath11k: Remove core PCI references from PCI common code
---
V3:
 - Patch series with 19 patches is split in 2 patch series, this is the first one
 - Rebased on ToT SHAID: 7316a74e54318d0cd648242b18ea83cdef6dda96
 - Changed the PCI common code file name from pci_cmn.* to pcic.*
 - Added ath11k_pcic_* prefix to all APIs in PCI common code
 - Added pci_ops instead of having the chip specific PCI ops in bus_params

V2:
 - Rebased on ToT

 drivers/net/wireless/ath/ath11k/Makefile |   2 +-
 drivers/net/wireless/ath/ath11k/core.c   |   6 -
 drivers/net/wireless/ath/ath11k/core.h   |  34 +
 drivers/net/wireless/ath/ath11k/hw.h     |   2 +-
 drivers/net/wireless/ath/ath11k/mhi.c    |  30 +-
 drivers/net/wireless/ath/ath11k/pci.c    | 978 ++++-------------------
 drivers/net/wireless/ath/ath11k/pci.h    |  28 +-
 drivers/net/wireless/ath/ath11k/pcic.c   | 741 +++++++++++++++++
 drivers/net/wireless/ath/ath11k/pcic.h   |  46 ++
 9 files changed, 1013 insertions(+), 854 deletions(-)
 create mode 100644 drivers/net/wireless/ath/ath11k/pcic.c
 create mode 100644 drivers/net/wireless/ath/ath11k/pcic.h