[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200401110405.80282-1-Jerome.Pouiller@silabs.com>
Date: Wed, 1 Apr 2020 13:03:33 +0200
From: Jerome Pouiller <Jerome.Pouiller@...abs.com>
To: devel@...verdev.osuosl.org, linux-wireless@...r.kernel.org
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Kalle Valo <kvalo@...eaurora.org>,
"David S . Miller" <davem@...emloft.net>,
Jérôme Pouiller
<jerome.pouiller@...abs.com>
Subject: [PATCH 00/32] staging: wfx: rework the Tx queue
From: Jérôme Pouiller <jerome.pouiller@...abs.com>
This current implementation of the Tx queue is far more complex than
necessary and its behavior is dubious on some corner cases. This series
rework the Tx queue:
- Simplify support for QoS (since device already do the job)
- Simplify support for Power Saving stations (since mac80211 already
do the job)
- Improve support of Content After DTIM Beacon (CAB) when device is
AP and some station use power save.
- Improve robustness of flushing
Jérôme Pouiller (32):
staging: wfx: add sanity checks to hif_join()
staging: wfx: do not stop mac80211 queueing during tx_policy upload
staging: wfx: take advantage of ieee80211_{stop/start}_queues
staging: wfx: remove "burst" mechanism
staging: wfx: uniformize queue_id retrieval
staging: wfx: drop useless queue_id field
staging: wfx: avoid useless wake_up
staging: wfx: simplify hif_handle_tx_data()
staging: wfx: simplify wfx_tx_queues_empty()
staging: wfx: drop unused argument in wfx_get_prio_queue()
staging: wfx: simplify wfx_tx_queue_mask_get()
staging: wfx: drop useless sta_asleep_mask
staging: wfx: drop argument tx_allowed_mask since it is constant now
staging: wfx: do not use link_map_cache to track CAB
staging: wfx: drop useless link_map_cache
staging: wfx: do not rely anymore on link_id to choose packet in queue
staging: wfx: drop unused link_id field
staging: wfx: drop unused raw_link_id field
staging: wfx: rename wfx_tx_get_raw_link_id()
staging: wfx: replace wfx_tx_queues_get_after_dtim() by
wfx_tx_queues_has_cab()
staging: wfx: introduce a counter of pending frames
staging: wfx: change the way to choose frame to send
staging: wfx: drop now useless field edca_params
staging: wfx: drop struct wfx_queue_stats
staging: wfx: simplify usage of wfx_tx_queues_put()
staging: wfx: improve interface between data_tx.c and queue.c
staging: wfx: relocate wfx_skb_dtor() prior its callers
staging: wfx: repair wfx_flush()
staging: wfx: wfx_flush() did not ensure that frames are processed
staging: wfx: fix potential deadlock in wfx_tx_flush()
staging: wfx: fix case where AP stop with CAB traffic pending
staging: wfx: remove hack about tx_rate policies
drivers/staging/wfx/bh.c | 4 +-
drivers/staging/wfx/data_tx.c | 196 +++++--------
drivers/staging/wfx/data_tx.h | 5 +-
drivers/staging/wfx/hif_tx.c | 2 +
drivers/staging/wfx/main.c | 2 -
drivers/staging/wfx/queue.c | 529 +++++++++++-----------------------
drivers/staging/wfx/queue.h | 36 +--
drivers/staging/wfx/sta.c | 87 ++----
drivers/staging/wfx/sta.h | 2 -
drivers/staging/wfx/wfx.h | 7 +-
10 files changed, 281 insertions(+), 589 deletions(-)
--
2.25.1
Powered by blists - more mailing lists