mbox series

[0/3] ath11k: add full monitor mode support for QCN9074

Message ID 20210721171905.61838-1-jouni@codeaurora.org (mailing list archive)
Headers show
Series ath11k: add full monitor mode support for QCN9074 | expand

Message

Jouni Malinen July 21, 2021, 5:19 p.m. UTC
From: Anilkumar Kolli <akolli@codeaurora.org>

QCN9074 hardware supports full monitor mode. The advantage with
full monitor mode is hardware has status buffers available for
all the MPDUs in mon_dst_ring.

HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE cmd is sent to firmware
to enable the full monitor mode.

A new hw_param full_monitor_mode is added to enable full
monitor support for QCN9074.

In full monitor mode, monitor destination ring is read in
software monitor ring descriptor format instead of
reo_entrance_ring format. Add new sw_mon_ring descriptor.

In full monitor mode, monitor destination ring is read before
monitor status ring. mon_dst_ring has PPDU id, reap till the
end of PPDU. Add all the MPDUs to a list. Start processing the
status ring, if PPDU id in status ring is lagging behind, reap
the status ring, once the PPDU ID matches, deliver the MSDU to
upper layer. If status PPDU id leading, reap the mon_dst_ring.

Anilkumar Kolli (3):
  ath11k: Add htt cmd to enable full monitor mode
  ath11k: add software monitor ring descriptor for full monitor
  ath11k: Process full monitor mode rx support

---
Depends-On: "ath11k: monitor mode clean up to use separate APIs"
Depends-On: "ath11k: add separate APIs for monitor mode"
Depends-On: "ath11k: move static function ath11k_mac_vdev_setup_sync to top"

 drivers/net/wireless/ath/ath11k/core.c     |   4 +
 drivers/net/wireless/ath/ath11k/dp.c       |   1 +
 drivers/net/wireless/ath/ath11k/dp.h       | 100 ++++++-
 drivers/net/wireless/ath/ath11k/dp_rx.c    | 413 ++++++++++++++++++++++++++++-
 drivers/net/wireless/ath/ath11k/dp_tx.c    |  48 ++++
 drivers/net/wireless/ath/ath11k/dp_tx.h    |   2 +
 drivers/net/wireless/ath/ath11k/hal_desc.h |  19 ++
 drivers/net/wireless/ath/ath11k/hal_rx.c   |  44 +++
 drivers/net/wireless/ath/ath11k/hal_rx.h   |  17 ++
 drivers/net/wireless/ath/ath11k/hw.h       |   1 +
 10 files changed, 645 insertions(+), 4 deletions(-)