• Manikanta Pubbisetty's avatar
    ath11k: Refactor PCI code to support WCN6750 · bbfdc5a7
    Manikanta Pubbisetty authored
    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.
    
    Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
    Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1
    Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1
    Signed-off-by: default avatarManikanta Pubbisetty <quic_mpubbise@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20220328055714.6449-3-quic_mpubbise@quicinc.com
    bbfdc5a7
pcic.h 2.09 KB