linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/32] staging: wfx: rework the Tx queue
@ 2020-04-01 11:03 Jerome Pouiller
  2020-04-01 11:03 ` [PATCH 01/32] staging: wfx: add sanity checks to hif_join() Jerome Pouiller
                   ` (32 more replies)
  0 siblings, 33 replies; 40+ messages in thread
From: Jerome Pouiller @ 2020-04-01 11:03 UTC (permalink / raw)
  To: devel, linux-wireless
  Cc: netdev, linux-kernel, Greg Kroah-Hartman, Kalle Valo,
	David S . Miller, Jérôme Pouiller

From: Jérôme Pouiller <jerome.pouiller@silabs.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


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2020-04-03  8:04 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-01 11:03 [PATCH 00/32] staging: wfx: rework the Tx queue Jerome Pouiller
2020-04-01 11:03 ` [PATCH 01/32] staging: wfx: add sanity checks to hif_join() Jerome Pouiller
2020-04-02 12:42   ` Dan Carpenter
2020-04-02 16:14     ` Jérôme Pouiller
2020-04-01 11:03 ` [PATCH 02/32] staging: wfx: do not stop mac80211 queueing during tx_policy upload Jerome Pouiller
2020-04-01 11:03 ` [PATCH 03/32] staging: wfx: take advantage of ieee80211_{stop/start}_queues Jerome Pouiller
2020-04-01 11:03 ` [PATCH 04/32] staging: wfx: remove "burst" mechanism Jerome Pouiller
2020-04-02 13:05   ` Dan Carpenter
2020-04-02 14:47     ` Jérôme Pouiller
2020-04-01 11:03 ` [PATCH 05/32] staging: wfx: uniformize queue_id retrieval Jerome Pouiller
2020-04-01 11:03 ` [PATCH 06/32] staging: wfx: drop useless queue_id field Jerome Pouiller
2020-04-01 11:03 ` [PATCH 07/32] staging: wfx: avoid useless wake_up Jerome Pouiller
2020-04-01 11:03 ` [PATCH 08/32] staging: wfx: simplify hif_handle_tx_data() Jerome Pouiller
2020-04-02 13:13   ` Dan Carpenter
2020-04-02 14:44     ` Jérôme Pouiller
2020-04-01 11:03 ` [PATCH 09/32] staging: wfx: simplify wfx_tx_queues_empty() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 10/32] staging: wfx: drop unused argument in wfx_get_prio_queue() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 11/32] staging: wfx: simplify wfx_tx_queue_mask_get() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 12/32] staging: wfx: drop useless sta_asleep_mask Jerome Pouiller
2020-04-01 11:03 ` [PATCH 13/32] staging: wfx: drop argument tx_allowed_mask since it is constant now Jerome Pouiller
2020-04-01 11:03 ` [PATCH 14/32] staging: wfx: do not use link_map_cache to track CAB Jerome Pouiller
2020-04-01 11:03 ` [PATCH 15/32] staging: wfx: drop useless link_map_cache Jerome Pouiller
2020-04-01 11:03 ` [PATCH 16/32] staging: wfx: do not rely anymore on link_id to choose packet in queue Jerome Pouiller
2020-04-01 11:03 ` [PATCH 17/32] staging: wfx: drop unused link_id field Jerome Pouiller
2020-04-01 11:03 ` [PATCH 18/32] staging: wfx: drop unused raw_link_id field Jerome Pouiller
2020-04-01 11:03 ` [PATCH 19/32] staging: wfx: rename wfx_tx_get_raw_link_id() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 20/32] staging: wfx: replace wfx_tx_queues_get_after_dtim() by wfx_tx_queues_has_cab() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 21/32] staging: wfx: introduce a counter of pending frames Jerome Pouiller
2020-04-01 11:03 ` [PATCH 22/32] staging: wfx: change the way to choose frame to send Jerome Pouiller
2020-04-01 11:03 ` [PATCH 23/32] staging: wfx: drop now useless field edca_params Jerome Pouiller
2020-04-01 11:03 ` [PATCH 24/32] staging: wfx: drop struct wfx_queue_stats Jerome Pouiller
2020-04-01 11:03 ` [PATCH 25/32] staging: wfx: simplify usage of wfx_tx_queues_put() Jerome Pouiller
2020-04-01 11:03 ` [PATCH 26/32] staging: wfx: improve interface between data_tx.c and queue.c Jerome Pouiller
2020-04-01 11:04 ` [PATCH 27/32] staging: wfx: relocate wfx_skb_dtor() prior its callers Jerome Pouiller
2020-04-01 11:04 ` [PATCH 28/32] staging: wfx: repair wfx_flush() Jerome Pouiller
2020-04-01 11:04 ` [PATCH 29/32] staging: wfx: wfx_flush() did not ensure that frames are processed Jerome Pouiller
2020-04-01 11:04 ` [PATCH 30/32] staging: wfx: fix potential deadlock in wfx_tx_flush() Jerome Pouiller
2020-04-01 11:04 ` [PATCH 31/32] staging: wfx: fix case where AP stop with CAB traffic pending Jerome Pouiller
2020-04-01 11:04 ` [PATCH 32/32] staging: wfx: remove hack about tx_rate policies Jerome Pouiller
2020-04-03  8:03 ` [PATCH 00/32] staging: wfx: rework the Tx queue Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).