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 -- 2.35.1