mbox series

[v4,0/5] wifi: rtw89: preparation of multiple interface concurrency support

Message ID 20230320124125.15873-1-pkshih@realtek.com
Headers show
Series wifi: rtw89: preparation of multiple interface concurrency support | expand

Message

Ping-Ke Shih March 20, 2023, 12:41 p.m. UTC
To support concurrency, we implement beacon filter, CQM and
ieee80211::remain_on_channel ops. Since our firmware doesn't support to TX
null packet while doing remain-on-channel, driver does this instead. To
ensure null packet send out before switching channel, patch 2/5 adds a
waiting mechanism.

The patches 4/5 and 5/5 refine things we found during developing.

v4:
  - patch 1/5
    - define h2c/c2h struct to set/get skb->data,
      for example

      * h2c = (__le32 *)skb->data; -->
        h2c = (struct rtw89_h2c_bcnfltr *)skb->data;

      * #define H2C_CFG_BCN_FLTR_LEN 4 (remove) --> sizeof(*h2c)

      * h2c[0] = le32_encode_bits(connect, RTW89_H2C_BCNFLTR_W0_MON_RSSI) -->
        h2c->w0 = le32_encode_bits(connect, RTW89_H2C_BCNFLTR_W0_MON_RSSI)

    - I think this could improve a little more. If anyone have more ideas
      in the future, I will open mind to change them again to make them
      look better.

  - others
    - no change

v3:
  - patch 1/5
    - remove unnecessary type casting
    - use clear style of mask definition for H2C/C2H
  - patch 2/5
    - add comment to describe why polling can help freeing
  - others
    - no change

v2:
  - messed up, please ignore.

Po-Hao Huang (5):
  wifi: rtw89: 8852c: add beacon filter and CQM support
  wifi: rtw89: add function to wait for completion of TX skbs
  wifi: rtw89: add ieee80211::remain_on_channel ops
  wifi: rtw89: add flag check for power state
  wifi: rtw89: fix authentication fail during scan

 drivers/net/wireless/realtek/rtw89/chan.c     |  35 +++
 drivers/net/wireless/realtek/rtw89/chan.h     |   3 +
 drivers/net/wireless/realtek/rtw89/core.c     | 288 +++++++++++++++++-
 drivers/net/wireless/realtek/rtw89/core.h     |  64 ++++
 drivers/net/wireless/realtek/rtw89/fw.c       | 116 ++++++-
 drivers/net/wireless/realtek/rtw89/fw.h       |  63 ++++
 drivers/net/wireless/realtek/rtw89/mac.c      |  62 ++++
 drivers/net/wireless/realtek/rtw89/mac.h      |   1 +
 drivers/net/wireless/realtek/rtw89/mac80211.c |  88 +++++-
 drivers/net/wireless/realtek/rtw89/pci.c      |   6 +
 drivers/net/wireless/realtek/rtw89/pci.h      |   4 +-
 drivers/net/wireless/realtek/rtw89/ps.c       |   6 +
 drivers/net/wireless/realtek/rtw89/ps.h       |  16 +
 13 files changed, 737 insertions(+), 15 deletions(-)