mbox series

[v2,0/8] wifi: rtw89: generalize download firmware flow to support WiFi 7 chips

Message ID 20230901073956.54203-1-pkshih@realtek.com
Headers show
Series wifi: rtw89: generalize download firmware flow to support WiFi 7 chips | expand

Message

Ping-Ke Shih Sept. 1, 2023, 7:39 a.m. UTC
WiFi 7 chips can download BB MCU firmware via the same path as existing
WiFi CPU firmware, and we need to check them successful after downloading,
so use a corresponding hardware bit to confirm certain firmware is ready.

To reuse the flow, uses mac_gen pointers to adapt WiFi 6/7 chips with
different settings and checking rules. Also, refine flow to support
download firmware one by one. Then, changes of flow look like

  1. initial setup                 --> no logic change
  2. download WiFi CPU firmware    --> 2. for all firmware suits
                                       2.1. download WiFi CPU firmware &
                                            check ready
                                       2.2. download BB MCU firmware &
                                            check ready
  3. check ready by status code    --> no logic change

v2:
  - correct patch 3/8 that I miss a change from internal commit

Ping-Ke Shih (8):
  wifi: rtw89: fw: move polling function of firmware path ready to an
    individual function
  wifi: rtw89: fw: generalize download firmware flow by mac_gen pointers
  wifi: rtw89: fw: implement supported functions of download firmware
    for WiFi 7 chips
  wifi: rtw89: fw: add checking type for variant type of firmware
  wifi: rtw89: fw: propagate an argument include_bb for BB MCU firmware
  wifi: rtw89: 8922a: add chip_ops::bb_preinit to enable BB before
    downloading firmware
  wifi: rtw89: fw: refine download flow to support variant firmware
    suits
  wifi: rtw89: 8922a: set memory heap address for secure firmware

 drivers/net/wireless/realtek/rtw89/core.c     |   2 +-
 drivers/net/wireless/realtek/rtw89/core.h     |  19 +++
 drivers/net/wireless/realtek/rtw89/fw.c       | 122 +++++++++-----
 drivers/net/wireless/realtek/rtw89/fw.h       |   7 +-
 drivers/net/wireless/realtek/rtw89/mac.c      |  45 ++++-
 drivers/net/wireless/realtek/rtw89/mac.h      |  10 +-
 drivers/net/wireless/realtek/rtw89/mac_be.c   | 156 ++++++++++++++++++
 drivers/net/wireless/realtek/rtw89/reg.h      | 109 ++++++++++++
 drivers/net/wireless/realtek/rtw89/rtw8851b.c |   2 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.c |   2 +
 drivers/net/wireless/realtek/rtw89/rtw8852b.c |   2 +
 drivers/net/wireless/realtek/rtw89/rtw8852c.c |   2 +
 drivers/net/wireless/realtek/rtw89/wow.c      |   4 +-
 13 files changed, 429 insertions(+), 53 deletions(-)