aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel
AgeCommit message (Collapse)AuthorFilesLines
2023-04-11wifi: iwlwifi: fix duplicate entry in iwl_dev_info_tableGregory Greenman1-1/+0
There're two identical entries for ax1650 device in iwl_dev_info_table. Remove one of the duplicate entries. Fixes: 953e66a7238b ("iwlwifi: add new ax1650 killer device") Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Johannes Berg <[email protected]>
2023-04-11wifi: iwlwifi: mvm: fix the order of TIMING_MEASUREMENT notificationsGregory Greenman1-1/+1
Host commands and notifications are expected to be ordered in iwl_mvm_groups array. Fix the order of two new TIMING_MEASUREMENT notifications. Fixes: c7eca79def44 ("wifi: iwlwifi: mvm: report hardware timestamps in RX/TX status") Reported-by: Nathan Chancellor <[email protected]> Link: https://lore.kernel.org/linux-wireless/[email protected]/ Signed-off-by: Gregory Greenman <[email protected]> Tested-by: Nathan Chancellor <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Johannes Berg <[email protected]>
2023-03-31Merge back Intel thermal driver changes for 6.4-rc1.Rafael J. Wysocki1-2/+2
2023-03-31wifi: ipw2x00: remove unused _ipw_read16 functionTom Rix1-13/+0
clang with W=1 reports drivers/net/wireless/intel/ipw2x00/ipw2200.c:381:19: error: unused function '_ipw_read16' [-Werror,-Wunused-function] static inline u16 _ipw_read16(struct ipw_priv *ipw, unsigned long ofs) ^ This function and its wrapping marco are not used, so remove them. Signed-off-by: Tom Rix <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-03-31Merge wireless/main into wireless-next/mainJohannes Berg4-39/+52
There are a few merge conflicts due to overlapping fixes and changes, merge wireless/main to fix them. Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: correctly use link in iwl_mvm_sta_del()Johannes Berg3-7/+15
This function can be invoked for both MLO and non-MLO, so it must deal with multi-link correctly. Notable, on auth timeout, we'd otherwise get a warning due to the erroneous deflink usage in MLO cases. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.b85f6052d51a.Iedfef4b4c4f3ca557aebc0093fdc3f5cfb49b507@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: separate AP link management queuesJohannes Berg4-6/+21
The link management queues associated with the broadcast stations were forgotten and so the same queue was used with both broadcast stations. This leads to lost frames and warnings on cleanup and HW restart. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.0671fa976832.Id5aa9856fd5984e447f247e6d0c3979d9794a21a@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: free probe_resp_data laterJohannes Berg1-6/+6
In the MLD code, we free probe_resp_data before we remove the MAC from the firmware, so we might receive another one from the device after freeing, and thus might leak it. Fix that by moving the free later. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.152b1715fc13.Ibd37fed1b24cd25012923ad9170d1fe33ab35c5c@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: bump FW API to 75 for AX devicesGregory Greenman1-1/+1
Start supporting API version 75 for AX devices. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.f08a27944fc6.Iafe3a2db2b91072a559038b85eca7b6b322be3ff@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: move max_agg_bufsize into host TLC lq_staGregory Greenman4-10/+11
This field is used only for host TLC, so it can reside inside the corresponding lq_sta struct. Also, TLC lq_sta is cleared in iwl_mvm_rs_rate_init() upon association, but max_agg_bufsize is set earlier in iwl_mvm_sta_init(). Thus, place this field in the persistent part of lq_sta to retain its value. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.d55361064e39.Ib79d30f27d94607d097f0192af2aacd455a17958@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: send full STA during HW restartJohannes Berg1-14/+9
By using the internal station add the station is installed in firmware with zeroed MAC addresses, which is wrong. Use the full installation function instead, to fill all data. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.62d5371bb3c7.Ie25b62125a3a022f76a36bae5fed9796c18698aa@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: rework active links countingGregory Greenman3-20/+17
Remove fw_active_links_num counter since we now have a bitmap of active links in vif. Also, update link activation status only when LINK_CONTEXT_MODIFY_ACTIVE bit set in changes parameter. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.1ecfb27b6b84.I3a5e0bc32b3728e4caae8a231bc3f04ea1d89cad@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: update mac config when assigning chanctxGregory Greenman1-0/+12
Some mac parameters, such as HE support, can change at this stage. Update mac config before updating links. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.d7882a0d6e04.Ie38cd854a237c46cf85fd7143dc757326f30da6e@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use the correct link queueShaul Triebitz1-4/+4
For bcase/mcast tx frames use the link queue. Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.ccd7218e4be2.I40f608a0441190cc26137b039f7cb7b065fd4e0c@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: clean up mac_id vs. link_id in MLD staJohannes Berg1-10/+9
Here we always have a link ID, not MAC ID, so clean up the naming. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100040.3def62de34b5.I10c9cf5dbfd1fc1e9c9c7d6d4cefcf0c08f1f2da@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: fix station link data leakJohannes Berg3-31/+33
When we remove the station, we call iwl_mvm_sta_del() which returns true if we cannot remove it from the firmware yet, which happens if this is the station ID for the AP station that's still used because the MAC is still associated. However, we still must free the link data as the station is only kept alive in the firmware, in mac80211 and driver the data structures are destroyed. To fix that, we need to make iwl_mvm_mld_free_sta_link() track whether or not the station is still alive in FW, as otherwise we might reuse the station ID in the meantime and iwl_mvm_mld_rm_sta_from_fw() would reject the later delete from the firmware. Add an argument to it for that. Then we can use the return value of iwl_mvm_sta_del() for that to fix the issue, and call iwl_mvm_mld_rm_sta_from_fw() only if we need to not keep the station in FW. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.1d81d4c71f35.I8fc60ac28ffc1147e9b1250e5e6237b3cb5516ac@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: initialize max_rc_amsdu_len per-linkBenjamin Berg1-0/+3
Initialize max_rc_amsdu_len per-link both on state change and when a new link is added. Signed-off-by: Benjamin Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.5bf521fe58b8.I73fe585f0ff75d41b5afd32077e3d6e48c90db2a@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use appropriate link for rate selectionBenjamin Berg1-48/+61
We were still using the deflink in most cases, update the code to use the appropriate link. Signed-off-by: Benjamin Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.fa1025502fb4.Iaba0c64740fdcf04a521e2f213bd3f3e27862472@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use the new lockdep-checking macrosJohannes Berg3-15/+13
Use the new macros from mac80211 that do lockdep checking on the RCU dereferences, instead of hard-coding 1 as the argument to rcu_dereference_protected(). Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.112df5c8dec2.I1a1008f5566e509953d988f254d15c9e58630418@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: remove chanctx WARN_ONJohannes Berg1-1/+2
During link switching there might be a link that's marked active but has no chanctx assigned (so it's not active from our driver's POV), skip such links in power recalculation without any warning. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.c629090bd5d2.If7a680d5e349d454f2122f936c21522b9528a55f@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: avoid sending MAC context for idleJohannes Berg1-0/+6
If we change only idle, avoid sending the MAC context command since it doesn't depend on idle state. This also fixes an issue with the firmware because without this we send the command during link switching, as we just deactivated the first link, and we cannot send this command when there's no active link. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.f5218f8453ec.I1325ff14ec07a27dd7ea2c1c210a1721d969839f@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: remove only link-specific AP keysJohannes Berg5-6/+12
When we remove the AP station, we iterate over the links and remove all the keys, however, the key iteration will return all keys for all links, so skip the ones that we don't need based on the link ID. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.e724878f502e.I66870d4629244b4b309be79e11cbbd384bdf93be@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: skip inactive linksJohannes Berg1-1/+3
When iterating station links, skip the links that are not yet active by checking for mvmvif->link[] existence. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.bd9b4e64c478.Ie21422c3bf2589d22942c3c57d26e6330d2e3afc@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust iwl_mvm_scan_respect_p2p_go_iter() for MLOAvraham Stern1-5/+17
When looking for a GO on for setting the scan parameters, iterate over all the available links. Signed-off-by: Avraham Stern <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.4eb25d5655d0.Ie69f7313e4337f78c262a835aea3f707273a4209@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: rxmq: report link ID to mac80211Johannes Berg5-10/+39
Add a fw_id_to_link_sta array in mvm to track the link STA for each firmware station ID, and then use that to report the link a frame was received on (since we know the station ID from firmware). Notably, this fixes beacon tracking for the correct link since mac80211 now queues and processes those on the one link identified by the link ID only. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.c7dd3ec18077.I12ef9eb4a5b8b5c2b9d6bcaa1fda73b59eba39d8@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use bcast/mcast link station idShaul Triebitz1-2/+15
For an MLD AP, use the correct link mcast or bcast station id. Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.0cffa6c45242.I342e17e7bca87b7f05939eb2ebd36fc2aff0b49f@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: translate management frame addressShaul Triebitz1-0/+22
For management frames sent by an AP interface, translate the MLD addresses to LINK addresses (for an MLD AP). AP (non-bufferable) management frames are sent via the broadcast station so the translation cannot be done by the firmware. Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.3cb4292f51e8.Ia662c00ff271c70eda927c12ed49b045b1eb8489@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: implement mac80211 callback change_sta_linksShaul Triebitz3-23/+236
Add/removed from iwl driver and firmware station links. Update the station queues accordingly (which station links are connected to the station queues). Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.156d1aae5de1.I32973141be1190222169879f8caf7038c1a8f769@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use the link sta addressShaul Triebitz1-2/+1
Replace the deflink.addr with the proper link address for setting the peer_link_address in the station command. For a non-MLD station, it will be the deflink. Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.03ab287da0ae.I88fb5ab4e3ea9c886a3fac7ce09c4791469c3c8e@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust rs init to MLOGregory Greenman4-28/+71
Rate scale initialization needs some parameters stored separately for each link. Pass link_conf and link_sta pointers and adjust the relevant code accordingly. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.e2f458198844.I98bf3ea807dd8ae8d703915ce9c01e7b7d5ccb42@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust radar detection to MLOGregory Greenman1-7/+13
Make the decision about radar detection status depending on each active MLO link. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.a61b1d3f681a.I27bb8726d8806ad725c22bc7256856b1b6636745@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust iwl_mvm_sec_key_remove_ap to MLOGregory Greenman5-8/+9
It has to be done per link. We still don't support keys configuration for several links, but the single vif link can still point to a link different from deflink. For now handle the removal of keys for the default link. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.19d729cc4654.I4ebe8e3eb5fc00a994761f7c0ad40107382705ca@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: make a few warnings only trigger onceJohannes Berg2-3/+3
We're hitting these while starting to enable MLO in the driver, but getting them each and every time isn't very useful one way or the other. Make these warnings trigger only once. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.f333741d3dcf.If063d4cfe8a583f0f980a1b0ae4e63e17ba4ddc9@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: coex: start handling multiple linksJohannes Berg2-29/+64
Iterate all the links here and check which ones are active, then adjust them accordingly. This is still wrong as far as the RSSI event is concerned (calling iwl_mvm_bt_coex_enable_rssi_event) since we call that now multiple times, which could overwrite the data; we need to either make that per link or call it only once, but need to sort out first what the firmware will be doing for beacon filtering/beacon abort in MLO. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.fe813fd8de5d.I216236717876510e51e4c21c7fac7691925443f1@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: rs-fw: don't crash on missing channelJohannes Berg1-0/+3
This is more of a workaround, with MLO we can get here with the deflink not assigned. It's not critical right now that we have this right, so WARN_ON_ONCE() and don't crash until we can fix this area of the code. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.2b0d31bdb60b.I39d23c76eec16ac49f6ae3a6d5f7652041bde855@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: use STA link addressJohannes Berg1-2/+2
For now we only support a single link, so just use the deflink's address for the link address, instead of the STA's (MLD) address, but use the link address anyway in order to facilitate MLO connections. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.c853c8ced3ba.I2e1915d1090c526e6a4c718440b45a7192bbbb03@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: skip MEI update for MLOJohannes Berg1-1/+6
For now, if using MLO, skip the MEI update. It probably needs new API for multiple channels. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.aeaa746b14e7.I42b084f3cdc20bb52cf867700a3c2e1f5e7b4ecb@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: fix narrow RU check for MLOJohannes Berg1-7/+15
This needs to apply to the link, not deflink. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.0347fa77d522.Ibdf7a40cbe86e64ce086f243330fc27f43aeb3aa@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: make some HW flags conditionalJohannes Berg1-2/+13
With newer MLD firmware API we no longer need beacon timing information from the host, so disable TIMING_BEACON_ONLY. If MLO is enabled (currently only for testing), then we must not have DEAUTH_NEED_MGD_TX_PREP because mac80211 doesn't support it yet, we'll have to fix that later. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230329100039.28ec631487bf.I6eb27c3d4c0289a5ec3682f573aae3424f45619f@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: implement link change opsJohannes Berg4-15/+187
Implement the link change ops for links and stations. Note that the stations one is empty for now as we only have support for a single link so far, and then the stations are created with the first link as deflink by mac80211, so right now we don't really need anything. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.6186c5a37e99.Ifd00d3ee93356ddef273aa18f1e081cd8f2c84ae@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust some cleanup functions to MLOGregory Greenman1-7/+25
Clean up data for all allocated links of a vif. Invalidate all link sta pointers. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.948a7bee8b09.Ic6b202959c158258d391ccce77f66e1281879690@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: refactor iwl_mvm_mac_sta_state_common()Gregory Greenman6-246/+671
Move code handling specific state transitions into separate handlers and adjust them for MLO. Adjust relevant callbacks as well. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.5a3f8a849723.I0670d20436858a1cd3c055e03c7528db81292811@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: update iwl_mvm_tx_reclaim() for MLOGregory Greenman1-6/+5
vif->bss_conf is used in this function only when TLC is not offloaded, so not in MLO flow. Simplify the related "if" condition and call iwl_mvm_hwrate_to_tx_status() only for driver rate scale. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.c6826d5b5477.Ib56ec6025c0da3a381aaf88e71085ce9b96a9e65@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust to MLO assign/unassign/switch_vif_chanctx()Gregory Greenman3-47/+61
Pass link_conf when it's necessary and change the code accordingly. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.dc1074239c5b.I30db722af9009f1b274fa929f276fd2b78520dea@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: add fw link id allocationGregory Greenman8-22/+121
Driver uses link_id as an index in the array. FW currently can support only 2 concurrently active links per vif with the ids in the range 0-3. Add a mapping of dirver link ids to fw link id and track the number of active link ids. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.a53e5df49c33.I02b25648d2d5ca370c0697bf19d0d34724eae8a1@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust internal stations to MLOGregory Greenman3-29/+47
Internal stations are mcast/bcast and sniffer. They need some link specific data like bss id/phy id. Add link_conf as a parameter. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.25b013fd30de.I7f9f5906123acae05040cceec470c9acb07b9d42@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed()Gregory Greenman4-100/+206
These are two new handlers for MLO. As the configurations done in bss_info_changed() are now split into two separate flows, use MLO specific implementation instead of common functions with the non-MLO code. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.7b238cae0895.Ieb87f204787fb1c7cb7562e1cbf54ef518d87123@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: add link_conf parameter for add/remove/change linkGregory Greenman5-74/+118
Add link_conf parameter and change all the relevant calls accordingly. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.374015eed2e3.Icbf15a18e2599b53f4fa1c92fe3db64b551b84b1@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: don't check dtim_period in new APIJohannes Berg1-3/+1
In newer firmware APIs the firmware is responsible for tracking the DTIM period and other beacon timing, so we don't need to wait with setting associated. In real MLO operation, mac80211 isn't tracking this anyway, and connections wouldn't work. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.02354241fede.Id957bed3851fdf1fe902d79a1b0338c6d80bc0e1@changeid Signed-off-by: Johannes Berg <[email protected]>
2023-03-30wifi: iwlwifi: mvm: adjust SMPS for MLOGregory Greenman7-29/+73
Configure SMPS per-link. Add link_id parameter to iwl_mvm_update_smps() and refactor iwl_mvm_intf_dual_chain_req() since it has to handle all active links. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230328104949.da6a19db562c.Ic88b02338c8973f2934439ac3ee77c7451bc0054@changeid Signed-off-by: Johannes Berg <[email protected]>