These RFK (RF calibration) 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). v3: - shrink number of patches from 16 to 8 - add blank lines to make code more readable - use upper case for macros name with proper prefix - move const tables upward to top of .c file v2: add patch 15 to fix clang warning Ping-Ke Shih (8): 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 drivers/net/wireless/realtek/rtw89/core.h | 19 +- drivers/net/wireless/realtek/rtw89/reg.h | 211 +- .../net/wireless/realtek/rtw89/rtw8852a_rfk.c | 8 +- drivers/net/wireless/realtek/rtw89/rtw8852c.c | 34 + .../net/wireless/realtek/rtw89/rtw8852c_rfk.c | 3825 ++++++++++++++++- .../net/wireless/realtek/rtw89/rtw8852c_rfk.h | 13 + .../realtek/rtw89/rtw8852c_rfk_table.c | 781 ++++ .../realtek/rtw89/rtw8852c_rfk_table.h | 67 + 8 files changed, 4930 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 -- 2.25.1