mbox series

[00/13] rtw89: support channel context

Message ID 20220617084954.61261-1-pkshih@realtek.com
Headers show
Series rtw89: support channel context | expand

Message

Ping-Ke Shih June 17, 2022, 8:49 a.m. UTC
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. If a chip
declare it can support channel context, but a old firmware is adopted, it
could be failed to probe if firmware doesn't support hardware scan.

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.

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

 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     | 255 +++++++++--------
 drivers/net/wireless/realtek/rtw89/core.h     | 144 +++++++---
 drivers/net/wireless/realtek/rtw89/debug.c    |   3 +-
 drivers/net/wireless/realtek/rtw89/fw.c       |  40 ++-
 drivers/net/wireless/realtek/rtw89/mac.c      |  14 +-
 drivers/net/wireless/realtek/rtw89/mac80211.c |  75 ++++-
 drivers/net/wireless/realtek/rtw89/pci.c      |  11 +-
 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 +
 22 files changed, 1116 insertions(+), 521 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw89/chan.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/chan.h