linux/drivers/net/wireless/realtek/rtw88
Ping-Ke Shih 1d229e88e5 rtw88: 8723d: add IQ calibration
IQ calibration is used to calibrate RF characteristic to yield expected
performance. Basically, we do calibration twice and compare the similarity
to determine calibration is good or not, if not we do the third
calibration, and then compare with the results of first and second
calibration. If it still not similar, IQK is failed.

Before doing calibration, we need to backup registers that will be
modified in calibration procedure, and restore these registers after
calibration is done.

A calibration procedure can divided into four sub-procedures that are
S1-TX, S1-RX, S0-TX and S0-RX. Where, S1 and S0 represent to path A and B
respectively. Each sub-procedure configure proper registers, and then
rigger one-shot calibration and poll until completion. For RX calibration,
it needs to do twice one-shot calibration, first one is to yield parameter
used by second one.

The result of TX part is stored for TX power tracking that adjusts TX AGC
to output expected power.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200512102621.5148-3-yhchuang@realtek.com
2020-05-13 18:48:43 +03:00
..
bf.c rtw88: 8723d: add beamform wrapper functions 2020-04-21 15:59:18 +03:00
bf.h rtw88: 8723d: add beamform wrapper functions 2020-04-21 15:59:18 +03:00
coex.c rtw88: add a debugfs entry to dump coex's info 2020-03-26 11:41:48 +02:00
coex.h rtw88: add a debugfs entry to dump coex's info 2020-03-26 11:41:48 +02:00
debug.c rtw88: add a debugfs entry to enable/disable coex mechanism 2020-03-26 11:41:57 +02:00
debug.h rtw88: support wowlan feature for 8822c 2020-01-26 17:37:03 +02:00
efuse.c rtw88: set power trim according to efuse PG values 2020-04-21 16:00:21 +03:00
efuse.h rtw88: set power trim according to efuse PG values 2020-04-21 16:00:21 +03:00
fw.c rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully 2020-05-06 11:34:31 +03:00
fw.h rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully 2020-05-06 11:34:31 +03:00
hci.h rtw88: kick off TX packets once for higher efficiency 2020-03-23 19:29:58 +02:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
mac80211.c rtw88: 8723d: add beamform wrapper functions 2020-04-21 15:59:18 +03:00
mac.c rtw88: 8723d: Add set_channel 2020-05-06 11:34:17 +03:00
mac.h rtw88: 8723d: Organize chip TX/RX FIFO 2020-04-23 07:47:26 +03:00
main.c rtw88: 8723d: some chips don't support LDPC 2020-05-06 11:34:43 +03:00
main.h rtw88: 8723d: add IQ calibration 2020-05-13 18:48:43 +03:00
Makefile rtw88: support wowlan feature for 8822c 2020-01-26 17:37:03 +02:00
pci.c wireless-drivers-next patches for v5.8 2020-05-07 13:22:35 -07:00
pci.h rtw88: kick off TX packets once for higher efficiency 2020-03-23 19:29:58 +02:00
phy.c rtw88: 8723d: add IQ calibration 2020-05-13 18:48:43 +03:00
phy.h rtw88: 8723d: Add RF read/write ops 2020-04-21 15:59:20 +03:00
ps.c rtw88: use shorter delay time to poll PS state 2020-01-26 17:42:56 +02:00
ps.h rtw88: raise LPS threshold to 50, for less power consumption 2019-11-06 19:55:37 +02:00
reg.h rtw88: 8723d: add IQ calibration 2020-05-13 18:48:43 +03:00
regd.c rtw88: update tx power limit table to RF v20 2019-06-27 20:24:27 +03:00
regd.h rtw88: update tx power limit table to RF v20 2019-06-27 20:24:27 +03:00
rtw8723d_table.c rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables 2020-04-21 15:59:21 +03:00
rtw8723d_table.h rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables 2020-04-21 15:59:21 +03:00
rtw8723d.c rtw88: 8723d: add IQ calibration 2020-05-13 18:48:43 +03:00
rtw8723d.h rtw88: 8723d: add IQ calibration 2020-05-13 18:48:43 +03:00
rtw8822b_table.c rtw88: use rtw_phy_pg_cfg_pair struct, not arrays 2019-10-31 10:03:48 +02:00
rtw8822b_table.h rtw88: 8822b: add RFE type 3 support 2019-10-31 10:03:47 +02:00
rtw8822b.c rtw88: 8723d: Set IG register for CCK rate 2020-05-06 11:34:58 +03:00
rtw8822b.h rtw88: add phy_info debugfs to show Tx/Rx physical status 2019-10-24 08:46:25 +03:00
rtw8822c_table.c rtw88: 8822c: update phy parameter tables to v50 2020-05-04 12:46:14 +03:00
rtw8822c_table.h rtw88: 8822c: update phy parameter tables to v50 2020-05-04 12:46:14 +03:00
rtw8822c.c rtw88: 8723d: Set IG register for CCK rate 2020-05-06 11:34:58 +03:00
rtw8822c.h rtw88: set power trim according to efuse PG values 2020-04-21 16:00:21 +03:00
rx.c rtw88: rearrange if..else statements for rx rate indexes 2019-10-31 10:03:49 +02:00
rx.h rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption 2019-10-04 16:45:01 +03:00
sec.c rtw88: add deep PS PG mode for 8822c 2019-10-02 07:33:49 +03:00
sec.h rtw88: add deep PS PG mode for 8822c 2019-10-02 07:33:49 +03:00
tx.c rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully 2020-05-06 11:34:31 +03:00
tx.h rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully 2020-05-06 11:34:31 +03:00
util.c rtw88: report tx rate to mac80211 stack 2019-10-04 16:44:57 +03:00
util.h rtw88: support wowlan feature for 8822c 2020-01-26 17:37:03 +02:00
wow.c rtw88: associate reserved pages with each vif 2020-03-23 19:29:42 +02:00
wow.h rtw88: Add wowlan net-detect support 2020-01-26 17:37:05 +02:00