mbox series

[00/11] ath11k: Add support for QCN9074

Message ID 1612946530-28504-1-git-send-email-akolli@codeaurora.org (mailing list archive)
Headers show
Series ath11k: Add support for QCN9074 | expand

Message

Anilkumar Kolli Feb. 10, 2021, 8:41 a.m. UTC
QCN9074 has PCI bus interface and shares QCA6390
configuration.

QCN9074 uses 45MB of host ddr memory.
FW requests the memory in segments of 2MB size and
each 2MB segment should be physically contiguous.

FW boot over MHI is verified.
BDF/M3 download over QMI is verified.
 
Below QMI issues are seen with QCN9074,
Issue 1:
 ath11k_pci 0000:06:00.0: qmi failed memory request, err = -110
 ath11k_pci 0000:06:00.0: qmi failed to respond fw mem req:-110
Issue 2:
 ath11k_pci 0000:06:00.0: firmware crashed: MHI_CB_SYS_ERROR
 ath11k_pci 0000:06:00.0: qmi failed set mode request, mode: 0, err = -110
 ath11k_pci 0000:06:00.0: qmi failed to send wlan fw mode:-110

QCN9074 uses,
 - 16-MSI interrupts, 3 for MHI, 5 for CE and 8 for DP
 - CE count is six
 - CE register address, WBM idle link ring address,
   WBM release ring address are different
 - TCL ring  descriptors,  HAL Rx descriptors are different, 
   so introduced platform specific hal rx descriptor access ops
   in ath11k_hw_ops

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1.r2-00012-QCAHKSWPL_SILICONZ-1

Anilkumar Kolli (6):
  ath11k: Refactor ath11k_msi_config
  ath11k: Move qmi service_ins_id to hw_params
  ath11k: qmi: increase the number of fw segments
  ath11k: Update memory segment count for qcn9074
  ath11k: Add qcn9074 mhi controller config
  ath11k: add qcn9074 pci device support

Karthikeyan Periyasamy (5):
  ath11k: add static window support for register access
  ath11k: add hal support for QCN9074
  ath11k: add data path support for QCN9074
  ath11k: add CE interrupt support for QCN9074
  ath11k: add extended interrupt support for QCN9074

 drivers/net/wireless/ath/ath11k/ahb.c      |   2 +-
 drivers/net/wireless/ath/ath11k/ce.c       |  58 ++-
 drivers/net/wireless/ath/ath11k/ce.h       |   1 +
 drivers/net/wireless/ath/ath11k/core.c     |  43 ++
 drivers/net/wireless/ath/ath11k/core.h     |   4 +
 drivers/net/wireless/ath/ath11k/dp_rx.c    | 476 +++++++++--------
 drivers/net/wireless/ath/ath11k/dp_tx.c    |   6 +-
 drivers/net/wireless/ath/ath11k/hal.c      |  88 ++--
 drivers/net/wireless/ath/ath11k/hal.h      |  33 +-
 drivers/net/wireless/ath/ath11k/hal_desc.h |  13 +-
 drivers/net/wireless/ath/ath11k/hal_tx.c   |   3 +
 drivers/net/wireless/ath/ath11k/hal_tx.h   |   1 +
 drivers/net/wireless/ath/ath11k/hif.h      |  10 +
 drivers/net/wireless/ath/ath11k/hw.c       | 796 +++++++++++++++++++++++++++++
 drivers/net/wireless/ath/ath11k/hw.h       |  53 ++
 drivers/net/wireless/ath/ath11k/mhi.c      | 116 ++++-
 drivers/net/wireless/ath/ath11k/pci.c      | 196 +++++--
 drivers/net/wireless/ath/ath11k/pci.h      |  21 +-
 drivers/net/wireless/ath/ath11k/qmi.c      |   2 +-
 drivers/net/wireless/ath/ath11k/qmi.h      |   9 +-
 drivers/net/wireless/ath/ath11k/rx_desc.h  | 212 +++++++-
 21 files changed, 1765 insertions(+), 378 deletions(-)