linux/drivers/net/wireless/realtek/rtw88
Ping-Ke Shih 4e223a5f53 rtw88: 8723d: Add mac power-on/-off function
The mac power-on flow consists of three steps:
1. pre_sys_cfg  (Before switching power state)
2. power_switch (Switching power state)
3. init_sys_cfg (Settings after swtiching power state)

When switching power state, driver will load and parse the power sequence
tables. For 8723D devices, the logics for parsing are most same except for
the polling function. 8723D devices need to toggle BIT_PFM_WOWL twice.

The settings after power state is switched for 8723D devices are quite
different with other devices, extract a legacy function for them.

For power-off flow, 8723D devices have the same logic with existing chips.
But warning printed if we run power-off sequence in power-off state:

   rtw_pci 0000:03:00.0: failed to poll offset=0x5f8 mask=0xff value=0x0

The scenario is user do 'ifconfig up' that will run power-on sequence to
bring up and then run power-off sequence to enter idle
(IEEE80211_CONF_IDLE). Then, user do 'ifconfig down' that will run
power-off sequence again, and the warning is shown. Original code check
power-on state to avoid to run power-on sequence twice, and this commit
extends to check both power-on and power-off states.

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/20200422034607.28747-4-yhchuang@realtek.com
2020-04-23 07:47:21 +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: no need to send additional information to legacy firmware 2020-04-23 07:47:20 +03:00
fw.h rtw88: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +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 mac power-on/-off function 2020-04-23 07:47:21 +03:00
mac.h rtw88: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support 2019-10-14 12:10:48 +03:00
main.c rtw88: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +03:00
main.h rtw88: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +03:00
Makefile rtw88: support wowlan feature for 8822c 2020-01-26 17:37:03 +02:00
pci.c rtw88: 8723d: Add basic chip capabilities 2020-04-21 15:59:16 +03: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 RF read/write ops 2020-04-21 15:59:20 +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 mac power-on/-off function 2020-04-23 07:47:21 +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: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +03:00
rtw8723d.h rtw88: 8723d: Add read_efuse to recognize efuse info from map 2020-04-21 15:59:26 +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: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +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: use rtw_phy_pg_cfg_pair struct, not arrays 2019-10-31 10:03:48 +02:00
rtw8822c_table.h rtw88: 8822c: add SW DPK support 2019-09-13 18:03:19 +03:00
rtw8822c.c rtw88: add legacy firmware download for 8723D devices 2020-04-23 07:47:19 +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: fix non-increase management packet sequence number 2020-03-26 21:21:43 +02:00
tx.h rtw88: fix non-increase management packet sequence number 2020-03-26 21:21:43 +02: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