summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-05-26RDMA/core: Move ucaps into ib_uverbs_support.koJason Gunthorpe
mlx5 uses these move them into the support module from ib_uverbs.ko. Link: https://patch.msgid.link/r/5-v3-43aba1969751+1988-ib_uverbs_support_ko_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-05-26RDMA/core: Make a new module for the uverbs components needed by driversJason Gunthorpe
To maintain the split where ib_uverbs.ko should not be depended on by drivers, add a new module ib_uverbs_support.ko which contains the driver called functions that are too large or too rare to be placed in ib_uverbs_core.ko Start by moving most of rdma_core.c into this module, making some adjustments to split it from the actual uverbs FD code. This was not done originally because we lacked EXPORT_SYMBOL_NS and I had a fear that drivers would abuse this interface surface. Link: https://patch.msgid.link/r/4-v3-43aba1969751+1988-ib_uverbs_support_ko_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-05-26RDMA/core: Remove uverbs_async_event_release()Jason Gunthorpe
Instead of having an alternative fops release always use the standard uverbs_uobject_fd_release() and route the special async behavior back up through uverbs_obj_fd_type ops pointer. This removes a dependency where the technically lower level rdma_core.c is referring to a symbol from uverbs_std_types_async_fd.c. Link: https://patch.msgid.link/r/3-v3-43aba1969751+1988-ib_uverbs_support_ko_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-05-26RDMA/core: Move many of the little EXPORTs from uverbs_ioctl into ib_core_uverbsJason Gunthorpe
Not as many drivers need these functions but it does free efa from the ib_uverbs.ko dependency and follows the general design better. Link: https://patch.msgid.link/r/2-v3-43aba1969751+1988-ib_uverbs_support_ko_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-05-26RDMA/core: Do not compile ib_core_uverbs without USER_ACCESSJason Gunthorpe
Remove the entire ib_core_uverbs.c from the build if CONFIG_INFINIBAND_USER_ACCESS is not set. These functions are only used to support uverbs and are never callable even if they happen to get linked in. Provide inlines for the missing ones to return errors to further push code elimination in drivers. Link: https://patch.msgid.link/r/1-v3-43aba1969751+1988-ib_uverbs_support_ko_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-05-26powercap: intel_rapl: Fix memory leak in rapl_add_package_cpuslocked()Sumeet Pawnikar
When topology_physical_package_id()/topology_logical_die_id() returns a negative value, rapl_add_package_cpuslocked() returns ERR_PTR(-EINVAL) directly without freeing the rapl_package structure that was just allocated by kzalloc_obj(), leaking memory on every failed package addition. Use the existing err_free_package label so that the allocation is released on the error path. Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com> Link: https://patch.msgid.link/20260515182616.227707-1-sumeet4linux@gmail.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-05-26wifi: iwlwifi: mld: fix indentation in iwl_mld_fill_supp_rates()Dongyang Jin
Fix the following inconsistent indentation warnings reported by smatch: smatch warnings: drivers/net/wireless/intel/iwlwifi/mld/tlc.c:454 iwl_mld_fill_supp_rates() warn: inconsistent indenting There's an extra tab, remove it. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202605170928.yPTN7kOn-lkp@intel.com/ Signed-off-by: Dongyang Jin <jindongyang@kylinos.cn> Link: https://patch.msgid.link/20260519060259.2327712-1-jindongyang@kylinos.cn Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: transport: add memory read under NIC accessJohannes Berg
Add functions to be able to do memory read under NIC access, in order to use them later during firmware dump. These may drop and re-acquire the spinlock, but will not acquire and release the NIC access. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.7bb1ea51c347.I91420a24fb0c481c75a2600d60e1365c15c1c5a9@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: dbg: remove unused 'range_len' arg from dumpJohannes Berg
None of the functions use this, and it's not really passed the length of the specific range anyway, but rather the entire remaining size. Remove the unused argument. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.ea3502f97c2a.I4ce08f0ea7ea3bacd4928b427c0710b77259d002@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: fw: separate out old-style dump codeJohannes Berg
There are two dump paths: new "ini" style, and the old, more driver-centric, way. Separate out the code for the old way into a separate dbg-old.c file, to simplify. Fix a typo ('trasport') along the way. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.1de0f1110d5a.I4faebe15192a1f27cb4b7270fb52154f06eb2a10@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: fw: dbg: always use non-tracing PRPH accessJohannes Berg
The iwl_{read,write}_prph_no_grab() functions will trace each access, but in debug dump a lot of accesses already use the transport versions of these functions directly. Since the data (register addresses and their content) is going into the dump file, tracing isn't really needed. Use the transport functions in all places. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.bbc7623a0348.I827729916da8f264befbcb90ac6509c359ee97a3@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: fw: separate ini dump allocationJohannes Berg
Separate out the ini dump allocation to happen before the actual dumping in preparation for better device MAC access. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.01a65fd9e6de.If9b648a5565671801c15be898f2b89afdb878256@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: fw: move struct iwl_fw_ini_dump_entry to dbg.cJohannes Berg
This is only used/needed in this file, so move it to clarify that it's not part of any external API. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.72b02319e812.I5cf95f64e3c3c688871bfabbe4fd7393b63a7dc8@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: clean up location format/BW encodingJohannes Berg
This is all fairly manual, with the shifts etc., and the documentation has to call out the specific bits (which also isn't usable for our tracing data). Add an enum that directly declares the bit masks for it and then use the more modern u8_encode_bits(). Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.bc09f4f6fd29.I315f15856eb36f0490b8f5008537d3e0ffc215f2@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: Add names for Killer BE1735x and BE1730xShahar Tzarfati
The devices were supported but had no name in the driver. Add the correct names for these devices. Signed-off-by: Shahar Tzarfati <shahar.tzarfati@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.359f865f0920.Ie73648dd75f9c7d9e9a707311bd4d724d83b8763@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: move iwl_trans_activate_nic to iwl-trans.cEmmanuel Grumbach
This function reaches the transport eventually so move it to iwl-trans.c. Now we can remove the include to the pcie transport's internal header from iwl-io.c Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260517100550.0d433fb04d51.I50c48e3f4abe23236d3735236dac250588780f6a@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: move pcie content to pcie internal transportEmmanuel Grumbach
The iwl_txq, iwl_pcie_first_tb_buf and iwl_pcie_txq_entry don't need to be exported to the op_mode in iwl-trans.h. Declare those in the transport's internal header file to avoid pollution. iwl_trans_pcie_send_hcmd can also be moved to the internal header file. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260517100550.208921548b4b.I76b1ac8499275e6d231880861e3843278f278c34@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: keep healthy link on EMLSR missed beacon exitAvinash Bhatt
When EMLSR exits due to beacon loss on the current link, the driver should keep the link that is still receiving beacons. The previous code always called get_primary_link(), keeping the primary link regardless of which link is actually losing beacons. If the primary link is the one losing beacons, the driver exits EMLSR onto the degraded link and the connection is lost eventually. When both links lose beacons, keep the primary link. When only the current link loses beacons -- whether due to signal loss or a BSS parameter change -- keep the other link. Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com> Link: https://patch.msgid.link/20260517100550.b2d700f7775e.I8e9189ce6cf4388878beab14e56341becd5f427c@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: skip MLO scan trigger when AP has no QBSS Load IEAvinash Bhatt
When FW PHY statistics report high channel load (MCLM), the driver triggers an internal MLO scan to find a better link. However, link grade computation uses the QBSS Load IE from AP beacons, not MCLM data. If the AP does not broadcast a QBSS Load IE, the scan produces no benefit as the grade falls back to static band defaults regardless, and the same bad link will be selected anyway as the active link. Skip the MLO scan trigger when the AP does not advertise a QBSS Load IE. Signed-off-by: Avinash Bhatt <avinash.bhatt@intel.com> Link: https://patch.msgid.link/20260517100550.621538e20244.I7fdccb759508f32991cc06774cc7621725a58bd3@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: bump maximum core version for BZ/SC/DR to 105Miri Korenblit
Start supporting Core 105 FW on these devices. Link: https://patch.msgid.link/20260517100550.8674feeafcad.I3d3ae3a7acb976a947cd7e65a8d7fb8199d2e1ab@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: purge async notifications upon nic errorMiri Korenblit
This fixes a kernel panic in reconfig failure: 1. we have a BSS connection 2. we have a NAN connection 3. FW error occurs 4. reconfig restores the BSS connection 5. however, restoring the NAN connection fails due to a FW error. 6. erroneously, ieee80211_handle_reconfig_failure is called and marks all interfaces as not-in-driver (will be fixed in a different patch). 7. mac80211 frees the links of the BSS connection but doesn't tell the driver about that, as it thinks that this vif is not in the driver. 8. in ieee80211_stop_device, *ALL* wiphy works are getting flushed (erroneously?) 9. Therefore, async_handlers_wk is being executed, processing the statistics notification that was received after we restored the BSS connection. 10. the notification handler dereferences fw_id_to_bss_conf[id], which is now a dangling pointer, as mac80211 already freed this link in (7). 11. On the first access to one of the links fields, we panic. While this can and should be fixed by removing the call to ieee80211_handle_reconfig_failure in (6), it is also not a good idea to carry and maybe handle notifications from a dead FW. We do purge the notifications when we stop the FW, but in reconfig failure we stop the FW too late, after the notifications are processed. In addition, async_handlers_wk can always be scheduled before the reconfig work. Purge the notifications immediately when transport notifies about a nic error. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.4414228bf1d1.I1926a2b2e7827eaac22882699880ec04a3cb95f0@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: don't flush async_handlers_wk when canceling notificationsMiri Korenblit
iwl_mld_cancel_async_notifications does 2 things: it purges the list of notifications and flushes the async_handlers_wk. We call iwl_mld_cancel_async_notifications after we stopped or suspended the fw. So in that stage we don't expect any new notification coming, and if erroneously there are new notifications coming, the work will be queued again anyway, so the flush is pretty much pointless. iwl_mld_cancel_async_notifications will need to be called in a context w/o the wiphy lock held, and the only reason why this function requires the lock being held is for flushing the work. Remove the flush. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260517100550.70dddca96191.I06d3c6433ec22f81f2fb3fb2ee43881e662c5212@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: disallow puncturing in US/CA for WHPagadala Yesu Anjaneyulu
FM continues to follow the BIOS/MCC policy, while WH sets DISALLOW_PUNCTURING for US/CA and clears it for other MCC values. Update the MCC handling accordingly. Signed-off-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260515150751.df1f1fdd141f.I900c9e2e3dd722619db12ba10d0879a56a2a55f2@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: expose beacon avg signalShahar Tzarfati
Store beacon_average_energy from per-link FW statistics and expose it via station_info as rx_beacon_signal_avg in sta statistics. This fixes missing beacon average signal reporting to upper layers. Signed-off-by: Shahar Tzarfati <shahar.tzarfati@intel.com> Link: https://patch.msgid.link/20260515150751.a74a22d90890.I74d596359c5b69364fb977fdf31396eb57ca0927@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: pcie: add two LNL PCI IDsJohannes Berg
Add two PCI IDs for two WiFi-7 BE1735x Killer devices (these are CRFs) so they work when put into the LNL platform. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.d2e3c380227a.I791eef3dedc11a8b246ce3130a34018886e63d3f@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: api: clean up/fix some kernel-doc referencesJohannes Berg
Some of these structs just don't exist (any more), or other versions should be referenced, clean that up. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.1e65dc357cbf.I454805593324e51ff71ec5e6bac83aa6dace5383@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: api: remove NAN_GROUPJohannes Berg
This is no longer used by the driver nor supported by firmware, and the kernel-doc reference to enum iwl_nan_subcmd_ids is long dead. Remove it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.1427beb76b0a.I6faacff99020984b14a76d9387f3aaa6281f3552@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: add link and link station FW IDs to debugfsJohannes Berg
Add the link and link station FW IDs to debugfs to aid debug and testing, since assignments can't be known ahead of time, especially with ID randomisation turned on. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.7224fab5fe8d.Ic2fd82f5f20945aa070ac9e38882fcff2172a4d8@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: rename LINK_DEBUGFS_WRITE_FILE_OPSJohannes Berg
These are with wiphy mutex held, so rename the macro to LINK_DEBUGFS_WIPHY_WRITE_FILE_OPS indicating that. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.5bff36ea7dd0.I62b01f83b622f281257fb842d9cc00b28dc2f5e1@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: Disallow using a per-STA GTK for TxIlan Peer
When a GTK is configured for a station, it can only be used for Rx and never for Tx. In such a case, set the IWL_SEC_KEY_FLAG_NO_TX flag when the key is installed, so the FW will not use it for Tx. Specifically, this is needed for per-station GTK installed on NAN NDI stations associated with NAN Data interfaces. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.b004744087cb.I25fb83f9e3dc563d122a160da150d793155513fa@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: print UHR rate typeDaniel Gabay
Log "UHR" in rs_pretty_print_rate() instead of "Unknown". Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Link: https://patch.msgid.link/20260515150751.768874507c43.I3cffe81612cd0f2fc218ab26ae2aa3e9ba541a15@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: reduce the log level of firmware debug buffer size mismatchEmmanuel Grumbach
This is not really an error and we can safely reduce the log level to INFO. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260515150751.36a772e925aa.I0f8db3099bd07e72ee007b322c0f85102f0550f9@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: evacuate NAN channels on link switchMiri Korenblit
The FW API doesn't allow a station (of certain types, including STATION_TYPE_PEER) to not be correlated to any link. Therefore, when switching links, mac80211 first adds the new link and then removes the old one. In case we have a NAN interface that operates on 3 links and a BSS interface that operates on the 4th link, there won't be any room to perform a link switch that temporarily needs two links for the BSS interface, but the firmware only has four total. To mitigate this, try to evacuate a NAN channel in this scenario: First try to evacuate a NAN channel using the same phy as the BSS link being deactivated, since we expect NAN to follow the BSS channel configuration. If that doesn't work, try to evacuate any NAN channel. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Link: https://patch.msgid.link/20260515150751.a193c0f41b1f.I1d56c8d8d61d110422271971843b71a93f5ec354@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: implement UHR multi-link PMJohannes Berg
For multi-link power management, the driver really only needs to advertise the capability and tell the firmware that the AP has it. Implement this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260515150751.a28557532e2b.Id35c7f7c319c36daf8ef35fec28940d4db6fc253@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: add UHR DUO supportJohannes Berg
The firmware needs to know whether or not DUO (assisting) is supported by the AP, and we should claim DUO support ourselves. Implement this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20260515150751.c006eda0139a.I2b1b540c256d29b3b6af21f7eacbe1f549734e9f@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: add support for deferred nan schedule configAvraham Stern
Add support for deferred schedule update. Notify mac80211 that the schedule update is done when the firmware notifies that the schedule is applied. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Link: https://patch.msgid.link/20260515150751.a69730d26890.I2ae54cbed8b507e6398a55c19795b27d5ea03aba@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: nan: add availability attribute to schedule configAvraham Stern
Add the availability attribute to the schedule config command. The firmware needs to add this attribute to schedule update frames (e.g. when ULW changed or the local schedule changed). Signed-off-by: Avraham Stern <avraham.stern@intel.com> Link: https://patch.msgid.link/20260515150751.97809376508e.Ie7f00f97992016c6bb2f4a5c9fc201ac58eed8ce@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: set correct key mask for NANJohannes Berg
For NAN data, the supplicant may derive and install GTKs to transmit with. As multicast data encryption is supported only with firmware versions that support adding NAN multicast data station, allow GTK installation only with such FW versions. Otherwise, do not install the GTK to the device. For NAN management, there are no GTKs, but there are IGTKs and BIGTKs, which need to be installed for the NAN broadcast and NAN management stations. This is supported only with firmware versions that allow adding NAN broadcast station and NAN management station. Handle both of these cases by adjusting the station mask appropriately, returning a zero station mask for the GTK and allowing that to not be an error/warning message. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Co-developed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com> Link: https://patch.msgid.link/20260513084215.7e18e0718d22.Icbf4204a9f1190eb4102016ad5f1c5bdab49635b@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: Add support for NAN multicast dataIlan Peer
The FW added a new station type to allow NAN multicast data to be transmitted. The queue of the station is opened by the firmware when all the NAN Peer NDI stations associated with the NDI are scheduled at the same time. Add the corresponding support in iwlmld: - When a NAN data interface is added, add a NAN multicast data station and allocate a queue to it. - When a NAN data interface is removed, remove the NAN multicast station. - On the Tx path, when a multicast data frame is received on a NAN data interface, direct it to the NAN multicast data queue. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Link: https://patch.msgid.link/20260513084215.1d8e3463717d.I57deaea42bce9afee63f284a57eb8755485e7ea8@changeid Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-26wifi: iwlwifi: mld: Replace static declarations of IWL_MLD_ALLOC_FNIlan Peer
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-26wifi: iwlwifi: define MODULE_FIRMWARE with the correct APIMiri Korenblit
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-26wifi: iwlwifi: bump core version for BZ/SC/DR to 104Miri Korenblit
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-26wifi: iwlwifi: mld: update link grading tables per bandwidthAvinash Bhatt
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-26wifi: iwlwifi: mld: implement PSD/EIRP RSSI adjustmentAvinash Bhatt
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-26wifi: iwlwifi: mld: give link STA debugfs files a namespaceJohannes Berg
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-26wifi: iwlwifi: mld: implement UHR DPSJohannes Berg
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-26wifi: iwlwifi: mld: support NPCA capability for UHR devicesJohannes Berg
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-26wifi: iwlwifi: mld: add handler for NAN ULW attribute notificationAvraham Stern
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-26wifi: iwlwifi: smem_offset smem_len are not needed from 22000 and upEmmanuel Grumbach
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-26wifi: iwlwifi: max_event_log_size is needed for iwldvm onlyEmmanuel Grumbach
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>