Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
2.25.1




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux