mbox series

[00/15] rtw89: 8852c: add RFK and then enable 8852ce in Makefile and Kconfig

Message ID 20220426063235.41650-1-pkshih@realtek.com
Headers show
Series rtw89: 8852c: add RFK and then enable 8852ce in Makefile and Kconfig | expand

Message

Ping-Ke Shih April 26, 2022, 6:32 a.m. UTC
After this patchset, basic functions are ready, so we can enable 8852ce.
It can play as STA, AP and monitor modes. The BT coexistence and power save
are still cooking, but these don't affect the performance of Wi-Fi only.

Patches 1-9 are related to RF calibration (RFK). These RFK can be called
once interface is going up, or when we are going to connect to AP in
certain channel, or band is changed. The general steps of calibration are
to backup registers (optional) and set a set of registers before doing
calibration according to channels or something else, and then trigger the
calibration and poll if calibration is complete. Then, check the result
is positive or not to decide to adjust parameters and re-trigger again.
If the result is okay, set registers accordingly, and restore registers
we backup before (optional).

Patches 10-11 are to add necessary chip_ops and chip_info.

Patch 12 is to fine tune polling interval to enter/leave low power mode.
Since 8852ce will do this more frequently, polling interval become more
important.

Patch 13-14 are to correct registers settings found when we develop 8852ce.

Final patch is to add 8852ce to Makefile and Kconfig, so user can use it
with firmware version 0.27.20.0 that I will send out after this patchset.

Ping-Ke Shih (15):
  rtw89: 8852c: rfk: add RFK tables
  rtw89: 8852c: rfk: add DACK
  rtw89: 8852c: rfk: add LCK
  rtw89: 8852c: rfk: add TSSI
  rtw89: 8852c: rfk: add RCK
  rtw89: 8852c: rfk: add RX DCK
  rtw89: 8852c: rfk: add IQK
  rtw89: 8852c: rfk: add DPK
  rtw89: 8852c: rfk: get calibrated channels to notify firmware
  rtw89: 8852c: add chip_ops::bb_ctrl_btc_preagc
  rtw89: 8852c: add basic and remaining chip_info
  rtw89: ps: fine tune polling interval while changing low power mode
  rtw89: correct AID settings of beamformee
  rtw89: 8852c: correct register definitions used by 8852c
  rtw89: 8852c: add 8852ce to Makefile and Kconfig

 drivers/net/wireless/realtek/rtw89/Kconfig    |   18 +-
 drivers/net/wireless/realtek/rtw89/Makefile   |    9 +
 drivers/net/wireless/realtek/rtw89/core.h     |   19 +-
 drivers/net/wireless/realtek/rtw89/mac.c      |    7 +-
 drivers/net/wireless/realtek/rtw89/reg.h      |  219 +-
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.c |    8 +-
 drivers/net/wireless/realtek/rtw89/rtw8852c.c |  181 +-
 .../net/wireless/realtek/rtw89/rtw8852c_rfk.c | 3812 +++++++++++++++++
 .../net/wireless/realtek/rtw89/rtw8852c_rfk.h |   14 +
 .../realtek/rtw89/rtw8852c_rfk_table.c        |  781 ++++
 .../realtek/rtw89/rtw8852c_rfk_table.h        |   67 +
 11 files changed, 5107 insertions(+), 28 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852c_rfk_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852c_rfk_table.h