aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/fw/api/phy.h
Commit message (Collapse)AuthorAgeFilesLines
* wifi: iwlwifi: add iwlmld sub-driverMiri Korenblit2025-03-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iwlwifi is the driver of all Intel wifi devices since 2008. Since then, the hardware has changed a lot, but the firmware API has changed even more. The need to keep one driver that supports all those different APIs led us to introduce a new architecture circa 2012 which allowed us to keep the same interface to the hardware (DMAs, Tx queues, etc...) with a new layer to implement the mid-layer between mac80211 and the firmware. The first component is called the 'transport' and the latter is called 'operation_mode' a.k.a op_mode. In 2013 we took advantage of the new architecture to introduce iwlmvm which allowed us to implement the, then, new firmware API. This op_mode supports 7260 and up, those devices supports support at least VHT. Since then, wifi evolved and so did the firmware. It became much bigger and took a lot of functionality from the driver. It became increasingly hard to keep the same op_mode for the newest devices and we experienced frequent regressions on older devices. In order to avoid those regressions and keep the code maintainable, we decided it was about time to start a new op_mode. iwlmld is a new op_mode that supports BE200 or newer if the firmware being used is 97.ucode or newer. If the user has an older devices or BE200 with .96.ucode, iwlmvm will be loaded. Of course, this op_mode selection is seamless. All the features supported in iwlmvm are supported in iwlmld besides a few seldom used use cases: injection and Hotspot 2.0. Those are under work. A few points about the implementation: * iwlmld doesn't have any mutexes, it relies on the wiphy_lock * iwlmld is more "resource oriented": stations, links and interfaces are allocated and freed only after all the relevant flows are completed. * Firmware notifications' sizes are validated in a more structured way. We would love to see this new op_mode merged in 6.15. The firmware for this new driver (.97.ucode) is not yet publicly available but it'll be sent very soon. People eager to get an early version of this firmware can contact Emmanuel at: [email protected] I've listed the people who directly contributed code, but many others from various teams have contributed in other ways. Co-developed-by: Johannes Berg <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Co-developed-by: Avraham Stern <[email protected]> Signed-off-by: Avraham Stern <[email protected]> Co-developed-by: Daniel Gabay <[email protected]> Signed-off-by: Daniel Gabay <[email protected]> Co-developed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Co-developed-by: Anjaneyulu <[email protected]> Signed-off-by: Anjaneyulu <[email protected]> Co-developed-by: Yedidya Benshimol <[email protected]> Signed-off-by: Yedidya Benshimol <[email protected]> Co-developed-by: Benjamin Berg <[email protected]> Signed-off-by: Benjamin Berg <[email protected]> Co-developed-by: Shaul Triebitz <[email protected]> Signed-off-by: Shaul Triebitz <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://lore.kernel.org/linux-wireless/[email protected]/ [fix Kconfig, fix api/phy.h includes, SPDX tag and coding style issues, duplicated includes per 0-day robot] Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: remove the version number from iwl_dts_measurement_notif_v2Emmanuel Grumbach2025-02-111-3/+3
| | | | | | | | | | No need to carry the version number in the structure name if this is the latest version available. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250119210104.9d218a5c4f6b.I9de3e424be48d66994cde3684ce7e9e99456067d@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: remove the mvm prefix from iwl_mvm_ctdp_cmdEmmanuel Grumbach2025-02-111-6/+6
| | | | | | | | | This command is not specific to iwlmvm. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250119210104.04f3afcf9c77.Ic2b6f265d0b4aea25ccc7114d6f48afa621871be@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: fix prototype mismatch kernel-doc warningsJohannes Berg2024-06-261-1/+1
| | | | | | | | | | 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: send ap_tx_power_constraints cmd to FW in AP modeMukesh Sisodiya2024-04-191-1/+6
| | | | | | | | | | | Send AP_TX_POWER_CONSTRAINTS_CMD with no local maximum transmit power constraint to FW and FW will update the TPE element with required tx power limits. Signed-off-by: Mukesh Sisodiya <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://msgid.link/20240416134215.b6af4ecfcfe8.I07e8db349190e0c58c468c18477d8551288ac069@changeid Signed-off-by: Johannes Berg <[email protected]>
* wifi: iwlwifi: api: fix kernel-doc linksJohannes Berg2023-06-061-3/+7
| | | | | | | | | | Some of the kernel-doc links are outdated due to other changes, fix that. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Gregory Greenman <[email protected]> Link: https://lore.kernel.org/r/20230601171633.85e2cf489893.Ie3889ea6f755b80c988543ccca56c67420c51b1f@changeid Signed-off-by: Johannes Berg <[email protected]>
* iwlwifi: mvm: add support for CT-KILL notification version 2Miri Korenblit2022-02-181-3/+13
| | | | | | | | | | | | A new version was added to the CT-KILL notification API. Add support for it. In addition, print the two fields that was added in this version. Signed-off-by: Miri Korenblit <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20220129105618.b79be7a134e9.I7f5c67d79dd97bf5170492aab356ec983622d3b2@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: rename GEO_TX_POWER_LIMIT to PER_CHAIN_LIMIT_OFFSET_CMDLuca Coelho2021-10-281-3/+3
| | | | | | | | | | | | When this code was implemented, there was no official FW API description yet, so a placeholder name was used (GEO_TX_POWER_LIMIT). But then the command became actually called PER_CHAIN_LIMIT_OFFSET_CMD. Rename the command (and change related comments) to PER_CHAIN_LIMIT_OFFSET_CMD to avoid confusion. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20211024181719.672fa727ef75.I6572df5d1e3441a0214993a59985da9a9431f3e5@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: use SPDX tagsJohannes Berg2020-12-091-64/+6
| | | | | | | | | | Use SPDX tags instead of the long copyright notices. Also cleanup some duplicate copyright notices and combine the years where possible. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20201210000603.481bcb512a6f.I8146abe5a637079e7336209f23cb26af98b12b31@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: thermal: support new temperature measurement APIGil Adam2020-10-011-2/+11
| | | | | | | | | | | | New API for temperature measurement (DTS_MEASUREMENT_TRIGGER) involves getting an immediate response from FW, and not waiting for a notification like in previous APIs. Support new API while keeping backwards compatibility. Signed-off-by: Gil Adam <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20200930161256.b4893554d8e7.Ia4d7f389d4ac3256fcfe3ce6144e924dd6dbf6eb@changeid Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: support per-platform antenna gainGil Adam2019-09-061-0/+7
| | | | | | | | | | | | | | | | TX power limits as defined in the OTP assume the worst case scenario in terms of the platform's atenna gain, but most platforms are below that value so they can use more TX power without passing the regulatory limit. If the platform indicates in the BIOS that it indeed has lower gain, and the geographic location allows it, higher TX power can be used. The driver reads the PPAG (Per-Platform Antenna Gain) data from BIOS (if it exists), validates it and sends the appropriate command to the FW. This flow happens once at FW init, in case of suspend/resume there is no need to read again from BIOS as we save those values during init, so just send the PPAG command again to FW. Signed-off-by: Gil Adam <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
* iwlwifi: reorganize firmware APIJohannes Berg2017-08-011-0/+258
Apart from DVM, all firmware uses the same base API, and there's code outside iwlmvm that needs to interact with it. Reflect this in the source better and reorganize the firmware API to a new fw/api/ directory. While at it, split the already pretty large fw-api.h file into a number of smaller files, going from almost 3k lines in there to a maximum number of lines less than 1k. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]>