mbox series

[0/2] Support hash based reo destination ring selection

Message ID 1581676286-13265-1-git-send-email-srirrama@codeaurora.org (mailing list archive)
Headers show
Series Support hash based reo destination ring selection | expand

Message

Sriram R Feb. 14, 2020, 10:31 a.m. UTC
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"

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  | 511 +++++++++++++------------------
 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    |  10 +
 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, 338 insertions(+), 319 deletions(-)

Comments

Kalle Valo Feb. 14, 2020, 1:05 p.m. UTC | #1
Sriram R <srirrama@codeaurora.org> writes:

> 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"
>
> Sriram R (2):
>   ath11k: Configure hash based reo destination ring selection
>   ath11k: Perform per-msdu rx processing

You need to CC linux-wireless, so please resend as v2.