driverdev-devel.linuxdriverproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/55] Improve wfx driver
@ 2019-12-17 16:14 Jérôme Pouiller
  2019-12-17 16:14 ` [PATCH v2 01/55] staging: wfx: fix the cache of rate policies on interface reset Jérôme Pouiller
                   ` (55 more replies)
  0 siblings, 56 replies; 57+ messages in thread
From: Jérôme Pouiller @ 2019-12-17 16:14 UTC (permalink / raw)
  To: devel, linux-wireless
  Cc: netdev, linux-kernel, Greg Kroah-Hartman, David S . Miller, Kalle Valo

From: Jérôme Pouiller <jerome.pouiller@silabs.com>

Hello all,

This pull request continue to clean up the wfx driver. It can be more or
less divided in four parts:
  - 0001 to 0009 fix some issues (should be included in 5.5?)
  - 0010 to 0028 mostly contains cosmetics changes
  - 0029 to 0043 re-work power save (in station mode) and QoS
  - 0044 to 0054 re-work the scan process

The last patch updates the TODO with a more precise list. I included
references to discussions I have had on mailing lists, in order to not
forget them. I started the first items of the list and I hope to be able
to send another (smaller) pull request in 2-3 weeks.

This series also try clarify the overall architecture:

    ,------------------------------------.
    |                mac80211            |
    `------------------------------------'
    ,------------+-----------+-----------.
    |    sta     |           |           |
    |    scan    |           |           |
    |    main    |           |           |
    +------------+  data_tx  |           |
    |    key     |           |  data_rx  |
    | hif_tx_mib |   queue   |           |
    |   hif_tx   |           |           |
    |   hif_rx   |           |           |
    |  hif_api_* |           |           |
    +------------+-----------+-----------+--------.
    |                  bh                |  fwio  |
    |              secure_link           |        |
    +------------------------------------+--------+
    |                     hwio                    |
    +---------------------------------------------+
    |                   bus_sdio                  |
    |                   bus_spi                   |
    |                    hwbus                    |
    `---------------------------------------------'
    ,---------------------------------------------.
    |                   sdio/spi                  |
    +---------------------------------------------+
    |                   hardware                  |
    `---------------------------------------------'

It try to make a clear separation between functions that take care of
hardware communication (hif_*) and functions that work with mac80211
(sta.c and scan.c).

v2:
  - Fix line ends
  - Update TODO with Felix idea
  - Add architecture schematics in cover letter


Jérôme Pouiller (55):
  staging: wfx: fix the cache of rate policies on interface reset
  staging: wfx: fix case of lack of tx_retry_policies
  staging: wfx: fix counter overflow
  staging: wfx: use boolean appropriately
  staging: wfx: firmware does not support more than 32 total retries
  staging: wfx: fix rate control handling
  staging: wfx: ensure that retry policy always fallbacks to MCS0 /
    1Mbps
  staging: wfx: detect race condition in WEP authentication
  staging: wfx: fix hif_set_mfp() with big endian hosts
  staging: wfx: fix wrong error message
  staging: wfx: increase SPI bus frequency limit
  staging: wfx: don't print useless error messages
  staging: wfx: avoid double warning when no more tx policy are
    available
  staging: wfx: improve error message on unexpected confirmation
  staging: wfx: take advantage of IS_ERR_OR_NULL()
  staging: wfx: uniformize naming rule
  staging: wfx: use meaningful names for CFG_BYTE_ORDER_*
  staging: wfx: remove useless include
  staging: wfx: simplify variable assignment
  staging: wfx: make conditions easier to read
  staging: wfx: ensure that traces never modify arguments
  staging: wfx: ensure that received hif messages are never modified
  staging: wfx: fix typo in "num_of_ssi_ds"
  staging: wfx: fix typo in "num_i_es"
  staging: wfx: fix name of struct hif_req_start_scan_alt
  staging: wfx: improve API of hif_req_join->infrastructure_bss_mode
  staging: wfx: better naming for hif_req_join->short_preamble
  staging: wfx: better naming for
    hif_mib_set_association_mode->greenfield
  staging: wfx: simplify handling of tx_lock in wfx_do_join()
  staging: wfx: firmware already handle powersave mode during scan
  staging: wfx: declare wfx_set_pm() static
  staging: wfx: drop useless argument from wfx_set_pm()
  staging: wfx: remove redundant test while calling wfx_update_pm()
  staging: wfx: drop unnecessary wvif->powersave_mode
  staging: wfx: do not try to save call to hif_set_pm()
  staging: wfx: fix pm_mode timeout
  staging: wfx: simplify wfx_conf_tx()
  staging: wfx: prefer a bitmask instead of an array of boolean
  staging: wfx: simplify hif_set_uapsd_info() usage
  staging: wfx: simplify hif_set_pm() usage
  staging: wfx: drop struct wfx_edca_params
  staging: wfx: remove unnecessary EDCA initialisation
  staging: wfx: simplify hif_set_edca_queue_params() usage
  staging: wfx: hif_scan() never fails
  staging: wfx: device already handle sleep mode during scan
  staging: wfx: drop useless wfx_scan_complete()
  staging: wfx: simplify hif_scan() usage
  staging: wfx: introduce update_probe_tmpl()
  staging: wfx: simplify hif_set_template_frame() usage
  staging: wfx: rewrite wfx_hw_scan()
  staging: wfx: workaround bug with "iw scan"
  staging: wfx: delayed_unjoin cannot happen
  staging: wfx: delayed_link_loss cannot happen
  staging: wfx: implement cancel_hw_scan()
  staging: wfx: update TODO

 drivers/staging/wfx/TODO          |  81 +++++--
 drivers/staging/wfx/bh.c          |   3 +-
 drivers/staging/wfx/bus_spi.c     |   9 +-
 drivers/staging/wfx/data_rx.c     |   8 +-
 drivers/staging/wfx/data_rx.h     |   4 +-
 drivers/staging/wfx/data_tx.c     |  40 +++-
 drivers/staging/wfx/data_tx.h     |   7 +-
 drivers/staging/wfx/fwio.c        |  28 +--
 drivers/staging/wfx/hif_api_cmd.h |  32 +--
 drivers/staging/wfx/hif_api_mib.h |  13 +-
 drivers/staging/wfx/hif_rx.c      | 103 +++++----
 drivers/staging/wfx/hif_tx.c      | 109 +++++----
 drivers/staging/wfx/hif_tx.h      |  17 +-
 drivers/staging/wfx/hif_tx_mib.h  |  27 ++-
 drivers/staging/wfx/hwio.h        |  15 +-
 drivers/staging/wfx/main.c        |   5 +-
 drivers/staging/wfx/queue.c       |   9 +-
 drivers/staging/wfx/scan.c        | 323 +++++++--------------------
 drivers/staging/wfx/scan.h        |  25 +--
 drivers/staging/wfx/secure_link.h |   8 +-
 drivers/staging/wfx/sta.c         | 353 ++++++++----------------------
 drivers/staging/wfx/sta.h         |   9 +-
 drivers/staging/wfx/traces.h      |  14 +-
 drivers/staging/wfx/wfx.h         |  18 +-
 24 files changed, 509 insertions(+), 751 deletions(-)

-- 
2.24.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

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

end of thread, other threads:[~2019-12-18 15:05 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-17 16:14 [PATCH v2 00/55] Improve wfx driver Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 01/55] staging: wfx: fix the cache of rate policies on interface reset Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 02/55] staging: wfx: fix case of lack of tx_retry_policies Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 03/55] staging: wfx: fix counter overflow Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 04/55] staging: wfx: use boolean appropriately Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 05/55] staging: wfx: firmware does not support more than 32 total retries Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 06/55] staging: wfx: fix rate control handling Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 07/55] staging: wfx: ensure that retry policy always fallbacks to MCS0 / 1Mbps Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 08/55] staging: wfx: detect race condition in WEP authentication Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 09/55] staging: wfx: fix hif_set_mfp() with big endian hosts Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 10/55] staging: wfx: fix wrong error message Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 11/55] staging: wfx: increase SPI bus frequency limit Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 12/55] staging: wfx: don't print useless error messages Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 13/55] staging: wfx: avoid double warning when no more tx policy are available Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 14/55] staging: wfx: improve error message on unexpected confirmation Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 15/55] staging: wfx: take advantage of IS_ERR_OR_NULL() Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 16/55] staging: wfx: uniformize naming rule Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 17/55] staging: wfx: use meaningful names for CFG_BYTE_ORDER_* Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 18/55] staging: wfx: remove useless include Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 19/55] staging: wfx: simplify variable assignment Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 20/55] staging: wfx: make conditions easier to read Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 21/55] staging: wfx: ensure that traces never modify arguments Jérôme Pouiller
2019-12-17 16:14 ` [PATCH v2 22/55] staging: wfx: ensure that received hif messages are never modified Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 23/55] staging: wfx: fix typo in "num_of_ssi_ds" Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 24/55] staging: wfx: fix typo in "num_i_es" Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 25/55] staging: wfx: fix name of struct hif_req_start_scan_alt Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 26/55] staging: wfx: improve API of hif_req_join->infrastructure_bss_mode Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 27/55] staging: wfx: better naming for hif_req_join->short_preamble Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 28/55] staging: wfx: better naming for hif_mib_set_association_mode->greenfield Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 29/55] staging: wfx: simplify handling of tx_lock in wfx_do_join() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 30/55] staging: wfx: firmware already handle powersave mode during scan Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 31/55] staging: wfx: declare wfx_set_pm() static Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 32/55] staging: wfx: drop useless argument from wfx_set_pm() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 33/55] staging: wfx: remove redundant test while calling wfx_update_pm() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 34/55] staging: wfx: drop unnecessary wvif->powersave_mode Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 35/55] staging: wfx: do not try to save call to hif_set_pm() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 36/55] staging: wfx: fix pm_mode timeout Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 37/55] staging: wfx: simplify wfx_conf_tx() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 38/55] staging: wfx: prefer a bitmask instead of an array of boolean Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 39/55] staging: wfx: simplify hif_set_uapsd_info() usage Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 40/55] staging: wfx: simplify hif_set_pm() usage Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 41/55] staging: wfx: drop struct wfx_edca_params Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 42/55] staging: wfx: remove unnecessary EDCA initialisation Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 43/55] staging: wfx: simplify hif_set_edca_queue_params() usage Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 44/55] staging: wfx: hif_scan() never fails Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 45/55] staging: wfx: device already handle sleep mode during scan Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 46/55] staging: wfx: drop useless wfx_scan_complete() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 47/55] staging: wfx: simplify hif_scan() usage Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 48/55] staging: wfx: introduce update_probe_tmpl() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 49/55] staging: wfx: simplify hif_set_template_frame() usage Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 50/55] staging: wfx: rewrite wfx_hw_scan() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 51/55] staging: wfx: workaround bug with "iw scan" Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 52/55] staging: wfx: delayed_unjoin cannot happen Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 53/55] staging: wfx: delayed_link_loss " Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 54/55] staging: wfx: implement cancel_hw_scan() Jérôme Pouiller
2019-12-17 16:15 ` [PATCH v2 55/55] staging: wfx: update TODO Jérôme Pouiller
2019-12-18 15:03 ` [PATCH v2 00/55] Improve wfx driver Greg Kroah-Hartman

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).