aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/mvm/rs.h
Commit message (Collapse)AuthorAgeFilesLines
* wifi: iwlwifi: mvm: fix kernel-doc warningsJohannes Berg2025-06-251-0/+1
| | | | | | | | Some kernel-doc warnings remain, fix them. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250611222325.f238dd2937ed.I1b42df920b0f057a7d7ac01e61201621229a444c@changeid
* wifi: iwlwifi: handle v3 ratesJohannes Berg2025-05-071-1/+4
| | | | | | | | | | For UHR, a version 3 of the rate API is being added, which increases the number of bits used for MCSes by shifting the NSS bit up. Handle that. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/20250505215513.84cde65a603f.Ic3119ef77cbc6461abd2a6bda104c0d236adcc8d@changeid Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: mvm: fix rs.h kernel-docJohannes Berg2024-06-261-6/+7
| | | | | | | | | Some things are mislabeled here, fix that. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20240625194805.baa3bd60c8f8.Ibc4886f7fe696d57991689cc2885cde5cecc8f90@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: fix prototype mismatch kernel-doc warningsJohannes Berg2024-06-261-3/+3
| | | | | | | | | | Fix all the prototype mismatch and "wrong kernel-doc identifier" warnings, due to typos in or misformatting of the kernel-doc. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20240625194805.6ec65cf9b88c.I7804114d7369f352e80a0e8430f7119af8e210de@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64Johannes Berg2024-05-291-7/+2
| | | | | | | | | | | | | | | We don't actually support >64 even for HE devices, so revert back to 64. This fixes an issue where the session is refused because the queue is configured differently from the actual session later. Fixes: 514c30696fbc ("iwlwifi: add support for IEEE802.11ax") Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Liad Kaufman <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240510170500.52f7b4cf83aa.If47e43adddf7fe250ed7f5571fbb35d8221c7c47@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: fix kernel-docJohannes Berg2023-09-111-11/+12
| | | | | | | | | | | Fix kernel-doc, adding various documentation, but in some cases (notably rate scaling) just removing the erroneous comment format. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230830112059.4ce1159b51ab.I2021ae335f6b8e50ee2c1c78a79c5eac1c1aa103@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: remove RS rate init update argumentJohannes Berg2023-04-181-7/+7
| | | | | | | | | | | | | Track instead whether or not the station was authorized, that's clearer than trying to indicate in the code whether or not the full bandwidth should be used via an 'update' argument. While at it, give rs_fw_rate_init() the iwl_mvm_ prefix. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230417113648.92bd8d36e311.I1877a109104d5ffeaaad6a623e89f0c44decc38e@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: initialize per-link STA ratescale dataJohannes Berg2023-04-181-0/+5
| | | | | | | | | | | When allocating a new link station, initialize the ratescaling data for it. To do that, refactor the initialization code out into a new iwl_mvm_rs_add_sta_link() function. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230417113648.441b6a8c60fd.I34f1b3555c25aaa22cc34d1112fc3b6393a20b7c@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: only clients can be 20MHz-onlyJohannes Berg2023-04-181-2/+6
| | | | | | | | | | | | Since only clients to an AP can be 20MHz-only STAs, adjust the code to not make the use of EHT capabilities depend on only the bandwidth, but also the type of interface. Fixes: 701404f1091d ("wifi: iwlwifi: rs: add support for parsing max MCS per NSS/BW in 11be") Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230417113648.a3a4c931e4a3.I693a07f4d88044c889eee04793883a83bc5ee362@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: move max_agg_bufsize into host TLC lq_staGregory Greenman2023-03-301-2/+4
| | | | | | | | | | | | 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]>
* wifi: iwlwifi: mvm: adjust rs init to MLOGregory Greenman2023-03-301-2/+8
| | | | | | | | | | 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]>
* iwlwifi: mvm: Support version 3 of tlc_update_notif.Miri Korenblit2021-10-221-12/+0
| | | | | | | | | | | | As part of the new rate_n_flags, a new version of tlc_update_notif was added in FW in order to support the new rate_n_flags. Add support for the new version, and move the all API to use the new rate_n_flags only (if FW supports the old one - convert it). Signed-off-by: Miri Korenblit <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20211017123741.9fc0cb5d5898.I1f88e02317f79f1be7f792c01236d836045a44b3@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: remove contact informationJohannes Berg2021-10-221-5/+0
| | | | | | | | | | The list address is going away, and the postal address isn't useful, remove all the contact information. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20211017113927.f73e3b6384cb.I967fd394995461277eafa149bb25cefd1673751e@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: in VHT connection use only VHT capabilitiesMordechay Goodstein2019-11-151-0/+2
| | | | | | | | | | mac80211 limits amsdu size to the minimum of HT and VHT capabilities but since in a VHT connection we don't transmit HT frames we can discard HT limits. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
* iwlwifi: mvm: remove leftover rs_remove_sta_debugfs() prototypeJohannes Berg2019-10-251-4/+0
| | | | | | | This prototype is no longer used, remove it. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: replace RS mutex with a spin_lockGregory Greenman2019-07-301-5/+1
| | | | | | | | | | | | | The solution with the worker still had a bug, as in order to get sta, rcu_read_lock should be used and thus no mutex can be used inside iwl_mvm_rs_rate_init. Also, spin_lock is a simpler solution, no need to spawn a dedicated worker. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
* iwlwifi: mvm: avoid races in rate init and rate performMordechay Goodstein2019-07-301-1/+6
| | | | | | | | | | | | | Rate perform uses the lq_sta table to calculate the next rate to scale while rate init resets the same table, Rate perform is done in soft irq context in parallel to rate init that can be called in case we are doing changes like AP changes BW or moving state for auth to assoc. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
* treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 322Thomas Gleixner2019-06-051-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of version 2 of the gnu general public license as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details the full gnu general public license is included in this distribution in the file called license extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 29 file(s). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Allison Randal <[email protected]> Reviewed-by: Alexios Zavras <[email protected]> Reviewed-by: Kate Stewart <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
* iwlwifi: mvm: always init rs_fw with 20MHz bandwidth ratesNaftali Goldstein2018-08-311-1/+1
| | | | | | | | | | | | As with the non-offloaded rs case, during assoc on the ap side the phy context is set to 20MHz until authorization of a client that supports wider channel-widths. Support this by sending the initial tlc_config_cmd with max supported channel width of 20MHz until authorization succeeds. Fixes: 6b7a5aea71b3 ("iwlwifi: mvm: always init rs with 20mhz bandwidth rates") Signed-off-by: Naftali Goldstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: Send LQ command as async when necessaryAvraham Stern2018-08-311-1/+1
| | | | | | | | | | | | | | | The parameter that indicated whether the LQ command should be sent as sync or async was removed, causing the LQ command to be sent as sync from interrupt context (e.g. from the RX path). This resulted in a kernel warning: "scheduling while atomic" and failing to send the LQ command, which ultimately leads to a queue hang. Fix it by adding back the required parameter to send the command as sync only when it is allowed. Fixes: d94c5a820d10 ("iwlwifi: mvm: open BA session only when sta is authorized") Signed-off-by: Avraham Stern <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: add support for IEEE802.11axLuca Coelho2018-07-261-4/+17
| | | | | | | Add support for the HE in the iwlwifi driver conforming with P802.11ax_D2.0. Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: open BA session only when sta is authorizedGregory Greenman2018-05-301-5/+2
| | | | | | | | | | | Currently, a BA session is opened when the tx traffic exceeds 10 frames per second. As a result of inter-op problems with some APs, add a condition to open BA session only when station is already authorized. Fixes: 482e48440a0e ("iwlwifi: mvm: change open and close criteria of a BA session") Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: update rs-fw APINaftali Goldstein2018-04-201-2/+0
| | | | | | | | | | | | | Update rs-fw API to match changes in FW. Specifically, the TLC_MNG_NOTIF_REQ_CMD command and TLC_MNG_AMSDU_ENABLE_NOTIF notification are removed, the A-MSDU related info is received from FW via the TLC_MNG_UPDATE_NOTIF, and the TLC_MNG_CONFIG_CMD uses version 2 of its data structure. Additionally, constify some arguments in a couple of functions. Signed-off-by: Naftali Goldstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: support offload of AMSDU rate controlGregory Greenman2018-04-201-1/+4
| | | | | | | | Support the new APIs and activate AMSDU based on the offloaded TLC decisions. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: new rate scale API - add FW notificationsGregory Greenman2017-12-051-0/+1
| | | | | | | | This patch sends to the FW notification configuration command and handles the update responses. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: add basic implementation of the new RS API handlersGregory Greenman2017-12-051-0/+2
| | | | | | | | This patch adds rate scaling configuration command and implements a few other handlers. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: add ops for the new rate scaling in the FWGregory Greenman2017-12-051-0/+14
| | | | | | | | | | | This patch introduces a new instance of rate_control_ops for the new API (adding only empty stubs here and the subsequent patches in the series will fill in the implementation). The decision which API to use is done during the register step according to FW TLV. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: introduce new API for rate scalingGregory Greenman2017-12-051-1/+32
| | | | | | | | | | | | | | | | | New devices will have rate scaling algorithm running in the firmware. With this feature, the driver's responsiblity is to provide an initial configuration and to handle notifications regarding recent rates and some other parameters. Debugfs hooks will be still available for reading the current rate/statistics and setting a fixed rate. The old API is supported so far, though both APIs cannot be used simultaneously. This is the first patch in the series. It adds a new TLV specifying FW support for the new API and updates lq_sta to support two types of rate scaling. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: support aggs of 64 frames in A000 familyLiad Kaufman2017-06-291-0/+2
| | | | | | | | A SCD bug was fixed in the A000 family, allowing to support aggregations of 64 frames (rather than 63). Signed-off-by: Liad Kaufman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: start using LQ command colorGregory Greenman2017-06-051-0/+15
| | | | | | | | | | | | | | | Up until now, the driver was comparing the rate reported by the FW and the rate of the latest LQ command to avoid processing data belonging to the old LQ command. Recently, FW changed the meaning of the initial rate field in tx response and it holds the actual rate (which is not necessarily the initial rate of LQ's rate table). Use instead LQ cmd color to be able to filter out tx responses/BA notifications which where sent during earlier LQ commands' time frame. This fixes some throughput degradation in noisy environments. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: rs: add rate scaling support for 160MHz channelsGregory Greenman2016-07-051-0/+1
| | | | | | | | Expand TLC to support 160MHz channels. Full support for A-MSDU case will be added separately. Signed-off-by: Gregory Greenman <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: mvm: Do not open aggregations for null data packetsMatti Gottlieb2016-07-051-1/+1
| | | | | | | | | | | | Currently we try to open an aggregation for every packet (given that one is not already open). This causes redundant overhead (addba/delba) for null data packets. Do not open an aggregation for null data packets. Signed-off-by: Matti Gottlieb <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* cfg80211: remove enum ieee80211_bandJohannes Berg2016-04-121-2/+2
| | | | | | | | | This enum is already perfectly aliased to enum nl80211_band, and the only reason for it is that we get IEEE80211_NUM_BANDS out of it. There's no really good reason to not declare the number of bands in nl80211 though, so do that and remove the cfg80211 one. Signed-off-by: Johannes Berg <[email protected]>
* iwlwifi: change the Intel Wireless email addressEmmanuel Grumbach2015-12-201-1/+1
| | | | | | | [email protected] is not available anymore. [email protected] should be used instead. Signed-off-by: Emmanuel Grumbach <[email protected]>
* iwlwifi: move under intel vendor directoryKalle Valo2015-11-181-0/+392
Part of reorganising wireless drivers directory and Kconfig. Signed-off-by: Kalle Valo <[email protected]>