Ilan Peer
b5d6175c11
wifi: iwlwifi: mld: Replace static declarations of IWL_MLD_ALLOC_FN
...
Replace static declarations of IWL_MLD_ALLOC_FN with a new macro
IWL_MLD_ALLOC_FN_STATIC that declares the static.
This is needed to resolve issues with spatch, which fails to handle
functions after "static IWL_MLD_ALLOC_FN".
Signed-off-by: Ilan Peer <ilan.peer@intel.com >
Link: https://patch.msgid.link/20260513084215.861e4554157d.Id07d4037c75f3ebc8a57ac95b14286369fb3467b@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:12 +03:00
Miri Korenblit
90cec2c954
wifi: iwlwifi: define MODULE_FIRMWARE with the correct API
...
A firmware API of a mix and match (MAC + RF) is the lower one of the
two. But the MODULE_FIRMWARE of QU/QUZ/SO/MA/TY with GF/HR, was defined
using the max API of GF/HR, which is 100, instead of the max API of
QU/QUZ/SO/MA/TY, which are API 77/89.
Therefore, the wrong firmware files were published in the modinfo,
leading to missing firmware files.
Fix this by using the right API when declaring MODULE_FIRMWARE.
While at it, add a IWL_FW_AND_PNVM entry for SO and GF4, that was
missing.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260513084215.c8dcacbeb616.I3d51a9daeda6fb7f52b3014101db79fdc98295d5@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:12 +03:00
Miri Korenblit
f3157a5c04
wifi: iwlwifi: bump core version for BZ/SC/DR to 104
...
Start supporting Core 104 FW on these devices.
Link: https://patch.msgid.link/20260513084215.9d584ef19b3c.I2b5b08ff63f8fafda6bc888b597615ad7d34f537@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:12 +03:00
Avinash Bhatt
f9a6f64cf6
wifi: iwlwifi: mld: update link grading tables per bandwidth
...
Replace single RSSI-to-grade table with separate tables for each
operational bandwidth. Grade selection now depends on both RSSI and
the link's operational bandwidth.
Improve puncturing penalty calculation to apply proportional reduction
based on unusable spectrum percentage rather than absolute channel count.
Update existing KUnit tests with RSSI values for new grading tables.
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Tested-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com >
Link: https://patch.msgid.link/20260513084215.9f848b0da851.Id239216fda62e25d343495696cc60742e57d56ea@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:12 +03:00
Avinash Bhatt
2773c46c6a
wifi: iwlwifi: mld: implement PSD/EIRP RSSI adjustment
...
APs operating in PSD mode increase transmit power with bandwidth,
requiring RSSI compensation for accurate link grading.
Parse TPE elements to determine power mode and apply RSSI adjustment
based on operational bandwidth and power constraints.
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260513084215.ff1c5ba7491f.I2403678e34625809a7edf02f18760eda16a2c906@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:12 +03:00
Johannes Berg
0b7ae44f66
wifi: iwlwifi: mld: give link STA debugfs files a namespace
...
The generated data structures and function names used are
just the debugfs filename, which is a shared namespace and
could lead to confusion. Prefix these with "link_sta_" to
disambiguate.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260513084215.4421f114bb33.I0de78b6b184935bc2a3d77fa649888da31b5a0fb@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Johannes Berg
f5d199b14c
wifi: iwlwifi: mld: implement UHR DPS
...
For UHR, implement dynamic power save (DPS). Since the firmware
handles most of it, simply advertise DPS capability and set the
corresponding link flag when the AP has advertised that it is a
DPS assisting AP.
DPS assisting is currently not supported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260513084215.69c5657f2b0c.I0e0dfcd2e2641a5656a14f01ce696443ae10bc4a@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Johannes Berg
7f7a450ed8
wifi: iwlwifi: mld: support NPCA capability for UHR devices
...
UHR devices have NPCA capability, so implement the necessary
configuration and set the capability bit.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260513084215.8c88bf84af91.If59ceaa49c2431e08941bcba3b2e75bb93aaad63@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avraham Stern
ba3b38d38a
wifi: iwlwifi: mld: add handler for NAN ULW attribute notification
...
When a notification about a new ULW attribute arrives, send it to
user space so the ULW attribute can be added to the relevant frames
(e.g. SDF).
Signed-off-by: Avraham Stern <avraham.stern@intel.com >
Link: https://patch.msgid.link/20260513084215.76d980e195a7.Ide4aaf4553a3980e6990485cd37204a922c36913@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Emmanuel Grumbach
54d48636df
wifi: iwlwifi: smem_offset smem_len are not needed from 22000 and up
...
This was used for the old (pre-ini) debug mechanism which is now
obsolete.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260513084215.18095aac398a.I0bdc5120b9b4226692dcffb1c5971f617d99e632@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Emmanuel Grumbach
ca6806f199
wifi: iwlwifi: max_event_log_size is needed for iwldvm only
...
This is used to set init_evtlog_size and inst_evtlog_size in case those
are not advertised by the firmware's TLVs.
Those two fields are used only in iwldvm.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260513084215.a83033e43988.I8a55f8ff0e7bc5f42a49b15facd8558708b7d880@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Emmanuel Grumbach
bbdc473327
wifi: iwlwifi: shadow_ram_support is needed for iwldvm only.
...
Keep that setting only for devices that use iwldvm.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260513084215.365f3984c554.I29138e178dea6fc371a3907013bb3825c4e82475@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Emmanuel Grumbach
dfc22f0dea
wifi: iwlwifi: led_compensation is needed for iwldvm only
...
Keep that setting only for devices that use iwldvm.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260513084215.a618af54e3ad.I635c3f49c317960dc8751ddeb5a4a3114d52f406@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avinash Bhatt
ace3199321
wifi: iwlwifi: mld: Add KUnit tests for channel-load thresholds
...
Add a KUnit test suite for iwl_mld_chan_load_requires_scan,
covering level-up, level-down, and no-change transitions.
The test directly sets channel-load values, validating
scan-trigger decisions and updated load levels
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260512222731.4dd3ccaffc46.I9c1f210e5ef25248097a226f4b3a2af5fbcf3c87@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Ilan Peer
59a26553f1
wifi: iwlwifi: mld: Add support for multiple NAN Management stations
...
The following limitations arise from the current FW support for NAN:
- While NAN synchronization and discovery beacons are sent
internally by the firmware, the BIGTK is configured to the
auxiliary station associated with the NAN operation. Thus,
the beacons are transmitted unprotected.
- The auxiliary station cannot be configured with support for
management frame protection as this is not supported by the
firmware. Thus, there is no way to protect the SDFs and the
NAFs.
To overcome the above limitations the firmware introduced the
following new station types:
- NAN broadcast station: Used for NAN synchronization and
discovery. i.e., used for beacon transmissions. A BIGTK
can be configured to this station and thus beacons can
be transmitted with protection.
- NAN management station: Used for sending SDFs and NAFs.
This station can be configured with support for management
frame protection etc.
Modify the iwlmld logic to support the older and the newer
firmware designs. As no Tx queue is needed for the NAN
broadcast station, modify the internal station support
to allow adding/removing a station without a queue. In
addition, since no links are associated with these stations,
modify the internal station support to allow adding a station
without a link mask.
Signed-off-by: Ilan Peer <ilan.peer@intel.com >
Link: https://patch.msgid.link/20260512222731.692bf627811d.I7170dbaa28a74519c012e2d7818e2999819dc478@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avraham Stern
9ac94f8404
wifi: iwlwifi: mld: add support for nan schedule config command version 2
...
Version 2 of the NAN schedule config command adds support for deferred
schedule update and passing the availability attribute blob to
firmware.
Add support for the new command version. Currently the new
functionality is not supported.
Signed-off-by: Avraham Stern <avraham.stern@intel.com >
Link: https://patch.msgid.link/20260512222731.422e4bc47f84.I04b7dec6f3e48cfd950e7ff6f13484d0881d832e@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avinash Bhatt
050b99cb04
wifi: iwlwifi: mld: add duplicated beacon RSSI adjustment
...
For 6 GHz duplicated beacons, the RSSI is measured only on the 20 MHz
primary channel while the actual beacon energy spans the full
operational bandwidth. This leads to underestimated link quality.
Detect duplicated beacons and apply bandwidth-based RSSI adjustments.
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260512222731.a4c873e63054.Iea8e8a5f3b384622308dd8d03c5881ff75f1908c@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Emmanuel Grumbach
300073ea3d
wifi: iwlwifi: implement the new RSC notification
...
Add support for a new RSC notification that arrives on DATA queues.
The same RSC handling previously done in the WOWLAN flow is now done
through this notification, with backward compatibility maintained.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260512222731.2c0cd8b43e67.I7cfee4b57e7f84b0d38667290f45ed5be4cdd270@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avinash Bhatt
5bea479c9c
wifi: iwlwifi: mld: add chan-load hysteresis for MLO scan triggers
...
Introduce a three-level, table-driven hysteresis mechanism for
deciding when to trigger internal MLO scans based on MCLM Chan
Load. Prevents repeated triggers under fluctuating load conditions.
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260512222731.2db48151d32d.I8660f0660a95358bda067af806d28bc2fa6f7f76@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Daniel Gabay
ee61fa6d6c
wifi: iwlwifi: mld: validate aux sta before flush in stop_nan
...
iwl_mld_stop_nan() calls iwl_mld_flush_link_sta_txqs() without checking
that aux_sta.sta_id is valid. The DW end handler correctly guards this
with a WARN_ON check. Add the same defensive check to stop_nan for
consistency and to avoid sending a flush command with an invalid sta_id.
Signed-off-by: Daniel Gabay <daniel.gabay@intel.com >
Reviewed-by: Ilan Peer <ilan.peer@intel.com >
Link: https://patch.msgid.link/20260512222731.76b3db062a5e.I0567cfeb915c38c517eb6e1829d78c9fa8653c1f@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Daniel Gabay
dbaece4ef7
wifi: iwlwifi: mld: add NULL check for channel in DW end handler
...
ieee80211_get_channel() can return NULL if the frequency is not
registered in the wiphy (e.g. due to regulatory domain restrictions).
The returned channel pointer is passed directly to
cfg80211_next_nan_dw_notif() which dereferences it unconditionally
in both the tracepoint and the netlink message, causing a NULL
pointer dereference.
Add a NULL check before using the channel pointer.
Signed-off-by: Daniel Gabay <daniel.gabay@intel.com >
Reviewed-by: Ilan Peer <ilan.peer@intel.com >
Link: https://patch.msgid.link/20260512222731.a250203cd1c6.I1d807aab415da30a55dd89a974c3226adc547ebb@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Daniel Gabay
ab29379db7
wifi: iwlwifi: mld: fix NAN DW end notification handler
...
Use IWL_DEBUG_INFO instead of IWL_INFO for logging the DW end
notification, as this is a recurring event during NAN operation
and should not spam the kernel log.
Also fix a coding style issue - missing space after 'if'.
Signed-off-by: Daniel Gabay <daniel.gabay@intel.com >
Link: https://patch.msgid.link/20260512222731.0fd880fb80f9.Iacd459d0e2df28444bb6ccf8730e2f50440e6e32@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avinash Bhatt
fc58bb9ece
wifi: iwlwifi: Transition to basic uAPSD with MAC_PM_POWER_TABLE API VER_3
...
uAPSD is transitioning to a certification-only feature. The new
firmware API version 3 removes advanced uAPSD fields, keeping only
basic parameters needed for certification testing.
Support the new VER_3 API in the MLD driver while maintaining
backward compatibility with VER_1/2. The MVM driver continues
using VER_2 only. Remove the obsolete PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION
notification from the MLD driver
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260512222731.96b6f53c8708.I4f01b97b25d91ebb1561845d7925103e274574fa@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Avraham Stern
c35c444343
wifi: iwlwifi: mld: call iwl_mld_free_ap_early_key() for AP only
...
The driver supports intalling IGTK on a NAN device interface. When
the IGTK is removed, iwl_mld_free_ap_early_key() is called which
results in a warning since no links are attached to this interface.
The iwl_mld_free_ap_early_key() function should be called for AP or
IBSS interfaces only. Check the interface type before calling it.
Signed-off-by: Avraham Stern <avraham.stern@intel.com >
Link: https://patch.msgid.link/20260512222731.d67d658b421d.Ife2d1f3b17119ce696582ce6a2a69026d368d8af@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Johannes Berg
82aaa2d865
wifi: iwlwifi: set state to NO_FW on reset
...
On debugfs reset, set the transport FW state to NO_FW
so that the restart won't attempt to send commands,
which of course fails because the FW was killed during
the error dump.
Use iwl_trans_fw_error() now since that's effectively
the same as the old code plus setting the state.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512222731.cdebf264f5e1.Ia31783c74df0d4b66816a1b34d3771b9a717048b@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Johannes Berg
bc863c23d8
wifi: iwlwifi: define new FSEQ TLV with MAC ID
...
Some firmware files can be used for different MACs, for example
for sc2/sc2f, yet might have different FSEQ versions. The files
will then contain multiple bigger FSEQ TLVs indicating the MAC
ID in addition to the version.
For now, since we don't parse this, define only the new format.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512222731.f31ffbff36b0.I227e5c94d4da79a32058d71539b190384caba03e@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Johannes Berg
764a3a1b42
wifi: iwlwifi: tighten flags in debugfs command sending
...
The only flags that could reasonably be used here are
CMD_WANT_SKB and CMD_ASYNC, CMD_SEND_IN_RFKILL doesn't
really make sense and CMD_BLOCK_TXQS just triggers a
warning, as does CMD_WANT_SKB | CMD_ASYNC.
Clear CMD_WANT_SKB since the response SKB isn't used
anyway, and refuse flags other than CMD_ASYNC to avoid
the warnings or other issues.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512222731.71b8cda9c4e8.I0cccfd67675989b48d003833f5813c8fbded45a6@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:11 +03:00
Aaron Katzin
e2323929a6
wifi: iwlwifi: pcie: add debug print for resume flow if powered off
...
Log when the resume flow identifies based on the
scratch register that the device was powered off.
Signed-off-by: Aaron Katzin <aaron.katzin@intel.com >
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260512222731.42623e43fde7.Ibcd656ca845828ce6f2358f9ef80e1ddf03f8f59@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
b4049b093a
wifi: iwlwifi: mld: stop supporting rate_n_flags version 2
...
Now as the oldest fw we support is core 101, and it supports only
version 3, remove version 2.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.39e460bc8235.I4cd02612a68a3f183d51f428569448670bd19d9b@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
288c5106f3
wifi: iwlwifi: mld: stop supporting TLC_MNG_UPDATE_NTFY_API_S_VER_3
...
The oldest core iwlmld support is 101, which has version 4. Remove
version 3
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.36dac3f3589c.I8aee18f323c5f3bbcc02dfc2e0c08be6b8943986@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
e11f9d9795
wifi: iwlwifi: mld: stop supporting MAC_PM_POWER_TABLE version 1
...
The oldest core that iwmld loads is now 101, which supports version 2,
so remove version 1.
This allows to remove the smps workaround.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.e42cff396ea8.I9175bf4aaba0c846fbea54c9bede4d18ad1c252b@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
27f4469f78
wifi: iwlwifi: mld: stop supporting iwl_compressed_ba_notif version 5 and 6
...
The oldest core that devices that load iwlmld op mode are supporting is core 101.
Core 101 has version 7 of iwl_compressed_ba_notif, so earlier versions
are no longer needed.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.59e41f7e1e43.I13572fed4393935c31fbe5c565be9f385bc0da30@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
982b8a36c0
wifi: iwlwifi: stop supporting cores 97 to 100
...
Remove support from cores 97 to 100, including.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.3dc9251c69ef.Icc027dc533f06ac007abfa0356774948ffdfaf3d@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
9a007d2d9f
wifi: iwlwifi: mark that we support iwl_rx_mpdu_desc version 7 and 8
...
Mark the driver struct as matching RX_MPDU_RES_START_API_S_VER_7 and
RX_MPDU_RES_START_API_S_VER_8
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.3604e2111b27.I1f44475b56e084ee4aaeaed11b8a4fe2d27bed0c@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
613880b1e3
wifi: iwlwifi: support a TLV indicating num of mgmt mcast keys
...
FW has a limitation of how many multicast management keys it supports.
Until today we just assumed this limitation. But now as it is changing,
due to NAN, we need a clear indication from the FW so we know how many
we can install.
Read and store this indication from the FW's TLV.
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.f171962abd2e.Ic678616c7d574de257e5923d56258043a5261674@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
3aaafd34c6
wifi: iwlwifi: print FSEQ sha1 in addition to version
...
The version isn't all that useful, however the sha1 will
identify the exact source. Print that as well.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.7239e0b90611.I2a833b0354c5512189e74d3a296c55546444a360@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Emmanuel Grumbach
fd2484732d
wifi: iwlwifi: remove nvm_ver for devices that don't need it
...
This was needed only to check the NVM for devices that had a specific
firmware image to run the initial calibrations.
Remove this field from newer devices that no longer have a specific
image for those.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Reviewed-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.261b04a1b8f2.I5834a3efd0ae7e601a02cc0582287ced405a0aef@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
857fab1bbe
wifi: iwlwifi: advertise UHR capabilities for such devices
...
Advertise UHR capabilities for devices supporting UHR
(i.e. devices with some, but not all, PE RFs.)
For correct support it's also needed to plumb through
the regulatory flags the firmware might have/enforce.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.ef9ebeb41889.I85b67f4973752bcf62416dabb943b9ddf1e63f16@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Emmanuel Grumbach
41572ee074
wifi: iwlwifi: mld: support the new statistics APIs
...
This new API adds information about Coexistence.
It changes the layout of the notification, adapt the code accordingly.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260512082114.04ccf0f3f2c6.Iaff5ac57a53fe62ea7c1313bc57a81b23b1e2fdf@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Emmanuel Grumbach
2db4f7712f
wifi: iwlwifi: introduce iwl_system_statistics_notif_oper version 4
...
This new version includes Coex related statistics
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260512082114.705fbeeb28d1.I4804d029fa76cfb8267f8c6bcac1ed237a8b3497@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Emmanuel Grumbach
de04c81d48
wifi: iwlwifi: rename iwl_system_statistics_notif_oper
...
rename iwl_system_statistics_notif_oper to
iwl_system_statistics_notif_oper_v3 since v4 is on the way.
Same for iwl_stats_ntfy_per_phy, since v2 is on the way.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://patch.msgid.link/20260512082114.2c3b55b1cae7.Ic982845bfe08c7c9ea16c267570e3e3856de84b8@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
7b2b86fd70
wifi: iwlwifi: pcie: fix ACPI DSM check
...
The acpi_check_dsm() function expects a bitmap of function
IDs to check for, not a single value. Evidently, on many
platforms function 1 exists so checking for 2 succeeded,
but it's wrong, we need to check correctly for function 2.
Fix that.
Reported-by: Jeremy Compostella <jeremy.compostella@intel.com >
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260512082114.81c4022ae602.Id3f575944ee6b87634cfb976d7334eac227d18a6@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Avinash Bhatt
45e1a52f65
wifi: iwlwifi: fix buffer overflow when firmware reports no channels
...
On parsing NVM in setting country code, if firmware reports 0 channels,
buffer is allocated for 0 rules but a dummy rule is added for cfg80211
compatibility, causing kmemdup() to read 128 bytes from a 32-byte buffer.
Allocate regd buffer for one rule addition when reported
channels are 0.
Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com >
Link: https://patch.msgid.link/20260511203428.e03cd831bc96.I8260d881eebe3e83d3208959b525c51af26414e6@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
06bc6f66ec
wifi: iwlwifi: fw: api: add/fix some UHR sniffer definitions
...
Add some remaining definitions for the UHR sniffer API, and fix
the ELR where instead of usig_a2_uhr we'll get usig_a2_uhr_elr.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260511203428.458cd2ff6623.Ia76e0371adac431b6a5fb93004640278d8572f09@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
7acb295193
wifi: iwlwifi: fw: api: fix UHR U-SIG whitespace
...
Somehow I put tabs there where it should be spaces, fix that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260511203428.f960f56f6734.I1f925625e606fbc96e8401ac3c5667671065bbe1@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
b73bc92698
wifi: iwlwifi: api: RX: define UHR RX PHY flags
...
Define a couple of UHR PHY flags in the metadata that carry
information about 2x LDPC, UEQM and NPCA.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260511203428.cfca1a7d40cf.I32b51dc6eae98787533c64ccf2a73789409dfcb9@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
117694a963
wifi: iwlwifi: mld: don't report bad STA ID in EHT TB sniffer
...
The field being reported here is part of the EHT union, and not
valid in EHT TB. Don't report it there. We could probably report
the station ID we're following, but for now just don't, since it
appears nobody really cared.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260511203428.b23984f12a46.Ia25014392129d5815facaacec78ea8ba7f35d9a0@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
646381b378
wifi: iwlwifi: mld: track TX/RX IGTKs separately
...
Due to FW/HW limitations and the MME being at the end of the
frame, the devices only support a single IGTK for RX. For TX
multiple aren't needed, only the latest will be used, but in
the device there are space restrictions, so we can also only
install one.
For NAN, however, we will have one for RX for each peer, and
one for ourselves to transmit with.
Separate out the tracking of IGTK: instead of being per link
make the TX ones per link and the RX ones per (link) station.
Note that we currently hardcode that the FW can only have two
(IWL_MAX_NUM_IGTKS) IGTKs, which won't be sufficient for NAN
with security, concurrently with BSS.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Link: https://patch.msgid.link/20260511203428.8fa6859b185d.I584e8b9d238f0b9ef6b65f95114c255209d1c2a3@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Miri Korenblit
b0bb915f75
wifi: iwlwifi: mld: allow NAN data
...
Allow NAN_DATA interfaces when FW supports it.
Link: https://patch.msgid.link/20260511203428.c47453e9329a.I4a250a0df0ca0d184eb6ac84a4a9fcc3491e9e66@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00
Johannes Berg
bc2f28ead2
wifi: iwlwifi: mld: add TLC support for NAN stations
...
In order to support NAN, TLC now has a station bitmap. Use this
and update TLC for the NAN stations accordingly whenever links
(and thus PHYs) change, and whenever else mac80211 might update
the rate scale information.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Co-developed-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
Link: https://patch.msgid.link/20260511203428.ea4112d28331.Ie11049c12a4765a97f3e6dfd1ea4afb265c93817@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com >
2026-05-26 15:17:10 +03:00