linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/13] rtw89: support channel context
@ 2022-08-09 10:49 Ping-Ke Shih
  2022-08-09 10:49 ` [PATCH v3 01/13] wifi: rtw89: rewrite decision on channel by entity state Ping-Ke Shih
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Ping-Ke Shih @ 2022-08-09 10:49 UTC (permalink / raw)
  To: kvalo; +Cc: kevin_yang, linux-wireless

In order to support multiple channels, we prepare this patchset to have
initial skeleton of channel context, and only SCC (single channel
concurrence) is supported for now.

The channel context needs some features, like hardware scan, but not all
chips can support these features, so this implement can still support
chips without channel context. The chip_info defines a support_chanctx_num
field to discriminate a chip can support channel context or not, and we
use this as clue to hook channel context ops of mac80211.

To determine if it can use channel context, load firmware header and parse
firmware when probing before ieee80211_register_hw(). If chip defines it
support channel context but firmware doesn't support hw_scan, it falls
back to not use channel context. That means end users don't need
additional update to use this driver after this patchset.

When we concentrate stuffs of channel, some patches with a lot of changes
are used to adjust code for new struct. But, not really change logic.

v3:
 - to have good user experience after applying this patchset. Load firmware
   header and parse firmware features to determine if we can use channel
   context. If old firmware is adopted, it still can run well as original.

v2:
 - patch 11/13: add link_id argument because ieee80211 ops prototype are
   changed.
 - patch 13/13: change to use module parameter rtw89_use_chanctx to prevent
   breaking users' setup by default, and users can try to use channel
   context after they upgrade firmware.

Zong-Zhe Yang (13):
  wifi: rtw89: rewrite decision on channel by entity state
  wifi: rtw89: introduce rtw89_chan for channel stuffs
  wifi: rtw89: re-arrange channel related stuffs under HAL
  wifi: rtw89: create rtw89_chan centrally to avoid breakage
  wifi: rtw89: txpwr: concentrate channel related control to top
  wifi: rtw89: rfk: concentrate parameter control while set_channel()
  wifi: rtw89: concentrate parameter control for setting channel
    callback
  wifi: rtw89: concentrate chandef setting to stack callback
  wifi: rtw89: initialize entity and configure default chandef
  wifi: rtw89: introduce entity mode and its recalculated prototype
  wifi: rtw89: add skeleton of mac80211 chanctx ops support
  wifi: rtw89: declare support for mac80211 chanctx ops by chip
  wifi: rtw89: early recognize FW feature to decide if chanctx

 drivers/net/wireless/realtek/rtw89/Makefile   |   1 +
 drivers/net/wireless/realtek/rtw89/chan.c     | 235 ++++++++++++++++
 drivers/net/wireless/realtek/rtw89/chan.h     |  64 +++++
 drivers/net/wireless/realtek/rtw89/coex.c     |  11 +-
 drivers/net/wireless/realtek/rtw89/coex.h     |   4 +-
 drivers/net/wireless/realtek/rtw89/core.c     | 263 +++++++++--------
 drivers/net/wireless/realtek/rtw89/core.h     | 157 ++++++++---
 drivers/net/wireless/realtek/rtw89/debug.c    |   3 +-
 drivers/net/wireless/realtek/rtw89/fw.c       |  72 ++++-
 drivers/net/wireless/realtek/rtw89/fw.h       |  12 +-
 drivers/net/wireless/realtek/rtw89/mac.c      |  14 +-
 drivers/net/wireless/realtek/rtw89/mac80211.c |  77 ++++-
 drivers/net/wireless/realtek/rtw89/pci.c      |  20 +-
 drivers/net/wireless/realtek/rtw89/phy.c      | 266 +++++++++++-------
 drivers/net/wireless/realtek/rtw89/phy.h      |   8 +-
 drivers/net/wireless/realtek/rtw89/regd.c     |   2 +-
 drivers/net/wireless/realtek/rtw89/rtw8852a.c | 111 +++++---
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.c |  77 +++--
 drivers/net/wireless/realtek/rtw89/rtw8852c.c | 231 ++++++++-------
 .../net/wireless/realtek/rtw89/rtw8852c_rfk.c |  73 +++--
 .../net/wireless/realtek/rtw89/rtw8852c_rfk.h |   2 +-
 drivers/net/wireless/realtek/rtw89/sar.c      |   8 +-
 drivers/net/wireless/realtek/rtw89/ser.c      |   2 +
 23 files changed, 1185 insertions(+), 528 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw89/chan.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/chan.h

-- 
2.25.1


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

end of thread, other threads:[~2022-09-02  8:30 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-09 10:49 [PATCH v3 00/13] rtw89: support channel context Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 01/13] wifi: rtw89: rewrite decision on channel by entity state Ping-Ke Shih
2022-09-02  8:30   ` Kalle Valo
2022-08-09 10:49 ` [PATCH v3 02/13] wifi: rtw89: introduce rtw89_chan for channel stuffs Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 03/13] wifi: rtw89: re-arrange channel related stuffs under HAL Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 04/13] wifi: rtw89: create rtw89_chan centrally to avoid breakage Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 05/13] wifi: rtw89: txpwr: concentrate channel related control to top Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 06/13] wifi: rtw89: rfk: concentrate parameter control while set_channel() Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 07/13] wifi: rtw89: concentrate parameter control for setting channel callback Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 08/13] wifi: rtw89: concentrate chandef setting to stack callback Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 09/13] wifi: rtw89: initialize entity and configure default chandef Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 10/13] wifi: rtw89: introduce entity mode and its recalculated prototype Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 11/13] wifi: rtw89: add skeleton of mac80211 chanctx ops support Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 12/13] wifi: rtw89: declare support for mac80211 chanctx ops by chip Ping-Ke Shih
2022-08-09 10:49 ` [PATCH v3 13/13] wifi: rtw89: early recognize FW feature to decide if chanctx Ping-Ke Shih
2022-09-02  8:23   ` Kalle Valo

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