aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
Commit message (Collapse)AuthorAgeFilesLines
* wifi: iwlwifi: disable certain features for fips_enabledJohannes Berg2025-07-231-4/+21
| | | | | | | | | | | | | | | | | | | | | When fips_enabled is set, keys will not be given to the hardware by mac80211 since the hardware isn't certified. In this case, various features cannot work correctly as the firmware needs to handle frames, but it then cannot since no keys are available. Disable features: - WoWLAN since no keys etc. - MFP since some frames need to be handled in firmware - EHT/6GHz since MFP is required Also restrict A-MSDU size since A-MSDUs cannot be split up by hardware and thus need to fit into the RX buffers in one piece. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250723094230.329fade58a27.I0be27dd329643cc5fdf79a8c8b8f6d2e6fb5c175@changeid
* wifi: iwlwifi: fix HE/EHT capabilitiesJohannes Berg2025-07-111-63/+15
| | | | | | | | | | | | | | | | The default capabilities were set to much more than the hardware currently is intended to support, and then masked off for only the GL MAC type. However, this was due to some miscommunication and is incorrect, it should've been masked off for all current and planned MACs/RFs. Instead of doing this removing and adding of capabilities, simply list the ones that currently apply to all devices. If this changes for a new device type we can change the code, but at least the driver won't erroneously advertise some capabilities that aren't actually implemented in hardware. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250710212632.69b9dac7d906.I7885499bc80453d5a84285ec927f5e89f9adfb21@changeid
* wifi: iwlwifi: add HE 1024QAM for <242-tone RU for PEJohannes Berg2025-06-251-0/+1
| | | | | | | | For the new PE RF, this should also be supported. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250612144708.5716b631c59a.If81456c73a2d5834c29cbf410f7e642184c32b82@changeid
* wifi: iwlwifi: Remove unused cfg parameter from iwl_nvm_get_regdom_bw_flagsPagadala Yesu Anjaneyulu2025-06-251-4/+3
| | | | | | | | | Refactor iwl_nvm_get_regdom_bw_flags() by removing the unused cfg parameter to enhance code clarity and maintainability Signed-off-by: Pagadala Yesu Anjaneyulu <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250609211928.987b1a749b78.I11a67c0737fb39b594831c10f62de1a195ed24e3@changeid
* wifi: iwlwifi: parse VLP AP not allowed nvm channel flagPagadala Yesu Anjaneyulu2025-06-251-18/+23
| | | | | | | | | OEMs need the option to enable/disable VLP AP. Add NVM flag to control VLP AP configuration. Signed-off-by: Pagadala Yesu Anjaneyulu <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250609211928.a433cb0ea0f3.Ifc6d7ba96d200dca0e3d38ec8d71625fd81a10ae@changeid
* wifi: iwlwifi: rename iwl_cfg to iwl_rf_cfgJohannes Berg2025-05-101-15/+15
| | | | | | | | | | | | | With all the cleanups now, we can rename the structure to better indicate the functionality. For older devices this isn't quite accurate, of course, but it's better to have a name that reflects future use for maintenance. Add some kernel-doc while at it. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: cfg: move MAC parameters to MAC dataJohannes Berg2025-05-091-1/+2
| | | | | | | | | | | | | | | There are a number of MAC parameters that are in the iwl_cfg (which is the last config matched to the MAC/RF combination). This isn't necessary, there are many more of those than MACs, so move (most of) the data into the MAC family config struct. Note that DCCM information remains for use by older devices, and on 9000 series it'll be in struct iwl_cfg but be ignored when the CRF is in a Qu/So platform. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: rename cfg_trans_params to mac_cfgJohannes Berg2025-05-091-7/+7
| | | | | | | | | | | | Since 9000 series devices, the devices are split into MAC and CRF parts. Currently, "struct iwl_cfg" reflects some MAC and some RF parameters, but we want to clean this up and move the MAC data to what's now "struct iwl_cfg_trans_params". As the first step, to reflect the intent, rename this structure. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: pass trans to iwl_parse_nvm_mcc_info()Johannes Berg2025-05-091-1/+3
| | | | | | | | | | There's no need to pass various different pointers when the transport is already established, so just pass that instead. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: cfg: inline HT paramsJohannes Berg2025-05-091-4/+4
| | | | | | | | | | With just a handful of values in two bytes, the params are smaller than the pointer to them. Inline them and save some space. Signed-off-by: Johannes Berg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Miri Korenblit <[email protected]>
* wifi: iwlwifi: trans: collect device informationJohannes Berg2025-05-071-6/+6
| | | | | | | | | | | Add a new device information 'info' substruct to the transport that's const and can only be set by a special helper, and move some information there. Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250503224232.cd80cb55403c.Ic18524b66d655fad734bf97192a54d9cfa9fdf1f@changeid
* wifi: iwlwifi: cfg: clean up BW limit and subdev matchingJohannes Berg2025-05-061-3/+4
| | | | | | | | | | | | | | | | | | | | | | The BW limit, cores and RF ID are matched in the subdevice ID, so it doesn't really make sense to have both SUBDEV() match and a match on any of those three. In particular, for Killer devices the subdevice ID doesn't even follow the layout, so no matching should be on those three values at all, only with SUBDEV(). Change the logic around the BW limit to have it more like all the other things: only a bw_limit match in the dev_info, and put the actual bandwidth into struct iwl_cfg. This duplicates a number of those values, but that way the logic is clearer. Add a test that checks that the three matches mentioned above are not used in conjunction with SUBDEV(), and check that if the bw_limit is matched, a BW limit is provided in the config. Also check that the "Killer" devices have a SUBDEV() match. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250502155404.a185eac2736c.I87ee87300c92518a1d3296d3eda9fd4163e9085e@changeid
* wifi: iwlwifi: parse active and 20 MHz AP NVM channel flagAnjaneyulu2025-04-231-14/+22
| | | | | | | | | | | | Configure 20 MHz AP mode based on NVM settings, set the NL80211_RRF_ALLOW_20MHZ_ACTIVITY flag, when the NVM indicates that an access point can operate in 20 MHz only. Signed-off-by: Somashekhar Puttagangaiah <[email protected]> Signed-off-by: Pagadala Yesu Anjaneyulu <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250423091408.897d826a8612.I1f7f84f4485ed3928070c97a031110ccb608bda8@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: add support for BE213Emmanuel Grumbach2025-03-111-4/+8
| | | | | | | | | | Add the BE213 device. This is just like BE211 but with a limitation on the bandwidth. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250308231426.f02f4d7fc73b.Idaf000dd311358e3b50a511f4efc1cc720abd58b@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: make no_160 more genericEmmanuel Grumbach2025-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | We'll have devices that are EHT capable but don't support 320 MHz and those devices look like the 320 MHz capable devices, but have distinct subsystem ID. We already had the same type of differentiation for HE devices that support 160 MHz or not. Enhance that mechanism and now the _IWL_DEV_INFO macro gets an indication whether the bandwidth should be limited for that specific device. The subsystem ID gives a binary answer about the bandwidth limitation and iwl_pci_find_dev_info() compares this to the list of _IWL_DEV_INFO entries. Signed-off-by: Emmanuel Grumbach <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250205145347.1ba406c538a5.I6e24123f60a764aedfeaaac8768c26e136c320cf@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: Indicate support for EPCSIlan Peer2025-02-111-0/+3
| | | | | | | | | | Indicate support for EPCS and unsolicited EPCS in the EHT MAC capabilities. Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250205145347.6b1c7cc8a958.Idd72ea53f70eb452d43d99e6c45ff21f891100bd@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: enable 320 MHz on slow PCIe linksJohannes Berg2025-02-111-6/+11
| | | | | | | | | | | | | | Despite not being able to sustain the full 320 MHz throughput even at MCS 9, enable 320 MHz on slow PCIe links. This may in some cases result in frames being dropped (on the air) by the firmware if they cannot be delivered to the host, but it can still be better to use 320 MHz. Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250205145347.1e5356a3b124.I1224023721aaeff8ebcaa47dff88613c7fd0533a@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: update documentation for iwl_nvm_channel_flagsAnjaneyulu2025-01-131-2/+4
| | | | | | | | | | | Enhance the documentation for the enum iwl_nvm_channel_flags to provide better clarity for NVM_CHANNEL_IBSS and NVM_CHANNEL_ACTIVE flags Signed-off-by: Anjaneyulu <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20241226174257.d4018e62b2bd.Ie20fe3408bcc358078e3e5bf38edeb6b951c9a40@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: don't limit VLP/AFC to UATS-enabledJohannes Berg2024-06-261-12/+9
| | | | | | | | | | | | | | | | | When UATS isn't enabled (no VLP/AFC AP support), we need to still set the right bits in the channel/regulatory flags, so remove the uats_enabled argument to the parsing etc. Also, firmware deals just fine with getting the UATS table if it supports the command even if the bits aren't set, so always send it, since it's also needed if BIT(31) is set, but the driver need not have any knowledge of that. Remove 'uats_enabled' entirely. Fixes: 0d2fc8821a7d ("wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatory") Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20240618195731.a81e7234c4f6.Ic0131180d38e0f1ead2f7fa0e7583407ceaa0bd1@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: enable VLP AP on VLP channelsJohannes Berg2024-06-261-2/+6
| | | | | | | | | | If channels are marked VLP, then we're actually also allowed to be VLP AP/GO. Enable this. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20240618194245.e15f24fc6bc8.I33ed7d141fec731e79370ba6c7cfbe28776944a0@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: declare band variable in the scopeMiri Korenblit2024-05-291-2/+3
| | | | | | | | | band is not used outside of the for loop, declare it inside it. Signed-off-by: Miri Korenblit <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Link: https://msgid.link/20240527190228.b634d184980a.I9d9e71125f9a77ba4f9a33a7a2ff1e8e78e17767@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: remove redundant reading from NVM fileChaya Rachel Ivgi2024-05-231-7/+1
| | | | | | | | | | | The driver reads xtal_calib from NVM file, but actually never uses it. This is only used in dvm driver. Signed-off-by: Chaya Rachel Ivgi <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240510170500.c4d1a4571049.I7d7b73dccb793e220f023e0d049b082b043ca95e@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: Don't set NO_HT40+/- flags on 6 GHz bandAndrei Otcheretianski2024-05-231-1/+5
| | | | | | | | | | | | | | | These flags are not needed on 6 GHz channels, and anyway they were set incorrectly. This in turn resulted in alternating channel flags, preventing reg domain rules to be merged together, so cfg80211 couldn't even send them to the user space, as the regulatory domain was too large. Fix it. Signed-off-by: Andrei Otcheretianski <[email protected]> Reviewed-by: Luciano Coelho <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240510170500.b0d51b2229f8.I092e21cde43320ffc2eff17f5748ff9c87c87fcf@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: Declare HE/EHT capabilities support for P2P interfacesIlan Peer2024-03-251-3/+6
| | | | | | | | | | Declare HE/EHT capabilities support also for P2P client and P2P GO interface types. Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240320232419.37fdea8e55a3.If074bdc6c6cd55b76c3421417a987d21ab6bb041@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: remove devices that never came outEmmanuel Grumbach2024-03-251-2/+0
| | | | | | | Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240320232419.b3715c0d4bdd.I1337ed9c3edbec4ea9ff7e8a8b02410d5e69bf74@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: enable monitor on passive/inactive channelsJohannes Berg2024-03-251-3/+9
| | | | | | | | | | If firmware supports pure passive monitor on passive/inactive channels, enable that. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240319100755.7c62f421f03e.I9969d3a46fed48e67fa28a7d00080b0dd314dabd@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: remove 6 GHz NVM overrideJohannes Berg2024-03-251-5/+0
| | | | | | | | | | | We shouldn't override the flags to zero here for 6 GHz capable devices any more, but since LAR will be there, this also shouldn't make a difference now. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240319100755.73bff65d5597.I1ae23a509fad252c0237e74defba6cb74b6ca188@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: nvm: parse the VLP/AFC bit from regulatoryMukesh Sisodiya2024-02-121-5/+28
| | | | | | | | | | | | | | 6 GHz STA supports different power types as LPI, SP, VLP. and this information is provided by regulatory info. Add support in driver to parse the power type capability in regulatory info from FW and set it to the channel flags. Signed-off-by: Mukesh Sisodiya <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240208185302.9c6a4acabdb3.I501de5c0d86b9702bf61158a2e91c954a1da9a2a@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: support EHT for WHMiri Korenblit2024-02-081-1/+1
| | | | | | | | | | sku_cap_11be_enable should be set to true also for WH. Fixes: e1374ed25324 ("wifi: iwlwifi: Add support for new CNVi (SC)") Signed-off-by: Miri Korenblit <[email protected]> Reviewed-by: Emmanuel Grumbach <[email protected]> Link: https://msgid.link/20240204235836.a6d4097cbaca.I8b00fa7b6226b4116cd91f70fb0b15e79b4dee5a@changeid Signed-off-by: Johannes Berg <[email protected]>
* Merge wireless into wireless-nextJohannes Berg2024-02-081-4/+1
|\ | | | | | | | | | | | | | | | | There are some changes coming to wireless-next that will otherwise cause conflicts, pull wireless in first to be able to resolve that when applying the individual changes rather than having to do merge resolution later. Signed-off-by: Johannes Berg <[email protected]>
| * wifi: iwlwifi: do not announce EPCS supportBenjamin Berg2024-02-021-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | mac80211 does not have proper support for EPCS currently as that would require changing the ECDA parameters if EPCS (Emergency Preparedness Communications Service) is in use. As such, do not announce support for it in the capabilities. Signed-off-by: Benjamin Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240201155157.59d71656addc.Idde91b3018239c49fc6ed231b411d05354fb9fb1@changeid Signed-off-by: Johannes Berg <[email protected]>
* | wifi: iwlwifi: mvm: don't set trigger frame padding in AP modeJohannes Berg2024-02-021-1/+0
| | | | | | | | | | | | | | | | | | | | This field is reserved in AP mode, don't set any bits in it. Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240129211905.f5eeb717212e.I60fa4843a8634922281580b925db2c2699e3a7bc@changeid Signed-off-by: Johannes Berg <[email protected]>
* | wifi: iwlwifi: nvm-parse: advertise common packet paddingJohannes Berg2024-01-261-3/+11
| | | | | | | | | | | | | | | | | | | | | | We should - at least for now - advertise common nominal packet padding of 16µs instead of the more specific PPE thresholds. Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240123200528.4312e176dfdc.Ide75980ff57257a31e86e6ac5948a8f97aaab577@changeid Signed-off-by: Johannes Berg <[email protected]>
* | wifi: iwlwifi: mvm: limit EHT 320 MHz MCS for STEP URMJohannes Berg2024-01-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the STEP (the interface between MAC and PHY) is in URM (a lower speed mode) then we cannot use 320 MHz MCS > 9. Therefore, limit the MCS in our capabilities in this case. Note that this also limits the TX/rate scaling since that takes both TX and RX capabilities into account. Signed-off-by: Johannes Berg <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240123200528.02bae683b7fc.Id5efbb71d45da02c8c4e211d20396637ddd44da8@changeid Signed-off-by: Johannes Berg <[email protected]>
* | wifi: iwlwifi: disable 160 MHz based on subsystem device IDMukesh Sisodiya2024-01-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | The driver should not send 160 MHz BW support for 5 GHz band in HE if PCI subsystem device ID indicates no 160 MHz support. Signed-off-by: Mukesh Sisodiya <[email protected]> Reviewed-by: Mordechay Goodstein <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240126085924.77c248ce6986.I558e8d0cf19dc862b1c4124df78a4cb690095bb2@changeid Signed-off-by: Johannes Berg <[email protected]>
* | wifi: iwlwifi: Add support for new 802.11be deviceMukesh Sisodiya2024-01-261-2/+14
|/ | | | | | | | | | | | Add support for the new 802.11be device with limites capabilities: - 320 MHz isn't supported - MCSs 12 and 13 are not supported Signed-off-by: Mukesh Sisodiya <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240123200528.8529bd2acedf.I25dccb7bbeb21b8df2123fad51dde7fcf137a508@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: Don't mark DFS channels as NO-IRAndrei Otcheretianski2023-12-211-1/+6
| | | | | | | | | | | | | The NVM_CHANNEL_ACTIVE bit means that active scanning/beaconing is allowed, however it's not an exact opposite of IEEE80211_CHAN_NO_IR. For example, NVM_CHANNEL_ACTIVE bit is not set on DFS channels, while cfg80211 doesn't really expect NO-IR on DFS channels. Signed-off-by: Andrei Otcheretianski <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20231219215605.94cd9b96a532.Ifb0e8d8a6a6384493758f26b811d58432536101a@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: Allow DFS concurrent operationAndrei Otcheretianski2023-12-211-4/+6
| | | | | | | | | | AX210 devices allow concurrent P2P operation on DFS channels. Signed-off-by: Andrei Otcheretianski <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20231219215605.dc39b33bf507.I04dfda24d73091fb75701279d10ac400314de488@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: don't support triggered EHT CQI feedbackMiri Korenblit2023-12-121-1/+2
| | | | | | | | | | | EHT CQI is one of the EHT PHY capabilities. We don't support EHT CQI. The non-triggered CQI feedback bit was unset in a previous patch, but the triggered CQI feedback bit wasn't. Unset it. Fixes: 0e21ec6edbb5 ("wifi: iwlwifi: nvm: Update EHT capabilities for GL device") Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20231207044813.092528daf59e.I5715769490835819beddb00c91bbc9e806e170cb@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: advertise support for SCS traffic descriptionAyala Beker2023-10-231-1/+2
| | | | | | | | | | | This doesn't require any special implementation from our device, just allows transmission of SCS request frame containing a QoS characteristics sub element. Signed-off-by: Ayala Beker <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20231004123422.cc15de23b07b.I35fa1fbacf113b87ba7a13c37760f893eb57643a@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: support set_antenna()Emmanuel Grumbach2023-09-251-10/+66
| | | | | | | | | | | | | | | | | | | set_antenna() is supported only when the device is not started in mac80211 which translates to the firmware not being loaded in iwlwifi. The tricky part is that iwlwifi populates the sband data during its boot and doesn't touch this data afterwards, but if the antenna settings forbid MIMO, we need to update the sband data. Rework the nvm parsing code to allow to get an existing nvm_data and modify the sband with additional constraints (tx / rx chains masks). Suggested-by: Ben Greear <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230921110726.81d94d630c95.I9473da818cbeeb51b2f89dcc59b00019113e7f55@changeid [add bugfix from Benjamin for iwl_mvm_get_valid_rx_ant()] Signed-off-by: Johannes Berg <[email protected]>
* wifi: cfg80211: annotate iftype_data pointer with sparseJohannes Berg2023-09-111-2/+2
| | | | | | | | | | | | | | | | There were are a number of cases in mac80211 and iwlwifi (at least) that used the sband->iftype_data pointer directly, instead of using the accessors to find the right array entry to use. Make sparse warn when such a thing is done. To not have a lot of casts, add two helper functions/macros - ieee80211_set_sband_iftype_data() - for_each_sband_iftype_data() Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: enable HE TX/RX <242 tone RU on new RFsJohannes Berg2023-08-221-0/+2
| | | | | | | | | | | Two new RFs were added in the code, but we forgot to add them to the list here that enables HE TX/RX 1024 QAM less than 242 tone RU. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230816104355.ddb090c86c8c.Ic630aa579e3dc52069758d8698069480d555eefe@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: limit EHT capabilities based on PCIe link speedJohannes Berg2023-06-211-4/+11
| | | | | | | | | | | | | | If a discrete NIC is connected to a PCIe link hat isn't at least Gen3 (8.0 GT/s), then we cannot sustain 320 MHz traffic, so remove that from EHT capabilities in that case. While at it, also move setting 320 MHz beamformee to the right place in the code so it's not set while not supporting 320 MHz. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230620125813.b77a1574a0a7.Id4120c161fb7df6dedc70d5f3e3829e9117b8cb1@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: nvm: handle EHT/320 MHz regulatory flagJohannes Berg2023-06-211-0/+7
| | | | | | | | | | Handle the regulatory EHT/320 MHz flags from firmware just like any other flags before it. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230620125813.2c5e886c08f3.Ibc5c27d973d0590e2dea1f50435f9cf3ba8c2c09@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: Correctly indicate support for VHT TX STBCIlan Peer2023-06-191-2/+2
| | | | | | | | | | If HT STBC is not supported, do not indicate support for VHT TX STBC. Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230614123446.b24b5fba6fab.I116617875eb4a9d520df23a8c49a6594f9d8b2c6@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: mvm: add support for Extra EHT LTFGregory Greenman2023-06-141-0/+2
| | | | | | | | | Add support for Extra EHT LTF defined in 9.4.2.313 EHT Capabilities element. Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230613155501.de019d7cc174.I806f0f6042b89274192701a60b4f7900822db666@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: update response for mcc_update commandAbhishek Naik2023-06-141-37/+78
| | | | | | | | | | | | | | | | | | | | Add support for the MCC update response version 8. Versions 5-6 are already covered by the existing flags conversion, and 7 isn't used. The capabilities field in iwl_mcc_update_resp is 32 bits wide now, and the flags moved, so some more changes are needed. While at it, convert the flags to bool (to avoid having to deal with BIT(16) specially etc.) and use the struct_size() macro for the memory allocation. Signed-off-by: Abhishek Naik <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230612184434.71a7070aecd7.Ibddcb9fbfa74895f742c0ac20968720691c94853@changeid Signed-off-by: Johannes Berg <[email protected]>
* Revert "wifi: iwlwifi: update response for mcc_update command"Johannes Berg2023-06-061-78/+37
| | | | | | | | This reverts commit b70813e4a88f ("wifi: iwlwifi: update response for mcc_update command") since it causes a merge conflict, and it seems easier to redo the patch later. Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: update response for mcc_update commandAbhishek Naik2023-06-061-37/+78
| | | | | | | | | | | | | | | | | | | | Add support for the MCC update response version 8. Versions 5-6 are already covered by the existing flags conversion, and 7 isn't used. The capabilities field in iwl_mcc_update_resp is 32 bits wide now, and the flags moved, so some more changes are needed. While at it, convert the flags to bool (to avoid having to deal with BIT(16) specially etc.) and use the struct_size() macro for the memory allocation. Signed-off-by: Abhishek Naik <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230524203151.fd9016f8f994.Ibddcb9fbfa74895f742c0ac20968720691c94853@changeid Signed-off-by: Johannes Berg <[email protected]>