For WiFi 7 chips, we move RF calibrations from driver to firmware. Driver must trigger them one by one, so add H2C commands to trigger each of them, and add a C2H event to know the result. Because H2C commands and C2H event go via PCI ring, we should trigger them after PCI enabled, so add a chip_ops::rfk_init_late for this purpose. Ping-Ke Shih (11): wifi: rtw89: rfk: add a completion to wait RF calibration report from C2H event wifi: rtw89: rfk: send channel information to firmware for RF calibrations wifi: rtw89: rfk: add H2C command to trigger IQK wifi: rtw89: rfk: add H2C command to trigger RX DCK wifi: rtw89: rfk: add H2C command to trigger DPK wifi: rtw89: rfk: add H2C command to trigger DACK wifi: rtw89: rfk: add H2C command to trigger TXGAPK wifi: rtw89: rfk: add H2C command to trigger TSSI wifi: rtw89: 8922a: rfk: implement chip_ops to call RF calibrations wifi: rtw89: 8922a: add chip_ops::rfk_init_late to do initial RF calibrations later wifi: rtw89: 8922a: add chip_ops::rfk_hw_init drivers/net/wireless/realtek/rtw89/coex.h | 1 + drivers/net/wireless/realtek/rtw89/core.c | 2 + drivers/net/wireless/realtek/rtw89/core.h | 51 +- drivers/net/wireless/realtek/rtw89/fw.c | 322 ++++++++ drivers/net/wireless/realtek/rtw89/fw.h | 134 +++ drivers/net/wireless/realtek/rtw89/mac.h | 2 + drivers/net/wireless/realtek/rtw89/phy.c | 775 ++++++++++++++++++ drivers/net/wireless/realtek/rtw89/phy.h | 30 + drivers/net/wireless/realtek/rtw89/reg.h | 8 + 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/rtw8922a.c | 79 ++ .../net/wireless/realtek/rtw89/rtw8922a_rfk.c | 202 +++++ .../net/wireless/realtek/rtw89/rtw8922a_rfk.h | 1 + 16 files changed, 1611 insertions(+), 4 deletions(-) -- 2.25.1