Commit Graph

1402777 Commits

Author SHA1 Message Date
Ping-Ke Shih
aa2a44d0d2 wifi: rtw89: mac: correct page number for CSI response
For beamforming procedure, hardware reserve memory page for CSI response.
The unit of register is (value - 1), so add one accordingly as expected.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-7-pkshih@realtek.com
2026-01-15 09:18:51 +08:00
Ping-Ke Shih
91fb400701 wifi: rtw89: align CUSTID defined by firmware
Firmware does customized features by CUSTID, so align the ID definition
to have expected features enabled.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-6-pkshih@realtek.com
2026-01-15 09:17:19 +08:00
Ping-Ke Shih
7fd36ffede wifi: rtw89: disable EHT protocol by chip capabilities
For certain chip models, EHT protocol is disabled, and driver must follow
the capabilities. Otherwise, chips become unusable.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-5-pkshih@realtek.com
2026-01-15 09:15:50 +08:00
Kuan-Chung Chen
432b26382d wifi: rtw89: support EHT GI/LTF setting
Add support for fixed EHT GI/LTF via nl80211.

The command example:
  iw wlan0 set bitrates eht-gi-6 0.8 eht-ltf-6 2

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-4-pkshih@realtek.com
2026-01-15 09:15:37 +08:00
Chin-Yen Lee
2fd8f953f2 wifi: rtw89: wow: add reason codes for disassociation in WoWLAN mode
Some APs disconnect clients by sending a Disassociation frame
rather than a Deauthentication frame. Since these frames use
different reason codes in WoWLAN mode, this commit adds support
for handling Disassociation to prevent missed disconnection events.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-3-pkshih@realtek.com
2026-01-15 09:15:19 +08:00
Ping-Ke Shih
957eda596c wifi: rtw89: pci: validate sequence number of TX release report
Hardware rarely reports abnormal sequence number in TX release report,
which will access out-of-bounds of wd_ring->pages array, causing NULL
pointer dereference.

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  PGD 0 P4D 0
  Oops: 0000 [#1] PREEMPT SMP NOPTI
  CPU: 1 PID: 1085 Comm: irq/129-rtw89_p Tainted: G S   U
             6.1.145-17510-g2f3369c91536 #1 (HASH:69e8 1)
  Call Trace:
   <IRQ>
   rtw89_pci_release_tx+0x18f/0x300 [rtw89_pci (HASH:4c83 2)]
   rtw89_pci_napi_poll+0xc2/0x190 [rtw89_pci (HASH:4c83 2)]
   net_rx_action+0xfc/0x460 net/core/dev.c:6578 net/core/dev.c:6645 net/core/dev.c:6759
   handle_softirqs+0xbe/0x290 kernel/softirq.c:601
   ? rtw89_pci_interrupt_threadfn+0xc5/0x350 [rtw89_pci (HASH:4c83 2)]
   __local_bh_enable_ip+0xeb/0x120 kernel/softirq.c:499 kernel/softirq.c:423
   </IRQ>
   <TASK>
   rtw89_pci_interrupt_threadfn+0xf8/0x350 [rtw89_pci (HASH:4c83 2)]
   ? irq_thread+0xa7/0x340 kernel/irq/manage.c:0
   irq_thread+0x177/0x340 kernel/irq/manage.c:1205 kernel/irq/manage.c:1314
   ? thaw_kernel_threads+0xb0/0xb0 kernel/irq/manage.c:1202
   ? irq_forced_thread_fn+0x80/0x80 kernel/irq/manage.c:1220
   kthread+0xea/0x110 kernel/kthread.c:376
   ? synchronize_irq+0x1a0/0x1a0 kernel/irq/manage.c:1287
   ? kthread_associate_blkcg+0x80/0x80 kernel/kthread.c:331
   ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
   </TASK>

To prevent crash, validate rpp_info.seq before using.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-2-pkshih@realtek.com
2026-01-15 09:13:37 +08:00
Zenm Chen
292c0bc8ac wifi: rtw89: Add support for D-Link VR Air Bridge (DWA-F18)
Add the ID 2001:3323 to the table to support an additional RTL8832AU
adapter: D-Link VR Air Bridge (DWA-F18).

Compile tested only.

Link: https://github.com/morrownr/rtw89/pull/44
Signed-off-by: Zenm Chen <zenmchen@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260112004759.6028-1-zenmchen@gmail.com
2026-01-13 10:51:21 +08:00
Zenm Chen
3116f287b8 wifi: rtw89: Add support for MSI AX1800 Nano (GUAX18N)
Add the ID 0db0:f0c8 to the table to support an additional RTL8832BU
adapter: MSI AX1800 Nano (GUAX18N).

Compile tested only.

Link: https://github.com/morrownr/rtl8852bu-20250826/pull/2
Signed-off-by: Zenm Chen <zenmchen@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260112004358.5516-1-zenmchen@gmail.com
2026-01-13 10:47:07 +08:00
Ping-Ke Shih
40714b8a21 wifi: rtw89: mac: set EDCCA configurations for RTL8922D
Update EDCCA settings of MAC part for RTL8922D to consider EDCCA state
signaled by BB circuit.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-14-pkshih@realtek.com
2026-01-13 10:34:47 +08:00
Ping-Ke Shih
6996a4c97a wifi: rtw89: mac: add an entry to enable MAC function in preinit
The preinit is to initialize partial MAC hardware needed before
downloading firmware, and then does post-init after firmware runs.

For RTL8922D, initialize some DMAC and CMAC at this step.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-13-pkshih@realtek.com
2026-01-13 10:33:36 +08:00
Ping-Ke Shih
c16673247b wifi: rtw89: mac: separate functions of CMAC power and function enable
To enable/disable CMAC function somewhere, separate controls of CMAC power
and function into individual functions. Also correct the hardware settings
by the way.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-12-pkshih@realtek.com
2026-01-13 10:31:58 +08:00
Ping-Ke Shih
baf3863146 wifi: rtw89: mac: configure DMA_STOP1 by predefined mask
For coming chip 8922DE, the DMA channel set is different from existing one,
so use predefined mask to handle the difference.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-11-pkshih@realtek.com
2026-01-13 10:30:26 +08:00
Ping-Ke Shih
7ded59e69a wifi: rtw89: mac: define preload_init for generations
The preload_init is to define preload size from memory to transmitting
buffer. The different generations should call its callback respectively
but suddenly it is missed. However, the register definitions of WiFi 6/7
are the same, things are well. For the coming RTL8922D, settings are
different, so abstract it.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-10-pkshih@realtek.com
2026-01-13 10:29:15 +08:00
Ping-Ke Shih
a69c2c9a58 wifi: rtw89: mac: update WP quota for RTL8922D
WP (WiFi payload) quota is to point to payload being transmitting in
memory. Assign quota to indicate WP page full.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-9-pkshih@realtek.com
2026-01-13 10:27:40 +08:00
Ping-Ke Shih
9cf039ee49 wifi: rtw89: mac: update MPDU quota according to chip DLE definition
MPDU quota is to define number of memory used to handle packets in DLE
(Data Link Engine). All chips use the same value before, but the RTL8922D
need to use chip specific value.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-8-pkshih@realtek.com
2026-01-13 10:25:56 +08:00
Ping-Ke Shih
70cd273aae wifi: rtw89: mac: set quota 13 for PLE SNRPT
The RTL8922D has additional quota 13 of SNRPT for PLE (payload engine).
Set value to the quota according to predefined tables.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-7-pkshih@realtek.com
2026-01-13 10:24:19 +08:00
Ping-Ke Shih
5afb451bb5 wifi: rtw89: mac: add dle_mem and ple_{min,max}_qt quota for RTL8922D
The quota of DLE and PLE depends on hardware design and consideration of
performance and application. Define them accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-6-pkshih@realtek.com
2026-01-13 10:22:43 +08:00
Ping-Ke Shih
9d6a2a636c wifi: rtw89: mac: remove unnecessary return from rtw89_fwdl_secure_idmem_share_mode()
The return type of rtw89_fwdl_secure_idmem_share_mode() is void, so no need
a return.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-5-pkshih@realtek.com
2026-01-13 10:21:30 +08:00
Chia-Yuan Li
286bb07889 wifi: rtw89: coex: update coex software control for RTL8922D
Update software control API due to 8922D PTA hardware changes.

Signed-off-by: Chia-Yuan Li <leo.li@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-4-pkshih@realtek.com
2026-01-13 10:20:03 +08:00
Ping-Ke Shih
ed2feda12f wifi: rtw89: coex: update scoreboard value according to power state for two BT
Assign timeslot to WiFi if power state is on. Since firmware isn't working
at this moment, write scoreboard register to notify BT. Extend the code to
support two BT for coming chips.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-3-pkshih@realtek.com
2026-01-13 10:19:48 +08:00
Ping-Ke Shih
95052ab2d7 wifi: rtw89: coex: make coex scoreboard as chip info
The coex scoreboard is to exchange WiFi and BT profiles, and the coming
chip 8922D changes the design including extend to two scoreboards and
individual register for cfg/get. Follow the changes to abstract current
code, but not change logic for existing chips at all.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260108120320.2217402-2-pkshih@realtek.com
2026-01-13 10:18:00 +08:00
Ping-Ke Shih
5fbc19b0f6 wifi: rtw89: fw: set RACK bit every 4 H2C command for WiFi 6 chips only
RACK is to ask firmware send received ACK to driver when a H2C command
is received. This is necessary for WiFi 6 chips only.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-11-pkshih@realtek.com
2026-01-09 13:50:21 +08:00
Ping-Ke Shih
483539d891 wifi: rtw89: fw: consider hardware AID for firmware elements
The coming chip RTL8922D has variant of hardware with different AID. Add
AID field to header of firmware elements, and compare AID with the value
read from hardware.

Currently, apply this rule to BB and RF parameters.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-10-pkshih@realtek.com
2026-01-09 13:49:09 +08:00
Ping-Ke Shih
1ddebb8f6e wifi: rtw89: fw: add CMAC H2C command for punctured for RTL8922D
CMAC H2C command is to configure CMAC such as TX retry and padding. Add to
update CMAC function block while puncturing is changing.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-9-pkshih@realtek.com
2026-01-09 13:47:56 +08:00
Ping-Ke Shih
eccf7b1078 wifi: rtw89: fw: add CMAC H2C command for TX time for RTL8922D
CMAC H2C command is to configure CMAC such as TX retry and padding. Add to
update CMAC function block when BT-coex want shorter TX time due to
timeslot assignment, or when MCC want higher retry time to improve
connection rate.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-8-pkshih@realtek.com
2026-01-09 13:46:45 +08:00
Ping-Ke Shih
dfe3dea6b9 wifi: rtw89: fw: add CMAC H2C command for TX AMPDU for RTL8922D
CMAC H2C command is to configure CMAC such as TX retry and padding. Add to
update CMAC function block while AMPDU is established.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-7-pkshih@realtek.com
2026-01-09 13:45:32 +08:00
Ping-Ke Shih
96f5ceb448 wifi: rtw89: fw: add CMAC H2C command for association for RTL8922D
CMAC H2C command is to configure CMAC such as TX retry and padding. Add to
update CMAC function block according to associated peer.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-6-pkshih@realtek.com
2026-01-09 13:44:19 +08:00
Ping-Ke Shih
c73607b3a8 wifi: rtw89: fw: add CMAC H2C command to initialize default value for RTL8922D
CMAC H2C command is to configure CMAC such as TX retry and padding. Add to
reset CMAC function block to default value.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-5-pkshih@realtek.com
2026-01-09 13:43:05 +08:00
Ping-Ke Shih
49218572f3 wifi: rtw89: fw: add DMAC v3 H2C command for RTL8922D
Write association data including address and security key of peer to
hardware. Add the command for RTL8922D accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-4-pkshih@realtek.com
2026-01-09 13:41:52 +08:00
Ping-Ke Shih
2b4a2fc32a wifi: rtw89: update query RXDESC v3 for RTL8922D
Add RXDESC v3 to parse meta data of receiving packets for RTL8922D.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-3-pkshih@realtek.com
2026-01-09 13:40:16 +08:00
Ping-Ke Shih
2adaa4b36b wifi: rtw89: update TXWD v3 for RTL8922D
Add TXWD v3 to assist in transmitting for RTL8922D according to hardware
design.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260106030911.15528-2-pkshih@realtek.com
2026-01-09 13:38:46 +08:00
Dian-Syuan Yang
baef3d5d96 wifi: rtw89: 8852b: refine hardware parameters for RFE type 5
The RFE type 5 should set different DSWR parameters when card power on.
Therefore, add the corresponding register settings for this type.

Signed-off-by: Dian-Syuan Yang <dian_syuan0116@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-12-pkshih@realtek.com
2026-01-07 15:53:16 +08:00
Kuan-Chung Chen
eb57be32f4 wifi: rtw89: fix potential zero beacon interval in beacon tracking
During fuzz testing, it was discovered that bss_conf->beacon_int
might be zero, which could result in a division by zero error in
subsequent calculations. Set a default value of 100 TU if the
interval is zero to ensure stability.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-11-pkshih@realtek.com
2026-01-07 15:53:03 +08:00
Chih-Kang Chang
cd7ce83ff6 wifi: rtw89: rfk: update rtw89_fw_h2c_rf_pre_ntfy_mcc format
The H2C command rtw89_fw_h2c_rf_pre_ntfy_mcc have different format.
8922A after FW 0.35.49.0 use v0, after FW 0.35.84.0 use v1. The coming
8922D will use v2.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-10-pkshih@realtek.com
2026-01-07 15:51:26 +08:00
Zong-Zhe Yang
6a6b0aac28 wifi: rtw89: fw: change WITH_RFK_PRE_NOTIFY to be a FW feature group
Actually, WITH_RFK_PRE_NOTIFY means supporting one of RFK_PRE_NOTIFY_Vx.
So, change it to be a FW feature group which contains RFK_PRE_NOTIFY_Vx.
Then, because WITH_RFK_PRE_NOTIFY is abandoned after some FW versions by
chip, disable WITH_RFK_PRE_NOTIFY correspondingly in FW feature table.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-9-pkshih@realtek.com
2026-01-07 15:49:51 +08:00
Zong-Zhe Yang
449a579119 wifi: rtw89: refine mis-ordered entries in FW feature table
Make all entries in firmware feature table in increasing order of firmware
version.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-8-pkshih@realtek.com
2026-01-07 15:49:36 +08:00
Zong-Zhe Yang
29009d98d9 wifi: rtw89: 8922a: tweak RFK_PRE_NOTIFY FW feature configuration to align handling
In the FW feature table, V0 and V1 was configured by lt, less than. So, V1
flag was also set in the range of V0. However, in RFK_PRE_NOTIFY handling,
rtw89_fw_h2c_rf_pre_ntfy, V1 is tested before V0. Things would process as
V1 even if V0 should be used.

Tweak FW feature configuration by ge, greater or equal, to align handling.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-7-pkshih@realtek.com
2026-01-07 15:49:22 +08:00
Zong-Zhe Yang
2d986cf3cc wifi: rtw89: fw: introduce helper for disabling FW feature configuration
Some FW features (groups) may be valid only in a range of FW versions,
i.e. after some FW versions, they can no longer be used. So, introduce
some helper macros to configure this kind of things in FW feature table.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-6-pkshih@realtek.com
2026-01-07 15:47:45 +08:00
Zong-Zhe Yang
c5e5519fd9 wifi: rtw89: fw: change FW feature map to a BITMAP
Originally, FW feature map was declared as a u32. But, the number of FW
feature flags is going to be over than 32. So, change it to a BITMAP and
update the corresponding macros.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-5-pkshih@realtek.com
2026-01-07 15:46:07 +08:00
Zong-Zhe Yang
9485da4e4c wifi: rtw89: pre-handle RF calibration on link when needed
The Wi-Fi 7 RF calibration flow has a new design which mainly affect
MLO cases. Before, old RFK H2C command can just send the used channels
and MLO mode even if there are multiple active links. After, each RFK
H2C command should send one channel corresponding to one active link.

For example, connect MLD AP (channel X) and then activate second link
(channel X + channel Y)

Before:
	RFK#1: channel X (path A + path B)
	RFK#2: channel X (path A) + channel Y (path B)

After:
	RFK#1: channel X (path A + path B)
		[set MLO mode to focus on 2nd link/channel]
	RFK#2: channel Y (path A + path B)
		[set MLO mode back to target case]

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-4-pkshih@realtek.com
2026-01-07 15:44:32 +08:00
Chih-Kang Chang
ed15dddd75 wifi: rtw89: rfk: add rtw89_fw_h2c_rf_pre_ntfy_mcc for new WiFi 7 firmware
The pre-notify is to notify firmware the configured channels, and then
RF calibration in firmware can use these values to calibrate RF properly.

Since we need more information, change and add the new H2C command format.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-3-pkshih@realtek.com
2026-01-07 15:42:54 +08:00
Ping-Ke Shih
8c0ac5791e wifi: rtw89: rfk: update RFK pre info V2 for RTL8922D
The H2C command of RFK pre info is to tell current operating channels to
firmware, so RF calibrations can rely on these information as arguments
to configure hardware.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251231090647.56407-2-pkshih@realtek.com
2026-01-07 15:41:17 +08:00
Dian-Syuan Yang
6a0b7392a6 wifi: rtw89: enhance connection stability when triggering beacon loss
If the driver supports ack status reports of TX frames, mac80211 allows it
to detect AP if it's alive and determine whether the client can maintain
the connection by sending null-data. Therefore, refine the flow to let
driver inform mac80211 to enable beacon loss work to track AP's status
upon receiving beacon loss event.

Signed-off-by: Dian-Syuan Yang <dian_syuan0116@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-13-pkshih@realtek.com
2025-12-31 16:27:04 +08:00
Zong-Zhe Yang
8c96752d99 wifi: rtw89: regd: 6 GHz power type marks default when inactive
When inactive, 6 GHz power type has been assigned to the default one,
but missed to mark the local control variable, dflt, true. Then, this
might let some 6 GHz power info of disconnected APs keep being taken
into account under certain cases.

So, mark default when inactive.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-12-pkshih@realtek.com
2025-12-31 16:26:55 +08:00
Chih-Kang Chang
9587ffbbd9 wifi: rtw89: 8922a: configure FW version for SCAN_OFFLOAD_EXTRA_OP feature
8922a supports SCAN_OFFLOAD_EXTRA_OP feature. Enable it, FW can do
back-op and TX NULL frames on the second connection.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-11-pkshih@realtek.com
2025-12-31 16:26:40 +08:00
Chih-Kang Chang
fe17b1852f wifi: rtw89: refine TX nulldata judgement when scan with 2 OP channels
When scan with 2 OP channels, for the case like
not-connect(macid 0) + GO(macid 1) or not-connect(macid 0) + GC(macid 1),
the macid 0 doesn't offload NULL data packet to FW. Therefore, refine the
NULL data judgement to let interfaces that only connected and non-AP mode
need to TX nulldata.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-10-pkshih@realtek.com
2025-12-31 16:25:22 +08:00
Ping-Ke Shih
8cb147e237 wifi: rtw89: add default quirks as features to chip_info
The coming chip will support thermal protection by default, so add default
quirks to chip_info.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-9-pkshih@realtek.com
2025-12-31 16:23:36 +08:00
Ping-Ke Shih
d57ec29478 wifi: rtw89: read chip ID for RTL8922D variants
The coming RTL8922D has many kinds of hardware variants. Read chips ID
ahead, so we can configure proper hardware settings accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-8-pkshih@realtek.com
2025-12-31 16:21:57 +08:00
Ping-Ke Shih
9e389ad5d1 wifi: rtw89: efuse: read hardware version from efuse for WiFi 7 chips
Hardware version from efuse prioritizes to the version from register.
For WiFi 7 chips, this becomes required, so implement this in common flow.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-7-pkshih@realtek.com
2025-12-31 16:20:38 +08:00
Kuan-Chung Chen
040af1ac80 wifi: rtw89: define TX/RX aggregation and MPDU capability per chip
Since TX/RX aggregation is different from chip to chip, define individual
number according to hardware ability. Also the coming chip RTL8922DE
can get expected performance.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251229030926.27004-6-pkshih@realtek.com
2025-12-31 16:18:55 +08:00