2020-03-16 09:30:51

by Sriram R

[permalink] [raw]
Subject: [PATCHv3 0/2] Support hash based reo destination ring selection

Currently, reo destination ring selection is based on pdev,
i.e each pdev is allocated a static reo destintaion ring and
rx packets for the pdev is always received on the ring.
This allows use of only 3 out of 4 reo destination rings at the
max when all pdev's are active and when only one pdev is active
we utilize only one ring and other 3 rings remain idle.
To make effective use of all the reo rings, this patchset enables
hash based reo destination ring selection where the hash is computed
based on the 5-tuple ( src/dst ip, src/dst port, protocol) info
from each packet and is used by hw for destination ring selection.

Also, current implementation of amsdu list based processing is replaced
with per msdu based handling since the received subframe could be
pushed to different rings after decap based on hash value computed.

This patchset is based on patchset "ath11k: offload PN verification to the HW"

v3: Fixed kbuild test bot warnings

Sriram R (2):
ath11k: Configure hash based reo destination ring selection
ath11k: Perform per-msdu rx processing

drivers/net/wireless/ath/ath11k/ahb.c | 5 -
drivers/net/wireless/ath/ath11k/core.h | 5 +-
drivers/net/wireless/ath/ath11k/dp.c | 35 ++-
drivers/net/wireless/ath/ath11k/dp.h | 4 +-
drivers/net/wireless/ath/ath11k/dp_rx.c | 513 +++++++++++++------------------
drivers/net/wireless/ath/ath11k/dp_rx.h | 4 +-
drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
drivers/net/wireless/ath/ath11k/hal.h | 12 +-
drivers/net/wireless/ath/ath11k/hal_rx.c | 15 +-
drivers/net/wireless/ath/ath11k/mac.c | 12 +-
drivers/net/wireless/ath/ath11k/mac.h | 1 +
drivers/net/wireless/ath/ath11k/peer.c | 3 +
drivers/net/wireless/ath/ath11k/peer.h | 2 +
drivers/net/wireless/ath/ath11k/wmi.c | 35 +++
drivers/net/wireless/ath/ath11k/wmi.h | 13 +
15 files changed, 339 insertions(+), 322 deletions(-)

--
2.7.4