Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
238 commits
Select commit Hold shift + click to select a range
492f6ca
wifi: rtw89: 8851b: rfk: extend DPK path_ok type to u8
Jun 27, 2025
328621f
wifi: rtw89: 8851b: set ADC bandwidth select according to calibration…
Jun 27, 2025
1f27d8c
wifi: rtw89: 8851b: adjust ADC setting for RF calibration
Jun 27, 2025
13dafdf
wifi: rtw89: 8851b: update NCTL 0xB
Jun 27, 2025
2fb5bb9
wifi: rtw89: 8851b: rfk: update DPK to 0x11
Jun 27, 2025
cbf21ab
wifi: rtw89: 8851b: rfk: update IQK to 0x14
Jun 27, 2025
39d880e
wifi: rtw89: 8851b: Accept USB devices and load their MAC address
Jun 30, 2025
dceb1fe
wifi: rtw89: Make dle_mem in rtw89_chip_info an array
Jun 30, 2025
b8c105a
wifi: rtw89: Make hfc_param_ini in rtw89_chip_info an array
Jun 30, 2025
0a1b9f9
wifi: rtw89: Add rtw8851b_dle_mem_usb{2,3}
Jun 30, 2025
406ec0c
wifi: rtw89: Add rtw8851b_hfc_param_ini_usb
Jun 30, 2025
b458227
wifi: rtw89: Add extra TX headroom for USB
Jun 30, 2025
260fc00
wifi: rtw89: Hide some errors when the device is unplugged
Jun 30, 2025
41b85c4
wifi: rtw89: 8851b: Modify rtw8851b_pwr_{on,off}_func() for USB
Jun 30, 2025
90bfedf
wifi: rtw89: Add some definitions for USB
Jun 30, 2025
39e4cc7
wifi: rtw89: Add usb.{c,h}
Jun 30, 2025
e5b6509
wifi: rtw89: Add rtw8851bu.c
Jun 30, 2025
1043610
wifi: rtw89: enter power save mode aggressively
Jul 1, 2025
e848f42
wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
Jul 5, 2025
91de9cd
wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
Jul 5, 2025
993fe79
wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
Jul 5, 2025
296ac5e
wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
Jul 5, 2025
ea21730
wifi: rtw89: Add rtw8852bu.c
Jul 5, 2025
824a3d1
wifi: rtw89: regd/acpi: support country CA by BIT(1) in 6 GHz SP conf
Jul 9, 2025
bb846e0
wifi: rtw89: regd/acpi: update field definition to specific country i…
Jul 9, 2025
25f4702
wifi: rtw89: regd/acpi: support regulatory rules via ACPI DSM and par…
Jul 9, 2025
fe78dc3
wifi: rtw89: regd/acpi: support 6 GHz VLP policy via ACPI DSM
Jul 9, 2025
f9593c6
wifi: rtw89: mcc: add H2C command to support different PD level in MCC
Jul 10, 2025
31813f2
wifi: rtw89: add DIG suspend/resume flow when scan and connection
Jul 10, 2025
af422d6
wifi: rtw89: mcc: enlarge GO NoA duration to cover channel switching …
Jul 10, 2025
fedf5fc
wifi: rtw89: mcc: when MCC stop forcing to stay at GO role
Jul 10, 2025
b00a927
wifi: rtw89: extend HW scan of WiFi 7 chips for extra OP chan when co…
Jul 10, 2025
728bf09
wifi: rtw89: mcc: solve GO's TBTT change and TBTT too close to NoA issue
Jul 10, 2025
ae79571
wifi: rtw89: check LPS H2C command complete by C2H reg instead of don…
Jul 10, 2025
6a62130
wifi: rtw89: introduce fw feature group and redefine CRASH_TRIGGER
Jul 10, 2025
f2c365e
wifi: rtw89: update SER L2 type default value
Jul 10, 2025
2f3ae48
wifi: rtw89: tweak tx wake notify matching condition
Jul 10, 2025
5ce7e52
wifi: rtw89: 8852bt: configure FW version for SCAN_OFFLOAD_EXTRA_OP f…
Jul 10, 2025
5f358fe
wifi: rtw89: 8852bt: implement RFK multi-channel handling and support…
Jul 10, 2025
25a218a
wifi: rtw89: 8852b: configure FW version for SCAN_OFFLOAD_EXTRA_OP fe…
Jul 10, 2025
b15b8d7
wifi: rtw89: 8852b: implement RFK multi-channel handling and support …
Jul 10, 2025
2f99570
wifi: rtw89: trigger TX stuck if FIFO full
Jul 15, 2025
d4527a5
wifi: rtw89: mac: reduce PPDU status length for WiFi 6 chips
Jul 15, 2025
77e4aa4
wifi: rtw89: dynamically update EHT preamble puncturing
Jul 15, 2025
26b621b
wifi: rtw89: purge obsoleted scan events with software sequence number
Jul 15, 2025
418ec2c
wifi: rtw89: check path range before using in rtw89_fw_h2c_rf_ps_info()
Jul 15, 2025
394977b
wifi: rtw89: Lower the timeout in rtw89_fwdl_check_path_ready_ax() fo…
Jul 15, 2025
89fa428
wifi: rtw89: wow: Add Basic Rate IE to probe request in scheduled sca…
Jul 16, 2025
8e11ba6
wifi: mac80211: don't require cipher and keylen in gtk rekey
Miriam-Rachel Jul 21, 2025
b6df7f6
wifi: rtw89: print just once for unknown C2H events
Aug 4, 2025
9a63bcb
wifi: rtw89: add dummy C2H handlers for BCN resend and update done
Aug 4, 2025
0a3b574
wifi: rtw89: 8852bt: Use standard helper for string choice
Aug 8, 2025
f427834
wifi: rtw89: introduce beacon tracking to improve connection stability
Aug 11, 2025
7125ea5
wifi: rtw89: debug: add beacon_info debugfs
Aug 11, 2025
02873a7
wifi: rtw89: wow: remove notify during WoWLAN net-detect
Aug 11, 2025
50030eb
wifi: rtw89: 8851b: rfk: update IQK TIA setting
Aug 11, 2025
1a41856
wifi: rtw89: 8851b: rfk: update TX wideband IQK
Aug 11, 2025
c3daeab
wifi: rtw89: 8852c: check LPS H2C command complete by C2H reg instead…
Aug 11, 2025
4f48d1b
wifi: rtw89: fix BSSID comparison for non-transmitted BSSID
Aug 11, 2025
6b9255e
wifi: rtw89: fix group frames loss when connected to non-transmitted …
Aug 11, 2025
8e59cfc
wifi: rtw89: 8852bt: Simplify unnecessary if-else conditions in _dpk_…
LiaoYuanhong-vivo Aug 18, 2025
c708718
wifi: rtw89: 8852a: report per-channel noise level by get_survey ops
Aug 19, 2025
710f5f8
wifi: rtw89: 8852a: report average RSSI to avoid unnecessary scanning
Aug 19, 2025
062e502
wifi: rtw89: 8852c: update firmware crash trigger type for newer firm…
Aug 19, 2025
ac13af0
wifi: rtw89: coex: Limit Wi-Fi scan slot cost to avoid A2DP glitch
ku920601 Aug 19, 2025
32c6171
wifi: rtw89: pci: prepare interrupt related registers and functions f…
Aug 26, 2025
82bc363
wifi: rtw89: pci: use RDU status of R_BE_PCIE_DMA_IMR_0_V1 instead fo…
Aug 26, 2025
1e7a623
wifi: rtw89: pci: add struct rtw89_{tx,rx}_rings to put related fields
Aug 26, 2025
cfba7ab
wifi: rtw89: pci: define TX/RX buffer descriptor pool
Aug 26, 2025
818cecc
wifi: rtw89: pci: add group BD address design
Aug 26, 2025
90a5ffd
wifi: rtw89: pci: abstract RPP parser
Aug 26, 2025
1a9e33e
wifi: rtw89: pci: add RPP parser v1
Aug 26, 2025
88e1fd9
wifi: rtw89: abstract getting function of DMA channel
Aug 26, 2025
590a643
wifi: rtw89: add getting function of DMA channel v1
Aug 26, 2025
8083132
wifi: rtw89: use int type to store negative error codes
qianfengrong Aug 27, 2025
413116b
wifi: rtw89: 8852bt: Remove redundant off_reverse variables
LiaoYuanhong-vivo Aug 28, 2025
4b17e26
wifi: rtw89: Add USB ID 2001:332a for D-Link AX9U rev. A1
a5a5aa555oo Sep 2, 2025
2bc648b
wifi: rtw89: Add USB ID 2001:3327 for D-Link AX18U rev. A1
a5a5aa555oo Sep 3, 2025
860fb4e
wifi: rtw89: chan: allow callers to check if a link has no managed ch…
Sep 15, 2025
c08d4bc
wifi: rtw89: use ieee80211_tx_info::driver_data to store driver TX info
Sep 15, 2025
04ff75d
wifi: rtw89: disable RTW89_PHYSTS_IE09_FTR_0 for ppdu status
Sep 15, 2025
240f4c7
wifi: rtw89: obtain RX path from ppdu status IE00
Sep 15, 2025
d8a5363
wifi: rtw89: phy: initialize AFE by firmware element table
Sep 15, 2025
e261acc
wifi: rtw89: debug: support SER L0 simulation
Sep 15, 2025
bdd08d1
wifi: rtw89: 8852b: enable beacon tracking support
Sep 15, 2025
db26d04
wifi: rtw89: renew a completion for each H2C command waiting C2H event
Sep 15, 2025
b2545a9
wifi: rtw89: open C2H event waiting window first before sending H2C c…
Sep 15, 2025
725c54c
wifi: rtw89: 8922a: add TAS feature support
Sep 15, 2025
ae1a4ed
wifi: rtw89: wow: enable TKIP related feature
Sep 15, 2025
7053658
wifi: rtw89: fix use-after-free in rtw89_core_tx_kick_off_and_wait()
pchelkin91 Sep 19, 2025
54de7e0
wifi: rtw89: avoid possible TX wait initialization race
pchelkin91 Sep 19, 2025
b9ee717
wifi: rtw89: Replace hardcoded strings with helper functions
eleanorLYJ Sep 30, 2025
102eebc
wifi: rtw89: splice C2H events queue to local to prevent racing
Oct 21, 2025
15e066f
wifi: rtw89: use skb_dequeue() for queued ROC packets to prevent racing
Oct 21, 2025
19fd63b
wifi: rtw89: mlo: handle needed H2C when link switching is requested …
Oct 21, 2025
e2ac5ce
wifi: rtw89: support EHT rate pattern via bitrate mask
Oct 21, 2025
cc4944a
wifi: rtw89: regd: apply ACPI policy even if country code is programmed
Oct 21, 2025
f2e654e
wifi: rtw89: 8852c: fix ADC oscillation in 160MHz affecting RX perfor…
Oct 21, 2025
6893b39
wifi: rtw89: restart hardware to recover firmware if power-save becom…
Oct 21, 2025
f5de7e4
wifi: rtw89: improve scan time on 6 GHz band
Oct 21, 2025
3d37497
wifi: rtw89: refine rtw89_core_tx_wait_complete()
pchelkin91 Nov 4, 2025
1b26ea9
wifi: rtw89: fill TX descriptor of FWCMD in shortcut
Nov 4, 2025
43e22f4
wifi: rtw89: pci: add to read PCI configuration space from common code
Nov 11, 2025
cf7ca23
wifi: rtw89: fw: parse firmware element of DIAG_MAC
Nov 11, 2025
30d8723
wifi: rtw89: debug: add parser to diagnose along DIAG_MAC fw element
Nov 11, 2025
90f695f
wifi: rtw89: 8852c: add compensation of thermal value from efuse cali…
Nov 11, 2025
3344d37
wifi: rtw89: phy: fix out-of-bounds access in rtw89_phy_read_txpwr_li…
Nov 11, 2025
81f3210
wifi: rtw89: consider data rate/bandwidth/GI for injected packets
Nov 11, 2025
ad4a36e
wifi: rtw89: do RF calibration once setting channel when running pure…
Nov 11, 2025
5733e77
wifi: rtw89: configure RX antenna if chips can support
Nov 11, 2025
b062f98
wifi: rtw89: flush TX queue before deleting key
Nov 14, 2025
086eeaf
wifi: rtw89: fw: part size to download firmware by header info
Nov 14, 2025
ddc3b1f
wifi: rtw89: mac: separate pre-init code before downloading firmware
Nov 14, 2025
0bf50fb
wifi: rtw89: phy: calling BB pre-init by chips with/without BB MCU
Nov 14, 2025
e2a5783
wifi: rtw89: mac: remove undefined bit B_BE_PPDU_MAC_INFO
Nov 14, 2025
576a701
wifi: rtw89: mac: update wcpu_on to download firmware for RTL8922D
Nov 14, 2025
1c8bc5a
wifi: rtw89: phy: consider type 15 in BB gain table
Nov 14, 2025
0fe8f74
wifi: rtw89: phy: ignore DCFO if not defined in chip_info
Nov 14, 2025
0ba0e70
wifi: rtw89: fw: print band and port where beacon update on
Nov 14, 2025
5ebcd9b
wifi: rtw89: align RA H2C format v1 for RTL8922A
Nov 14, 2025
d608df2
wifi: rtw89: fill addr cam H2C command by struct
Nov 14, 2025
8312ade
wifi: rtw89: add addr cam H2C command v1
Nov 14, 2025
9a545ec
wifi: rtw89: update format of addr cam H2C command
Nov 14, 2025
58a0163
wifi: rtw89: correct user macid mask of RX info for RTL8922D
Nov 14, 2025
f2e5c4e
wifi: rtw89: use separated function to set RX filter
Nov 13, 2025
031cf00
wifi: rtw89: hw_scan: Don't let the operating channel be last
Nov 13, 2025
23e3106
wifi: rtw89: 8852a: correct field mask of reset DAC/ADC FIFO
Nov 20, 2025
6a4cd3b
wifi: rtw89: 8852b: increase beacon loss to 6 seconds
Nov 17, 2025
b63ff12
wifi: rtw89: mlo: fix missing TX nulldata 1 during link switch
Nov 5, 2025
f08ae12
wifi: rtw89: mlo: fix incorrect link address in management frames
Nov 6, 2025
6736ba9
wifi: rtw89: mac: reset power state before switching to power on
Nov 12, 2025
670e854
wifi: rtw89: ser: enable error IMR after recovering from L1
Nov 14, 2025
7be31ff
wifi: rtw89: ser: L1 skip polling status if FW runs event mode
Nov 7, 2025
475bf66
wifi: rtw89: debug: add ser_counters dbgfs
Nov 5, 2025
8bf2905
wifi: rtw89: debug: support SER L0/L1 simulation via halt H2C
Nov 5, 2025
b425f94
wifi: rtw89: refine C2H reg event polling timeout for LPS
Oct 2, 2025
d8a05f6
wifi: rtw89: warn unexpected polling value of XTAL SI
Sep 23, 2025
1c858fb
wifi: rtw89: setting TBTT AGG number when mac port initialization
Nov 28, 2025
3fe0df0
wifi: rtw89: mcc: reset probe counter when receiving beacon
Nov 28, 2025
9485ee0
wifi: rtw89: wow: use struct style to fill WOW CAM H2C command
Aug 30, 2025
2179853
wifi: rtw89: wow: change type of WoWLAN pattern mask to __le32
Sep 17, 2025
6356a32
wifi: rtw89: wow: add WOW_CAM update function for 8922D
Aug 30, 2025
982db44
wifi: rtw89: wow: abstrct dma check register for RTL8922DE
Jul 4, 2025
6616782
wifi: rtw89: define TX/RX aggregation and MPDU capability per chip
Oct 15, 2025
4003fdd
wifi: rtw89: efuse: read hardware version from efuse for WiFi 7 chips
Jan 9, 2025
11210bf
wifi: rtw89: read chip ID for RTL8922D variants
Oct 8, 2025
42948b5
wifi: rtw89: add default quirks as features to chip_info
Nov 25, 2025
cd8e80b
wifi: rtw89: refine TX nulldata judgement when scan with 2 OP channels
Aug 26, 2025
141a67a
wifi: rtw89: 8922a: configure FW version for SCAN_OFFLOAD_EXTRA_OP fe…
May 13, 2025
f61d901
wifi: rtw89: regd: 6 GHz power type marks default when inactive
Dec 19, 2025
12b97cb
wifi: rtw89: enhance connection stability when triggering beacon loss
Nov 28, 2025
9819edf
wifi: rtw89: rfk: update RFK pre info V2 for RTL8922D
May 14, 2025
53ddd36
wifi: rtw89: rfk: add rtw89_fw_h2c_rf_pre_ntfy_mcc for new WiFi 7 fir…
Aug 6, 2025
1365e1f
wifi: rtw89: pre-handle RF calibration on link when needed
Nov 21, 2025
11def37
wifi: rtw89: fw: change FW feature map to a BITMAP
Dec 3, 2025
0cd568b
wifi: rtw89: fw: introduce helper for disabling FW feature configuration
Dec 3, 2025
edf80aa
wifi: rtw89: 8922a: tweak RFK_PRE_NOTIFY FW feature configuration to …
Dec 3, 2025
f04490a
wifi: rtw89: refine misordered entries in FW feature table
Dec 10, 2025
893dbbb
wifi: rtw89: fw: change WITH_RFK_PRE_NOTIFY to be a FW feature group
Dec 3, 2025
a714278
wifi: rtw89: rfk: update rtw89_fw_h2c_rf_pre_ntfy_mcc format
Aug 6, 2025
923d42a
wifi: rtw89: fix potential zero beacon interval in beacon tracking
Dec 29, 2025
45b8ae8
wifi: rtw89: 8852b: refine hardware parameters for RFE type 5
Dec 29, 2025
998d32a
wifi: rtw89: update TXWD v3 for RTL8922D
Jan 22, 2025
b7c192f
wifi: rtw89: update query RXDESC v3 for RTL8922D
Feb 4, 2025
692965e
wifi: rtw89: fw: add DMAC v3 H2C command for RTL8922D
Feb 5, 2025
2ad3a0e
wifi: rtw89: fw: add CMAC H2C command to initialize default value
Feb 11, 2025
e13051d
wifi: rtw89: fw: add CMAC H2C command for association
Feb 11, 2025
8eaee49
wifi: rtw89: fw: add CMAC H2C command for TX AMPDU
Feb 11, 2025
1688650
wifi: rtw89: fw: add CMAC H2C command for TX time
Feb 11, 2025
ccd0a2e
wifi: rtw89: fw: add CMAC H2C command for punctured
Aug 6, 2025
ed855c6
wifi: rtw89: fw: consider hardware AID for firmware elements
Oct 14, 2025
03935f4
wifi: rtw89: fw: set RACK bit every 4 H2C command for WiFi 6 chips only
Nov 12, 2025
2459b37
wifi: rtw89: coex: make coex scoreboard as chip info
Jan 8, 2025
92a835b
wifi: rtw89: coex: update scoreboard value according to power state f…
Apr 7, 2025
053d8bf
wifi: rtw89: coex: update coex software control
Dec 11, 2025
a4eed1b
wifi: rtw89: mac: remove unnecessary return from rtw89_fwdl_secure_id…
Nov 10, 2025
3bbd437
wifi: rtw89: mac: add dle_mem and ple_{min,max}_qt quota for RTL8922D
Jan 6, 2025
8661071
wifi: rtw89: mac: set quota 13 for PLE SNRPT
Jan 8, 2025
b17cd17
wifi: rtw89: mac: update MPDU quota according to chip DLE definition
Apr 8, 2025
9bc1ae1
wifi: rtw89: mac: update WP quota for RTL8922D
Apr 8, 2025
248f440
wifi: rtw89: mac: define preload_init for generations
Apr 8, 2025
e0cb970
wifi: rtw89: mac: configure DMA_STOP1 by predefined mask
Jan 8, 2025
b2ea8b8
wifi: rtw89: mac: separate functions of CMAC power and function enable
Apr 9, 2025
2f2d5ed
wifi: rtw89: mac: add an entry to enable MAC function in preinit
Apr 10, 2025
b9eb997
wifi: rtw89: mac: set EDCCA configurations
Jun 24, 2025
21db905
wifi: rtw89: pci: validate sequence number of TX release report
Jan 7, 2026
7ca703a
wifi: rtw89: support EHT GI/LTF setting
Dec 18, 2025
4a5ac50
wifi: rtw89: disable EHT protocol by chip capabilities
Nov 19, 2025
ebb5f11
wifi: rtw89: align CUSTID defined by firmware
Dec 1, 2025
f292c4a
wifi: rtw89: mac: correct page number for CSI response
Dec 23, 2025
103b8e1
wifi: rtw89: mac: consider RTL8922D in MAC common flow
Jan 8, 2025
b6e20e4
wifi: rtw89: pci: consider RTL8922D in PCI common flow
Jan 8, 2025
56dbc38
wifi: rtw89: mac: clear global interrupt right after power-on
Jan 8, 2025
d8d525c
wifi: rtw89: phy: add {read,write}_rf_v3 for RTL8922D
Mar 11, 2025
0056b98
wifi: rtw89: phy: add ops rtw89_phy_gen_be_v1 for RTL8922D
Mar 11, 2025
ad78b8a
wifi: rtw89: phy: abstract start address and EHT of PHY status bitmap
Mar 12, 2025
f3fd1cc
wifi: rtw89: phy: extend register to read history 2 of PHY env_monitor
Sep 16, 2025
f410087
wifi: rtw89: phy: abstract BB wrap registers to share initial flow
Mar 18, 2025
041b4a6
wifi: rtw89: phy: update bb wrapper TPU init
Jun 4, 2025
fb2a2c0
wifi: rtw89: phy: update BB wrapper RFSI
Jun 4, 2025
e446081
wifi: rtw89: phy: write BB wrapper registers with flush
Nov 25, 2025
6f8e8ca
wifi: rtw89: phy: refine initial flow of BB wrapper
Dec 2, 2025
e23e0f4
wifi: rtw89: phy: fix incorrect power limit by mac_id
Jan 5, 2026
595bbd2
wifi: rtw89: fix unable to receive probe responses under MLO connection
Jul 28, 2025
d95db17
wifi: rtw89: phy: add chip_ops to calcuate RX gain from efuse to supp…
Nov 28, 2025
2d53e9c
wifi: rtw89: phy: handle C2H event for PS mode report
Nov 18, 2025
cec1624
wifi: rtw89: phy: add H2C command to send detail RX gain and link par…
Nov 18, 2025
fff91e2
wifi: rtw89: phy: update edcca log parsing for RTL8922D
Dec 23, 2025
277674a
wifi: rtw89: phy: add firmware element of digital TX power compensation
Dec 19, 2025
08e58c0
wifi: rtw89: phy: update TSSI flow for RTL8922D
Jun 4, 2025
7655236
wifi: rtw89: mac: clear DTOP disable excluding CID7090 variant for RT…
Jan 14, 2026
a11f2c7
wifi: rtw89: mac: set force MBA duration to 0
Jan 14, 2026
ef3a864
wifi: rtw89: 8922a: add digital compenstation for 2GHz
Nov 28, 2025
1950c5f
wifi: rtw89: rfk: add firmware command to do TX IQK
May 14, 2025
f9d22b9
wifi: rtw89: rfk: add to print debug log of TX IQK
Jun 27, 2025
8be4232
wifi: rtw89: rfk: add firmware command to do CIM3K
Dec 4, 2025
080539b
wifi: rtw89: rfk: add to print debug log of CIM3K
Dec 4, 2025
057fb6b
wifi: rtw89: rfk: update RFK report format of IQK, DACK and TXGAPK
May 15, 2025
5a02e8c
wifi: rtw89: fw: correct content of DACK H2C command
Jun 10, 2025
b76fb80
wifi: rtw89: phy: add PHY C2H event dummy handler for func 1-7 and 2-10
May 15, 2025
73aac61
wifi: rtw89: 8922a: configure FW version for SIM_SER_L0L1_BY_HALT_H2C
Jan 14, 2026
58eca81
wifi: rtw89: get designated link to replace link instance 0
Jan 15, 2026
75fa8b5
wifi: rtw89: pci: validate release report content before using for RT…
Jan 19, 2026
be69ce2
wifi: rtw89: regd: update regulatory map to R73-R54
Jan 21, 2026
b9e0e0a
wifi: rtw89: debug: rename mac/ctrl error to L0/L1 error
Jan 23, 2026
06ca9c3
wifi: rtw89: debug: tweak Wi-Fi 7 SER L0/L1 simulation methods
Jan 23, 2026
faa2a22
wifi: rtw89: wow: disable interrupt before swapping FW for 8922D
Jan 26, 2026
93ef557
wifi: rtw89: mac: set MU group membership and position to registers
Jan 24, 2026
6700eca
wifi: rtw89: pci: warn if SPS OCP happens for RTL8922DE
Jan 27, 2026
d2f42f2
Refine "wifi: rtw89: add support for hardware rfkill"
Jun 5, 2026
55032ff
backport BSS_CHANGED_MLD_VALID_LINKS for kernel < 6.7
Sep 3, 2025
003e547
backport bitrate mask eht mcs for kernel < 6.18
Sep 19, 2025
77bfed7
backport bitrate mask eht gi/ltf for kernel < 6.18
Dec 18, 2025
9c3a2de
wifi: rtw89: fw: add CMAC H2C command for association
Feb 11, 2025
d9f8b7c
backport EHT preamble puncturing for kernel < 6.9
Jun 25, 2025
e42a196
backport ieee80211_gtk_rekey_add() for kernel < 6.17
Jul 25, 2025
6d770ac
backport: remove "LINUX_VERSION_CODE" for updated commits by using v6…
Jun 5, 2026
e0317d3
Update release driver version
Jun 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions drivers/net/wireless/realtek/rtw89/acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,50 @@ int rtw89_acpi_dsm_get_policy_6ghz_sp(struct rtw89_dev *rtwdev,
return 0;
}

static bool chk_acpi_policy_6ghz_vlp_sig(const struct rtw89_acpi_policy_6ghz_vlp *p)
{
return p->signature[0] == 0x52 &&
p->signature[1] == 0x54 &&
p->signature[2] == 0x4B &&
p->signature[3] == 0x0B;
}

static
int rtw89_acpi_dsm_get_policy_6ghz_vlp(struct rtw89_dev *rtwdev,
union acpi_object *obj,
struct rtw89_acpi_policy_6ghz_vlp **policy)
{
const struct rtw89_acpi_policy_6ghz_vlp *ptr;
u32 buf_len;

if (obj->type != ACPI_TYPE_BUFFER) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI,
"acpi: expect buffer but type: %d\n", obj->type);
return -EINVAL;
}

buf_len = obj->buffer.length;
if (buf_len < sizeof(*ptr)) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n",
__func__, buf_len);
return -EINVAL;
}

ptr = (typeof(ptr))obj->buffer.pointer;
if (!chk_acpi_policy_6ghz_vlp_sig(ptr)) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__);
return -EINVAL;
}

*policy = kmemdup(ptr, sizeof(*ptr), GFP_KERNEL);
if (!*policy)
return -ENOMEM;

rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_6ghz_vlp: ", *policy,
sizeof(*ptr));
return 0;
}

static bool chk_acpi_policy_tas_sig(const struct rtw89_acpi_policy_tas *p)
{
return p->signature[0] == 0x52 &&
Expand Down Expand Up @@ -279,6 +323,51 @@ static int rtw89_acpi_dsm_get_policy_tas(struct rtw89_dev *rtwdev,
return 0;
}

static
bool chk_acpi_policy_reg_rules_sig(const struct rtw89_acpi_policy_reg_rules *p)
{
return p->signature[0] == 0x52 &&
p->signature[1] == 0x54 &&
p->signature[2] == 0x4B &&
p->signature[3] == 0x0A;
}

static
int rtw89_acpi_dsm_get_policy_reg_rules(struct rtw89_dev *rtwdev,
union acpi_object *obj,
struct rtw89_acpi_policy_reg_rules **policy)
{
const struct rtw89_acpi_policy_reg_rules *ptr;
u32 buf_len;

if (obj->type != ACPI_TYPE_BUFFER) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI,
"acpi: expect buffer but type: %d\n", obj->type);
return -EINVAL;
}

buf_len = obj->buffer.length;
if (buf_len < sizeof(*ptr)) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n",
__func__, buf_len);
return -EINVAL;
}

ptr = (typeof(ptr))obj->buffer.pointer;
if (!chk_acpi_policy_reg_rules_sig(ptr)) {
rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__);
return -EINVAL;
}

*policy = kmemdup(ptr, sizeof(*ptr), GFP_KERNEL);
if (!*policy)
return -ENOMEM;

rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_reg_rules: ", *policy,
sizeof(*ptr));
return 0;
}

int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev,
enum rtw89_acpi_dsm_func func,
struct rtw89_acpi_dsm_result *res)
Expand All @@ -300,8 +389,14 @@ int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev,
else if (func == RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP)
ret = rtw89_acpi_dsm_get_policy_6ghz_sp(rtwdev, obj,
&res->u.policy_6ghz_sp);
else if (func == RTW89_ACPI_DSM_FUNC_6GHZ_VLP_SUP)
ret = rtw89_acpi_dsm_get_policy_6ghz_vlp(rtwdev, obj,
&res->u.policy_6ghz_vlp);
else if (func == RTW89_ACPI_DSM_FUNC_TAS_EN)
ret = rtw89_acpi_dsm_get_policy_tas(rtwdev, obj, &res->u.policy_tas);
else if (func == RTW89_ACPI_DSM_FUNC_REG_RULES_EN)
ret = rtw89_acpi_dsm_get_policy_reg_rules(rtwdev, obj,
&res->u.policy_reg_rules);
else
ret = rtw89_acpi_dsm_get_value(rtwdev, obj, &res->u.value);

Expand Down
33 changes: 31 additions & 2 deletions drivers/net/wireless/realtek/rtw89/acpi.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ enum rtw89_acpi_dsm_func {
RTW89_ACPI_DSM_FUNC_TAS_EN = 5,
RTW89_ACPI_DSM_FUNC_UNII4_SUP = 6,
RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP = 7,
RTW89_ACPI_DSM_FUNC_REG_RULES_EN = 10,
RTW89_ACPI_DSM_FUNC_6GHZ_VLP_SUP = 11,
};

enum rtw89_acpi_conf_unii4 {
RTW89_ACPI_CONF_UNII4_FCC = BIT(0),
RTW89_ACPI_CONF_UNII4_IC = BIT(1),
RTW89_ACPI_CONF_UNII4_US = BIT(0),
RTW89_ACPI_CONF_UNII4_CA = BIT(1),
};

enum rtw89_acpi_policy_mode {
Expand Down Expand Up @@ -56,6 +58,7 @@ struct rtw89_acpi_policy_6ghz {

enum rtw89_acpi_conf_6ghz_sp {
RTW89_ACPI_CONF_6GHZ_SP_US = BIT(0),
RTW89_ACPI_CONF_6GHZ_SP_CA = BIT(1),
};

struct rtw89_acpi_policy_6ghz_sp {
Expand All @@ -66,6 +69,19 @@ struct rtw89_acpi_policy_6ghz_sp {
u8 rsvd;
} __packed;

enum rtw89_acpi_conf_6ghz_vlp {
RTW89_ACPI_CONF_6GHZ_VLP_US = BIT(0),
RTW89_ACPI_CONF_6GHZ_VLP_CA = BIT(1),
};

struct rtw89_acpi_policy_6ghz_vlp {
u8 signature[4];
u8 revision;
u8 override;
u8 conf;
u8 rsvd;
} __packed;

struct rtw89_acpi_policy_tas {
u8 signature[4];
u8 revision;
Expand All @@ -74,13 +90,26 @@ struct rtw89_acpi_policy_tas {
u8 rsvd[3];
} __packed;

enum rtw89_acpi_conf_reg_rules {
RTW89_ACPI_CONF_REG_RULE_REGD_UK = BIT(0),
};

struct rtw89_acpi_policy_reg_rules {
u8 signature[4];
u8 revision;
u8 conf;
u8 rsvd[3];
} __packed;

struct rtw89_acpi_dsm_result {
union {
u8 value;
/* caller needs to free it after using */
struct rtw89_acpi_policy_6ghz *policy_6ghz;
struct rtw89_acpi_policy_6ghz_sp *policy_6ghz_sp;
struct rtw89_acpi_policy_6ghz_vlp *policy_6ghz_vlp;
struct rtw89_acpi_policy_tas *policy_tas;
struct rtw89_acpi_policy_reg_rules *policy_reg_rules;
} u;
};

Expand Down
Loading
Loading