Joe Perches
af5175acc8
rtw89: rtw89_ser: add const to struct state_ent and event_ent
...
Change the struct and the uses to const to reduce data.
$ size drivers/net/wireless/realtek/rtw89/ser.o* (x86-64 defconfig w/ rtw89)
text data bss dec hex filename
3741 8 0 3749 ea5 drivers/net/wireless/realtek/rtw89/ser.o.new
3437 312 0 3749 ea5 drivers/net/wireless/realtek/rtw89/ser.o.old
Signed-off-by: Joe Perches <joe@perches.com >
Acked-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/2fd88e6119f62b968477ef9781abb1832d399fd6.camel@perches.com
2022-04-12 16:37:49 +03:00
Chia-Yuan Li
065cf8f977
rtw89: 8852c: add 8852c specific BT-coexistence initial function
...
Initialize registers to default values, such as PTA and GNT pin, and set
pin MUX according to number of antenna on hardware module.
Signed-off-by: Chia-Yuan Li <leo.li@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-10-pkshih@realtek.com
2022-04-12 16:34:39 +03:00
Johnson Lin
d264edb1cc
rtw89: Skip useless dig gain and igi related settings for 8852C
...
Separated DIG RX gain, IGI configurations from not supportted HW using
"support_igi" capability flag.
Signed-off-by: Johnson Lin <johnson.lin@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-9-pkshih@realtek.com
2022-04-12 16:34:39 +03:00
Chia-Yuan Li
ec356ffb29
rtw89: 8852c: disable firmware watchdog if CPU disabled
...
Disable watchdog timer to prevent it timeout suddenly.
Signed-off-by: Chia-Yuan Li <leo.li@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-8-pkshih@realtek.com
2022-04-12 16:34:39 +03:00
Ping-Ke Shih
1817519701
rtw89: reset BA CAM
...
BA CAM is used to react receiving AMPDU packets, so reset them to be
expected initial state.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-7-pkshih@realtek.com
2022-04-12 16:34:39 +03:00
Ping-Ke Shih
9a1ab283c7
rtw89: change station scheduler setting for hardware TX mode
...
The bit B_AX_SS_NONEMPTY_SS2FINFO_EN should be clear, because we configure
C-MAC as hardware TX/RX mode.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-6-pkshih@realtek.com
2022-04-12 16:34:38 +03:00
Ping-Ke Shih
9f405b0162
rtw89: ser: configure top ERR IMR for firmware to recover
...
Turn on ERR IMR, and then firmware can capture interrupts reflecting
errors to recover hardware states.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-5-pkshih@realtek.com
2022-04-12 16:34:38 +03:00
Chia-Yuan Li
d86369e937
rtw89: ser: configure C-MAC interrupt mask
...
Similarly, create functions to set specific C-MAC masks for firmware
recovery.
Signed-off-by: Chia-Yuan Li <leo.li@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-4-pkshih@realtek.com
2022-04-12 16:34:38 +03:00
Chia-Yuan Li
eeadcd2a47
rtw89: ser: configure D-MAC interrupt mask
...
These interrupts are used by firmware to recover hardware. Create
functions to set specific D-MAC masks to replace plain register settings.
Signed-off-by: Chia-Yuan Li <leo.li@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-3-pkshih@realtek.com
2022-04-12 16:34:38 +03:00
Zong-Zhe Yang
5ddfffd6da
rtw89: ser: fix unannotated fall-through
...
add `break` to fix warning of unannotated fall-through between switch
labels.
Fixes: 14f9f47900 ("rtw89: ser: control hci interrupts on/off by state")
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220408001353.17188-2-pkshih@realtek.com
2022-04-12 16:34:38 +03:00
Sriram R
046d2e7c50
mac80211: prepare sta handling for MLO support
...
Currently in mac80211 each STA object is represented
using sta_info datastructure with the associated
STA specific information and drivers access ieee80211_sta
part of it.
With MLO (Multi Link Operation) support being added
in 802.11be standard, though the association is logically
with a single Multi Link capable STA, at the physical level
communication can happen via different advertised
links (uniquely identified by Channel, operating class,
BSSID) and hence the need to handle multiple link
STA parameters within a composite sta_info object
called the MLD STA. The different link STA part of
MLD STA are identified using the link address which can
be same or different as the MLD STA address and unique
link id based on the link vif.
To support extension of such a model, the sta_info
datastructure is modified to hold multiple link STA
objects with link specific params currently within
sta_info moved to this new structure. Similarly this is
done for ieee80211_sta as well which will be accessed
within mac80211 as well as by drivers, hence trivial
driver changes are expected to support this.
For current non MLO supported drivers, only one link STA
is present and link information is accessed via 'deflink'
member.
For MLO drivers, we still need to define the APIs etc. to
get the correct link ID and access the correct part of
the station info.
Currently in mac80211, all link STA info are accessed directly
via deflink. These will be updated to access via link pointers
indexed by link id with MLO support patches, with link id
being 0 for non MLO supported cases.
Except for couple of macro related changes, below spatch takes
care of updating mac80211 and driver code to access to the
link STA info via deflink.
@ieee80211_sta@
struct ieee80211_sta *s;
struct sta_info *si;
identifier var = {supp_rates, ht_cap, vht_cap, he_cap, he_6ghz_capa, eht_cap, rx_nss, bandwidth, txpwr};
@@
(
s->
- var
+ deflink.var
|
si->sta.
- var
+ deflink.var
)
@sta_info@
struct sta_info *si;
identifier var = {gtk, pcpu_rx_stats, rx_stats, rx_stats_avg, status_stats, tx_stats, cur_max_bandwidth};
@@
(
si->
- var
+ deflink.var
)
Signed-off-by: Sriram R <quic_srirrama@quicinc.com >
Link: https://lore.kernel.org/r/1649086883-13246-1-git-send-email-quic_srirrama@quicinc.com
[remove MLO-drivers notes from commit message, not clear yet; run spatch]
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 16:42:03 +02:00
Peter Seiderer
5c6dd7bd56
mac80211: minstrel_ht: fix where rate stats are stored (fixes debugfs output)
...
Using an ath9k card the debugfs output of minstrel_ht looks like the following
(note the zero values for the first four rates sum-of success/attempts):
best ____________rate__________ ____statistics___ _____last____ ______sum-of________
mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
OFDM 1 DP 6.0M 272 1640 5.2 3.1 53.8 3 0 0 0 0
OFDM 1 C 9.0M 273 1104 7.7 4.6 53.8 4 0 0 0 0
OFDM 1 B 12.0M 274 836 10.0 6.0 53.8 4 0 0 0 0
OFDM 1 A S 18.0M 275 568 14.3 8.5 53.8 5 0 0 0 0
OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 5 0 1 80 1778
OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 107
OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 75
OFDM 1 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 72
Total packet count:: ideal 16582 lookaround 885
Average # of aggregated frames per A-MPDU: 1.0
Debugging showed that the rate statistics for the first four rates where
stored in the MINSTREL_CCK_GROUP instead of the MINSTREL_OFDM_GROUP because
in minstrel_ht_get_stats() the supported check was not honoured as done in
various other places, e.g net/mac80211/rc80211_minstrel_ht_debugfs.c:
74 if (!(mi->supported[i] & BIT(j)))
75 continue;
With the patch applied the output looks good:
best ____________rate__________ ____statistics___ _____last____ ______sum-of________
mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
OFDM 1 D 6.0M 272 1640 5.2 5.2 100.0 3 0 0 1 1
OFDM 1 C 9.0M 273 1104 7.7 7.7 100.0 4 0 0 38 38
OFDM 1 B 12.0M 274 836 10.0 9.9 89.5 4 2 2 372 395
OFDM 1 A P 18.0M 275 568 14.3 14.3 97.2 5 52 53 6956 7181
OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 0 0 1 6 163
OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 35
OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 38
OFDM 1 S 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 38
Total packet count:: ideal 7097 lookaround 287
Average # of aggregated frames per A-MPDU: 1.0
Signed-off-by: Peter Seiderer <ps.report@gmx.net >
Link: https://lore.kernel.org/r/20220404165414.1036-1-ps.report@gmx.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 15:50:36 +02:00
Johannes Berg
a75971bc2b
nl80211: show SSID for P2P_GO interfaces
...
There's no real reason not to send the SSID to userspace
when it requests information about P2P_GO, it is, in that
respect, exactly the same as AP interfaces. Fix that.
Fixes: 44905265bc ("nl80211: don't expose wdev->ssid for most interfaces")
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://lore.kernel.org/r/20220318134656.14354ae223f0.Ia25e85a512281b92e1645d4160766a4b1a471597@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 15:35:12 +02:00
Lorenzo Bianconi
6d945a33f2
mac80211: introduce BSS color collision detection
...
Add ieee80211_rx_check_bss_color_collision routine in order to introduce
BSS color collision detection in mac80211 if it is not supported in HW/FW
(e.g. for mt7915 chipset).
Add IEEE80211_HW_DETECTS_COLOR_COLLISION flag to let the driver notify
BSS color collision detection is supported in HW/FW. Set this for ath11k
which apparently didn't need this code.
Tested-by: Peter Chiu <Chui-Hao.Chiu@mediatek.com >
Co-developed-by: Ryder Lee <ryder.lee@mediatek.com >
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com >
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org >
Link: https://lore.kernel.org/r/a05eeeb1841a84560dc5aaec77894fcb69a54f27.1648204871.git.lorenzo@kernel.org
[clarify commit message a bit, move flag to mac80211]
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 15:24:15 +02:00
Toke Høiland-Jørgensen
e5c95ca094
mac80211: Improve confusing comment around tx_info clearing
...
The comment above the ieee80211_tx_info_clear_status() helper was somewhat
confusing as to which fields it was or wasn't clearing. So replace it by
something that is hopefully more, well, clear.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk >
Link: https://lore.kernel.org/r/20220404210108.2684907-1-toke@toke.dk
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 15:12:25 +02:00
Lorenzo Bianconi
450c271d50
mac80211: protect ieee80211_assign_beacon with next_beacon check
...
Even if it is not a real issue since ieee80211_set_after_csa_beacon()
or ieee80211_set_after_color_change_beacon() are run only when csa or bcc
is active, move next_beacon check before running ieee80211_assign_beacon
routine.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org >
Link: https://lore.kernel.org/r/041764ed7e9781bcee66c33b41f1365aa4205932.1649327683.git.lorenzo@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2022-04-11 15:11:57 +02:00
Meng Tang
92bbf95df7
ipw2x00: use DEVICE_ATTR_*() macro
...
Use DEVICE_ATTR_*() helper instead of plain DEVICE_ATTR,
which makes the code a bit shorter and easier to read.
Signed-off-by: Meng Tang <tangmeng@uniontech.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220406015444.14408-1-tangmeng@uniontech.com
2022-04-06 15:16:35 +03:00
Christophe Leroy
3223e922cc
orinoco: Prepare cleanup of powerpc's asm/prom.h
...
powerpc's asm/prom.h brings some headers that it doesn't
need itself.
In order to clean it up, first add missing headers in
users of asm/prom.h
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/4e3bfd4ffe2ed6b713ddd99b69dcc3d96adffe34.1648833427.git.christophe.leroy@csgroup.eu
2022-04-06 15:16:08 +03:00
Haowen Bai
e8366bbabe
ipw2x00: Fix potential NULL dereference in libipw_xmit()
...
crypt and crypt->ops could be null, so we need to checking null
before dereference
Signed-off-by: Haowen Bai <baihaowen@meizu.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/1648797055-25730-1-git-send-email-baihaowen@meizu.com
2022-04-06 15:14:44 +03:00
Haowen Bai
11800d893b
b43: Fix assigning negative value to unsigned variable
...
fix warning reported by smatch:
drivers/net/wireless/broadcom/b43/phy_n.c:585 b43_nphy_adjust_lna_gain_table()
warn: assigning (-2) to unsigned variable '*(lna_gain[0])'
Signed-off-by: Haowen Bai <baihaowen@meizu.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/1648203315-28093-1-git-send-email-baihaowen@meizu.com
2022-04-06 15:14:23 +03:00
Haowen Bai
3f6b867559
b43legacy: Fix assigning negative value to unsigned variable
...
fix warning reported by smatch:
drivers/net/wireless/broadcom/b43legacy/phy.c:1181 b43legacy_phy_lo_b_measure()
warn: assigning (-772) to unsigned variable 'fval'
Signed-off-by: Haowen Bai <baihaowen@meizu.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/1648203433-8736-1-git-send-email-baihaowen@meizu.com
2022-04-06 15:13:08 +03:00
Chris Chiu
bd917b3d28
rtl8xxxu: fill up txrate info for gen1 chips
...
RTL8188CUS/RTL8192CU(gen1) don't support rate adaptive report hence
no real txrate info can be retrieved. The vendor driver reports the
highest rate in HT capabilities from the IEs to avoid empty txrate.
This commit initiates the txrate information with the highest supported
rate negotiated with AP. The gen2 chip keeps update the txrate from
the rate adaptive reports, and gen1 chips at least have non-NULL txrate
after associated.
Signed-off-by: Chris Chiu <chris.chiu@canonical.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325035735.4745-3-chris.chiu@canonical.com
2022-04-06 15:12:47 +03:00
Chris Chiu
21338c5bde
rtl8xxxu: feed antenna information for cfg80211
...
Fill up the available TX/RX antenna so the iw commands can show
correct antenna information for different chips.
Signed-off-by: Chris Chiu <chris.chiu@canonical.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325035735.4745-2-chris.chiu@canonical.com
2022-04-06 15:12:47 +03:00
Jakob Koschel
a0ff2a8719
rtlwifi: replace usage of found with dedicated list iterator variable
...
To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.
To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable instead of a
found boolean [1].
This removes the need to use a found variable and simply checking if
the variable was set, can determine if the break/goto was hit.
Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com >
Acked-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220324072124.62458-1-jakobkoschel@gmail.com
2022-04-06 15:11:58 +03:00
Ulf Hansson
92cadedd9d
brcmfmac: Avoid keeping power to SDIO card unless WOWL is used
...
Keeping the power to the SDIO card during system wide suspend, consumes
energy. Especially on battery driven embedded systems, this can be a
problem. Therefore, let's change the behaviour into allowing the SDIO card
to be powered off, unless WOWL is supported and enabled.
Note that, the downside from this change, is that during system resume the
SDIO card needs to be re-initialized and the FW must be re-programmed. Even
if this may take some time to complete, it should we worth it, rather than
draining the battery.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
Tested-by: Christophe Roullier <christophe.roullier@foss.st.com >
Reviewed-by: Yann Gautier <yann.gautier@foss.st.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220323083950.414783-1-ulf.hansson@linaro.org
2022-04-06 15:11:01 +03:00
Niels Dossche
3e12968f6d
mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
...
cfg80211_ch_switch_notify uses ASSERT_WDEV_LOCK to assert that
net_device->ieee80211_ptr->mtx (which is the same as priv->wdev.mtx)
is held during the function's execution.
mwifiex_dfs_chan_sw_work_queue is one of its callers, which does not
hold that lock, therefore violating the assertion.
Add a lock around the call.
Disclaimer:
I am currently working on a static analyser to detect missing locks.
This was a reported case. I manually verified the report by looking
at the code, so that I do not send wrong information or patches.
After concluding that this seems to be a true positive, I created
this patch.
However, as I do not in fact have this particular hardware,
I was unable to test it.
Reviewed-by: Brian Norris <briannorris@chromium.org >
Signed-off-by: Niels Dossche <dossche.niels@gmail.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220321225515.32113-1-dossche.niels@gmail.com
2022-04-06 14:44:11 +03:00
Po Hao Huang
65ee4971a2
rtw89: fix misconfiguration on hw_scan channel time
...
Without this patch, hw scan won't stay long enough on DFS/passive
channels. Found previous logic error and fix it.
Signed-off-by: Po Hao Huang <phhuang@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220401055043.12512-5-pkshih@realtek.com
2022-04-06 11:56:33 +03:00
Ching-Te Ku
841f263384
rtw89: coex: Add case for scan offload
...
Turn off coexistence driver control, let firmware can control the
traffic during scan. This prevents potential unexpected behavior of
the BT driver.
Signed-off-by: Ching-Te Ku <ku920601@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220401055043.12512-4-pkshih@realtek.com
2022-04-06 11:56:33 +03:00
Po Hao Huang
2b8219e9b7
rtw89: packet offload handler to avoid warning
...
Add a dummy function for packet offload to eliminate warning message
"c2h class 1 func 2 not support". This c2h is for debug purpose and
its presence itself can do the work, so further parsing won't be
required for now.
Signed-off-by: Po Hao Huang <phhuang@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220401055043.12512-3-pkshih@realtek.com
2022-04-06 11:56:33 +03:00
Po Hao Huang
ee20d538c4
rtw89: change idle mode condition during hw_scan
...
Previously we only consider single interface's status, idle mode
behavior could be unexpected when multiple interfaces is active.
Change to enter/leave idle mode by mac80211's configuration state.
Signed-off-by: Po Hao Huang <phhuang@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220401055043.12512-2-pkshih@realtek.com
2022-04-06 11:56:33 +03:00
Ping-Ke Shih
9fb4862e91
rtw89: update ptcl_init
...
ptcl_init, standing for protocol initialization, is updated to the latest
version.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-17-pkshih@realtek.com
2022-04-06 11:55:15 +03:00
Ping-Ke Shih
75fd91aa92
rtw89: update TMAC parameters
...
TMAC is short for TX MAC, and this patch is to configure FIFO thresholds.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-16-pkshih@realtek.com
2022-04-06 11:55:15 +03:00
Ping-Ke Shih
19cb94273f
rtw89: initialize NAV control
...
Configure NAV function and its parameters.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-15-pkshih@realtek.com
2022-04-06 11:55:15 +03:00
Ping-Ke Shih
c49154ff8b
rtw89: update scheduler setting
...
Update IC specific settings accordingly.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-14-pkshih@realtek.com
2022-04-06 11:55:14 +03:00
Ping-Ke Shih
b61adeed54
rtw89: 8852c: update security engine setting
...
The security setting of 8852A and 8852C are different, so change the
settings accordingly.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-13-pkshih@realtek.com
2022-04-06 11:55:14 +03:00
Ping-Ke Shih
5cb5562d2a
rtw89: Turn on CR protection of CMAC
...
CMAC is Control MAC, and this patch is to turn on CR (control registers)
protection.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-12-pkshih@realtek.com
2022-04-06 11:55:14 +03:00
Ping-Ke Shih
61ebeecb3d
rtw89: add chip_ops::{enable,disable}_bb_rf to support v1 chip
...
The v1 chip use specific functions to enable and disable BB/RF.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-11-pkshih@realtek.com
2022-04-06 11:55:14 +03:00
Ping-Ke Shih
cf7b8b8088
rtw89: update STA scheduler parameters for v1 chip
...
The v1 chip has additional setting of STA scheduler, so add it.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-10-pkshih@realtek.com
2022-04-06 11:55:14 +03:00
Ping-Ke Shih
a7d82a7aae
rtw89: extend dmac_pre_init to support 8852C
...
DMAC is short for data MAC. 8852C has more settings than 8852A, so add
them.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-9-pkshih@realtek.com
2022-04-06 11:55:13 +03:00
Ping-Ke Shih
e1e7a574b2
rtw89: pci: add L1 settings
...
Configure L1 settings of enter and exit.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-8-pkshih@realtek.com
2022-04-06 11:55:13 +03:00
Ping-Ke Shih
22a66e7c3a
rtw89: pci: add deglitch setting
...
Add setting to support 8852ce.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-7-pkshih@realtek.com
2022-04-06 11:55:13 +03:00
Ping-Ke Shih
bab9e23917
rtw89: pci: set address info registers depends on chips
...
Address info registers are used to configure size of DMA address info to
point skb->data. With different size, it can support different number of
scatters.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-6-pkshih@realtek.com
2022-04-06 11:55:13 +03:00
Ping-Ke Shih
0db862fb02
rtw89: pci: add LTR setting for v1 chip
...
Add LTR handle to PCI deinit as well.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-5-pkshih@realtek.com
2022-04-06 11:55:13 +03:00
Chia-Yuan Li
1e3f205548
rtw89: pci: refine pci pre_init function
...
The pre_init is used to initialize partial PCI function during PCI probe.
It doesn't need to initialize all functions, so probe can be faster.
Signed-off-by: Chia-Yuan Li <leo.li@realtek.com >
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-4-pkshih@realtek.com
2022-04-06 11:55:12 +03:00
Ping-Ke Shih
b9467e94b1
rtw89: pci: add pci attributes to configure operating mode
...
Refine operating mode function to support variant chips.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-3-pkshih@realtek.com
2022-04-06 11:55:12 +03:00
Ping-Ke Shih
740c431c22
rtw89: pci: add register definition to rtw89_pci_info to generalize pci code
...
The PCI code of 8852AE and 8852CE are different, but the flow and register
names are similar. To reuse the code, add a struct to define register or
value accordingly. We also use chip id to control the slightly different
flow.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Kalle Valo <kvalo@kernel.org >
Link: https://lore.kernel.org/r/20220325060055.58482-2-pkshih@realtek.com
2022-04-06 11:55:12 +03:00
Kalle Valo
ebc7a49627
Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
...
ath.git patches for v5.19. Major changes:
ath11k
* Wake-on-WLAN support for QCA6390 and WCN6855
* device recovery (firmware restart) support for QCA6390 and WCN6855
wcn36xx
* support for transmit rate reporting to user space
2022-04-06 11:37:55 +03:00
Kalle Valo
b9e34ba6b3
ath11k: mhi: remove unnecessary goto from ath11k_mhi_start()
...
No need to have goto for a return statement, so simplify the code. While at it,
print warning messages if power up calls fail.
No functional changes.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com >
Link: https://lore.kernel.org/r/20220401173042.17467-4-kvalo@kernel.org
2022-04-06 11:32:04 +03:00
Kalle Valo
3e80fcbca3
ath11k: mhi: add error handling for suspend and resume
...
While reviewing the mhi.c I noticed we were just ignoring the errors coming
from MHI subsystem during suspend and resume. Add proper checks and warning
messages. Also pass the error value to callers.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com >
Link: https://lore.kernel.org/r/20220401173042.17467-3-kvalo@kernel.org
2022-04-06 11:31:55 +03:00
Kalle Valo
121210ec93
ath11k: mhi: remove state machine
...
State machines are difficult to understand and in this case it's just useless,
which is shown by the diffstat. So remove it entirely to make the code simpler.
No functional changes.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com >
Link: https://lore.kernel.org/r/20220401173042.17467-2-kvalo@kernel.org
2022-04-06 11:31:40 +03:00