Commit Graph

48 Commits

Author SHA1 Message Date
Jose Ignacio Tornos Martinez 42671f0b27 wifi: iwlwifi: mvm: exit EMLSR if both links are missing beacons
JIRA: https://issues.redhat.com/browse/RHEL-67113

commit cdade208214af34b18635747cb18d3693593c0c2
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Thu Aug 8 23:22:41 2024 +0300

    wifi: iwlwifi: mvm: exit EMLSR if both links are missing beacons
    
    If both links are missing 5 beacons, we need to exit EMLSR, if only one
    link misses beacons, we need to wait until 11 beacons are missed.
    
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://patch.msgid.link/20240808232017.b7785943a4fe.I70a459c5e7db85f398d5795ba83bb15f65d6bf9d@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-11-22 10:57:59 +01:00
Jose Ignacio Tornos Martinez 1d6240ea9c wifi: iwlwifi: mvm: increase the time between ranging measurements
JIRA: https://issues.redhat.com/browse/RHEL-67113

commit 3a7ee94559dfd640604d0265739e86dec73b64e8
Author: Avraham Stern <avraham.stern@intel.com>
Date:   Mon Jul 29 20:20:12 2024 +0300

    wifi: iwlwifi: mvm: increase the time between ranging measurements
    
    The algo running in fw may take a little longer than 5 milliseconds,
    (e.g. measurement on 80MHz while associated). Increase the minimum
    time between measurements to 7 milliseconds.
    
    Fixes: 830aa3e7d1ca ("iwlwifi: mvm: add support for range request command version 13")
    Signed-off-by: Avraham Stern <avraham.stern@intel.com>
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://patch.msgid.link/20240729201718.d3f3c26e00d9.I09e951290e8a3d73f147b88166fd9a678d1d69ed@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-11-22 10:57:57 +01:00
Jose Ignacio Tornos Martinez 79682b5c69 wifi: iwlwifi: mvm: remove IWL_MVM_PARSE_NVM
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit f77bd9491f7fad1f1e3d12ff25469f75d97cb1d4
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Tue Jun 18 19:44:04 2024 +0300

    wifi: iwlwifi: mvm: remove IWL_MVM_PARSE_NVM
    
    This debug is not in use anymore. Remove it.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Reviewed-by: Johannes Berg <johannes.berg@intel.com>
    Link: https://patch.msgid.link/20240618194245.bded22049fae.I980c4a941d769f93cf74bfc90a7d7d9fb384dea1@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:18:12 +01:00
Jose Ignacio Tornos Martinez b0cad359f0 wifi: iwlwifi: mvm: add support for version 14 of the range request command
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit d29fc6af1ab845fd0e9ab1e2e6060ba6146bacbb
Author: Avraham Stern <avraham.stern@intel.com>
Date:   Mon May 27 19:06:06 2024 +0300

    wifi: iwlwifi: mvm: add support for version 14 of the range request command
    
    This version adds a testing option to send an incorrect SAC in the
    first NDPA.
    
    Signed-off-by: Avraham Stern <avraham.stern@intel.com>
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240527190228.8f36ccb1cc74.I9b76461634f308e75dc3cd016d0b0bce812c6e9d@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:53 +01:00
Jose Ignacio Tornos Martinez c7acff1815 wifi: iwlwifi: mvm: move a constant to constants.h
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit fb82e76a3b3b23c4a51fe254fa78497bfa42007c
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Mon May 27 19:06:00 2024 +0300

    wifi: iwlwifi: mvm: move a constant to constants.h
    
    Move IWL_MVM_MIN_BEACON_INTERVAL_TU to constants.h
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240527190228.395f5b24ff82.Id78a5a404c3ae15cbbc950b1f1d7e500a8b92a43@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:52 +01:00
Jose Ignacio Tornos Martinez d4a9539e80 wifi: iwlwifi: mvm: remove IWL_MVM_USE_NSSN_SYNC
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit a423e37ecc3ede97621815da4923fbca5497c4a1
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Mon May 27 19:05:59 2024 +0300

    wifi: iwlwifi: mvm: remove IWL_MVM_USE_NSSN_SYNC
    
    This is not used and not needed anymore.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240527190228.c5edfb967e35.I34a3d54a1dc90d9b2937b0bcbbc508fe3cd41773@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:52 +01:00
Jose Ignacio Tornos Martinez c66d6ffdef wifi: iwlwifi: mvm: Enable p2p low latency
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit e1b44c8f7ba40801365dc8689f0cd88acd2ee901
Author: Avri Altman <avri.altman@intel.com>
Date:   Mon May 27 19:05:58 2024 +0300

    wifi: iwlwifi: mvm: Enable p2p low latency
    
    Enable p2p low latency by default.
    
    Signed-off-by: Avri Altman <avri.altman@intel.com>
    Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240527190228.21b431bdfc26.I018e330d1e6a76e967b25e9542c2260f0f6ed2a8@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:52 +01:00
Jose Ignacio Tornos Martinez 90fd2d852a wifi: iwlwifi: mvm: Activate EMLSR based on traffic volume
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit ec0d43d26f2ca40d3bfb0678985a6ed1e9ed3887
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun May 5 09:19:50 2024 +0300

    wifi: iwlwifi: mvm: Activate EMLSR based on traffic volume
    
    Adjust EMLSR activation to account for traffic levels. By
    tracking the number of RX/TX MPDUs, EMLSR will be activated only when
    traffic volume meets the required threshold.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240505091420.9480f99ac8fc.If9eb946e929a39e10fe5f4638bc8bc3f8976edf1@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:19 +01:00
Jose Ignacio Tornos Martinez ac7a3b55de wifi: iwlwifi: mvm: trigger link selection after exiting EMLSR
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit 2f33561ea8f98c9bbe99d09c4075fbdd648502bd
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun May 5 09:19:46 2024 +0300

    wifi: iwlwifi: mvm: trigger link selection after exiting EMLSR
    
    If the reason for exiting EMLSR was a blocking reason, wait for the
    corresponding unblocking event:
    - if there is an ongoing scan - do nothing. Link selection will be
      triggered at the end of it.
    - If more than 30 seconds passed since the exit, trigger MLO scan, which
      will trigger link selection
    - If less then 30 seconds passed since exit, reuse the latest link
      selection result
    
    If the reason for exiting EMLSR was an exit reason (IWL_MVM_EXIT_*),
    schedule MLO scan in 30 seconds.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Reviewed-by: Ilan Peer <ilan.peer@intel.com>
    Link: https://msgid.link/20240505091420.6a808c4ae8f5.Ia79605838eb6deee9358bec633ef537f2653db92@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:17:19 +01:00
Jose Ignacio Tornos Martinez 79e17d2cdb wifi: iwlwifi: mvm: Don't allow EMLSR when the RSSI is low
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit 30ce039094b5e5842f78ec8525235cd74b9848a7
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Tue Apr 16 13:54:11 2024 +0300

    wifi: iwlwifi: mvm: Don't allow EMLSR when the RSSI is low
    
    If the RSSI of a link is low enough, don't use it for EMLSR.
    If EMLSR is already active and the RSSI of one of the links gets low,
    exit EMLSR by deactivating that link.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240416134215.73263c000263.Ieb2b18855a2719b5e18ad2fa8a3e855ca4e23938@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:16:58 +01:00
Jose Ignacio Tornos Martinez d2b497879f wifi: iwlwifi: mvm: exit EMLSR upon missed beacon
JIRA: https://issues.redhat.com/browse/RHEL-50013

commit 48ac6c8ed719478ab8b3035406319c7c98a8f134
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Tue Apr 16 13:54:06 2024 +0300

    wifi: iwlwifi: mvm: exit EMLSR upon missed beacon
    
    In case of more than 6 missed beacons on one of the links,
    exit EMLSR by deactivating that link.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240416134215.f9111c79cb53.Ie95ea60149a9bc4367f6b338b37c8635051351ba@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-10-29 08:16:58 +01:00
Jose Ignacio Tornos Martinez 09dc9158b5 wifi: iwlwifi: disable eSR when BT is active
JIRA: https://issues.redhat.com/browse/RHEL-34696

commit 10159a45666bf127afe8d7c654351d542e7fcb42
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Wed Jan 31 22:56:32 2024 +0200

    wifi: iwlwifi: disable eSR when BT is active
    
    eSR should be disabled when BT Coex is active and:
    - LB link is the primary link.
    - LB link is the secondary link and the predicted BT penalty
      (the wifi loss rate caused by BT interference) is higher
      than a given threshold.
    If one of the conditions above is no longer true then re-enable eSR.
    
    In order to implement this, add support for version 5 of
    BT_PROFILE_NOTIFICATION, in which the bt penalty is provided
    by FW.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://msgid.link/20240131225342.b922b6485af8.I7d808ce535a7372aca9cb85c045755e6788a4904@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-06-17 09:18:58 +02:00
Jose Ignacio Tornos Martinez aacf06ffd6 wifi: iwlwifi: mvm: Add basic link selection logic
JIRA: https://issues.redhat.com/browse/RHEL-19746

commit b9be67fb4207592eed3880725fa51648ef2f538d
Author: Ilan Peer <ilan.peer@intel.com>
Date:   Wed Oct 4 12:36:27 2023 +0300

    wifi: iwlwifi: mvm: Add basic link selection logic
    
    Add simple logic that would allow using EMLSR in case
    there are multiple valid links:
    
    - In case the connection establishment has just been
      completed try to find a valid link pair for EMLSR
      functionality where one of the links in the pair is
      the current active link.
    - In case the valid links changed after connection
      was already established, try to find a valid link pair
      for EMLSR functionality, in case the EMSLR is not active
      yet.
    
    If a valid link pair is found call mac80211 to asynchronously
    set the new link pair, otherwise continue using the current active
    links.
    
    Signed-off-by: Ilan Peer <ilan.peer@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20231004123422.0c7b89ab29c2.I6600bd16551d75e2bf520d8d0add525568a9f85f@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-02-01 15:29:46 +01:00
Jose Ignacio Tornos Martinez 79a564f05a wifi: iwlwifi: mvm: move listen interval to constants
JIRA: https://issues.redhat.com/browse/RHEL-19746

commit 4f1847cf4dd84deae3d5cbe6c317489617eecb3d
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Wed Sep 13 14:56:50 2023 +0300

    wifi: iwlwifi: mvm: move listen interval to constants
    
    This can be moved to constants, while at it also rename
    it to have a better name with MVM_ prefix.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230913145231.59823deebfda.Ied68b11ca40771d1cfc8c82ee8f9f2b9ea27da65@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-02-01 15:29:03 +01:00
Jose Ignacio Tornos Martinez 42269ea7ff wifi: iwlwifi: implement WPFC ACPI table loading
JIRA: https://issues.redhat.com/browse/RHEL-2907

commit c4c954547755927807aaca981025847821dd2d0c
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Wed Jun 14 12:41:33 2023 +0300

    wifi: iwlwifi: implement WPFC ACPI table loading
    
    We skipped this in the past, but now we will need it for some
    platforms. Implement loading the PHY filter configuration IDs
    from the WPFC ACPI table. Note that the firmware must also be
    aware of the right filter configuration IDs (they're just the
    IDs of a filter configuration, not the actual configuration).
    
    Remove the useless hardcoded zeroes while at it.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230614123447.035026ea3169.I3a1fc1fe644fefa0d818ee1926c5fc331d68e8a3@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2023-11-27 15:01:36 +01:00
Íñigo Huguet 97de2c5528 iwlwifi: mvm: change old-SN drop threshold
Bugzilla: https://bugzilla.redhat.com/2059999

commit 3efdf03bf68b5752ce150f94939f21247e5a0d4a
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Sun Dec 19 12:18:12 2021 +0200

    iwlwifi: mvm: change old-SN drop threshold
    
    Increment the threshold to avoid dropping too eagerly.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211219121514.0e947ed458c4.Ia376cbea5f59df4b4474f0bd33ab033e84535cce@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-05-31 14:50:01 +02:00
Íñigo Huguet c87f513198 iwlwifi: mvm: add support for range request command version 13
Bugzilla: http://bugzilla.redhat.com/2033354

commit 830aa3e7d1ca1a7c8b6f414ac5bf8da561a45867
Author: Avraham Stern <avraham.stern@intel.com>
Date:   Thu Aug 26 22:47:37 2021 +0300

    iwlwifi: mvm: add support for range request command version 13
    
    This version adds the following configuration options:
    1. Set the BSS color for NDP ranging
    2. Set the minimum and maximum time between measurements for
       non trigger based NDP ranging.
    3. Terminate the session in case the responder requests LMR feedback.
    
    Signed-off-by: Avraham Stern <avraham.stern@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20210826224715.9dcd5210b7e5.I76f6977cde852de0f251344e279ad85076eef8d6@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2021-12-22 13:46:04 +01:00
Ilan Peer e8fe3b41c3 iwlwifi: mvm: Add support for 6GHz passive scan
When doing scan while 6GHz channels are not enabled, the 6GHz band
is not scanned. Thus, if there are no APs on the 2GHz and 5GHz bands
(that will allow discovery of geographic location etc. that would
allow enabling the 6GHz channels) but there are non collocated APs
on 6GHz PSC channels these would never be discovered.

To overcome this, FW added support for performing passive UHB scan
in case no APs were discovered during scan on the 2GHz and 5GHz
channels.

Add support for enabling such scan when the following conditions are
met:

- 6GHz channels are supported but not enabled by regulatory.
- Station interface is not associated or less than a defined time
  interval passed from the last resume or HW reset flows.
- At least 4 channels are included in the scan request
- The scan request includes the widlcard SSID.
- At least 50 minutes passed from the last 6GHz passive scan.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210331121101.7c7bd00e0aeb.Ib226ad57e416b43a710c36a78a617d4243458b99@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2021-04-14 12:07:17 +03:00
Avraham Stern 20578872d5 iwlwifi: mvm: responder: support responder config command version 8
Version 8 add NDP ranging parameters configuration, as well as
enable/disable NDP ranging and LMR feedback.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.ce9570d755d3.Ic81cb8da9aecbbc9edff468cb4ffbb741418cc73@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2021-04-14 12:07:16 +03:00
Avraham Stern 9896b0b904 iwlwifi: mvm: support range request command version 12
Version 12 adds configuration of NDP ranging parameters:
- max number of LTF repetitions
- max number of spatial streams
- max total LTFs

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.2c30c376c5cf.I01460f7277594ee7c98a8e1fe5447c59e70bf073@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2021-04-14 12:07:16 +03:00
Johannes Berg 8e99ea8d09 iwlwifi: use SPDX tags
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 <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000603.481bcb512a6f.I8146abe5a637079e7336209f23cb26af98b12b31@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-12-10 00:15:31 +02:00
Emmanuel Grumbach 59fa61f3fd iwlwifi: remove sw_csum_tx
This was a hack done to test the data path of devices that
didn't support well CSUM offload in Tx. This is not needed
anymore.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.6c9fc9fb48d5.I2aaebf90e6fe81860105d049a8d35746fa8d86c2@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-12-10 00:14:15 +02:00
Luca Coelho eae94cf82d iwlwifi: mvm: add support for 6GHz
Add support to the 6GHz band (aka. Ultra High Band or UHB).  This
allows us to scan and connect to channels in that band, including all
the relevant features, such as preferred scan channels, colocated
channels etc.

Co-developed-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Co-developed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Co-developed-by: Tova Mussai <tova.mussai@intel.com>
Signed-off-by: Tova Mussai <tova.mussai@intel.com>
Co-developed-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Co-developed-by: Tali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Signed-off-by: Tali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Co-developed-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Co-developed-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000657.0fdbfc3d7352.Idb648536faf21716e2ab2c6d6890d3e49f719cd3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-12-10 00:12:29 +02:00
Ilan Peer b68bd2e314 iwlwifi: mvm: Add FTM initiator RTT smoothing logic
The overcome instabilities in the RTT results add smoothing logic
to the reported results. In short, the smoothing logic tracks the
RTT average of each responder for a period of time, and in case
a new RTT results is found to be a spur, the tracked RTT average
is reported instead of the current RTT measurement.

Smooth logic debug configuration using iwl-dbg-cfg.ini:

- MVM_FTM_INITIATOR_ENABLE_SMOOTH: Set to 1 to enable smoothing logic
 (default=0).
- MVM_FTM_INITIATOR_SMOOTH_ALPHA: A value between 0 - 100, defining
  the weight of the current RTT results vs. the RTT average tracked
  based on the previous results. A value of 100 means use only the
  current RTT results.
- MVM_FTM_INITIATOR_SMOOTH_AGE_SEC: The maximal time in seconds in which
  the RTT average tracked based on previous results is considered valid.
- MVM_FTM_INITIATOR_SMOOTH_UNDERSHOOT: if the current RTT is positive
  and below the RTT average by at least this value, report the average
  RTT instead of the current one. In units of picoseconds.
- MVM_FTM_INITIATOR_SMOOTH_OVERSHOOT: if the current RTT is positive
  and above the RTT average by at least this value, report the average
  RTT instead of the current one. In units of picoseconds.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200930161256.48a9cec2081b.Iaec1e29f738232adfe9e2ea8e9eb9b6ff0323ae1@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-10-01 22:00:55 +03:00
Golan Ben Ami ccca2cb4c1 iwlwifi: enable twt by default
TWT has been disabled during stabilization and further testing of the
FW code.  It is now considered stable, so TWT can be enabled in the
driver.

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200928093526.44c9093fc632.I181fc5c80988e7ecea281c60e57a22ae7ec86716@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-10-01 21:56:11 +03:00
Gil Adam c4ace42659 iwlwifi: mvm: add framework for specific phy configuration
Add framework for supporting specific PHY filter configuration,
which allows for application of various FW defined PHY filters
(one per antenna). Change phy_cfg_cmd to the new API (ver3).
Reading of configuration from platform's ACPI tables to be added
later when tables are defined.

Signed-off-by: Gil Adam <gil.adam@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.242a8f979592.I13c77a8a8dbf1a169b5052c7af1f8401ff3991ad@changeid
2020-04-24 16:38:10 +03:00
Emmanuel Grumbach d829229e35 iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues
The purpose of this was to keep all the queues updated with
the Rx sequence numbers because unlikely yet possible
situations where queues can't understand if a specific
packet needs to be dropped or not.

Unfortunately, it was reported that this caused issues in
our DMA engine. We don't fully understand how this is related,
but this is being currently debugged. For now, just don't send
this notification to the Rx queues. This de-facto reverts my
commit 3c514bf831ac12356b695ff054bef641b9e99593:

iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues

This issue was reported here:
https://bugzilla.kernel.org/show_bug.cgi?id=204873
https://bugzilla.kernel.org/show_bug.cgi?id=205001
and others maybe.

Fixes: 3c514bf831 ("iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues")
CC: <stable@vger.kernel.org> # 5.3+
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2020-01-22 19:13:28 +02:00
Johannes Berg 0968fbfa41 iwlwifi: mvm: drop BA sessions on too many old-SN frames
Certain APs (I think a certain Broadcom model) interact badly with our
full state BA bitmap handling, and if triggered badly with many powersave
transitions they keep sending frames from before the window, which our
hardware then doesn't appear to ACK (to them) since it has moved on and
is sending ACKs for higher SNs now.

Try to detect this situation and if this keeps happening, disable the
aggregation session.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:52:05 +03:00
Emmanuel Grumbach d374f3157f iwlwifi: mvm: make the usage of TWT configurable
TWT is still very new and we expect issues. Make its usage
configurable and disable it by default.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-06-29 10:09:43 +03:00
Sara Sharon 503863055d iwlwifi: mvm: support non-transmitting AP
Add an option to not send beacons and probe responses. This is
used for testing multiple-bssid.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-02-20 20:47:57 +02:00
Shahar S Matityahu 971377e670 iwlwifi: mvm: add a debug_enable op
D3 debug data is disabled by default. Currently it is done by tampering
the dump mask. Add an operation that will allow this to be changed
without recompilation.

Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-02-14 11:29:49 +02:00
Johannes Berg fc36ffda32 iwlwifi: mvm: support FTM initiator
Add support for FTM initiator, i.e. peer measurements with FTM
if the firmware supports FTM.

Additionally, add two defines we depend on in
include/linux/ieee80211.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-02-14 11:29:43 +02:00
Luca Coelho 754f890a3a iwlwifi: remove all occurrences of the FSF address paragraph
The Free Software Foundation address is superfluous and causes
checkpatch to issue a warning when present.  Remove all paragraphs
with FSF's address to prevent that.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-08-31 11:38:33 +03:00
Johannes Berg b0ffe455bc iwlwifi: mvm: detect U-APSD breaking aggregation
Try to detect that the AP is not using aggregation even when there's
enough traffic to make it worthwhile; if this is the case and U-APSD
is enabled then assume the AP is broken (like so many) and doesn't
enable aggregation when U-APSD is used. In this case, disconnect from
the AP and blacklist U-APSD for a potential new connection to it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-04-20 10:57:16 +03:00
Luca Coelho 7d9d0d562b iwlwifi: mvm: add traffic condition monitoring (TCM)
Traffic condition monitor gathers data about the traffic load and
other conditions and can be used to make decisions regarding latency,
throughput etc.  This patch introduces the code and data structures to
collect this data for future use.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-04-20 10:57:16 +03:00
Zamir, Roee c1a7515393 iwlwifi: mvm: add adaptive dwell support
Update the scan command API with support for adaptive dwell.  Adaptive
dwell is a type of scan that dynamically changes the time it remains
on each channel listening for beacons or probe responses.

Signed-off-by: Roee Zamir <roee.zamir@intel.com>
Signed-off-by: Beni Lev <beni.lev@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-03-28 22:34:51 +03:00
Gregory Greenman 482e48440a iwlwifi: mvm: change open and close criteria of a BA session
Tx BA session should be started according to the current throughput
without any dependence on the internal rate scaling state. The criteria
for opening a BA session will be 10 frames per second.

Sending frequent del BAs can cause inter-op issues with some APs. We'll
not close a BA session until we receive an explicit del BA from the
peer.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-18 17:24:04 +03:00
Emmanuel Grumbach 64511df45c iwlwifi: mvm: remove the corunning support
The corunning block was supposed to help in coex scenarios.
It required the driver to configure the firmware based on
the coupling between the two antennas of the devices.
This was never in use and the configuration sent by the
driver has always been blank.
Remove all that code.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-18 15:59:47 +03:00
Zamir, Roee 6667e6589a iwlwifi: mvm: add compile-time option to disable EBS
For testing purposes, we may want to disable EBS scans at compile time.

Signed-off-by: Roee Zamir <roee.zamir@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-01 12:41:45 +03:00
Johannes Berg 7174beb60c iwlwifi: refactor firmware debug code
Split out the firmware debug code to be more general, so that it
can be used by different subdrivers.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-01 12:41:43 +03:00
Sara Sharon d4f3695ecc iwlwifi: mvm: support old method of NVM parsing
Add configuration for allowing driver's nvm parsing and
bypassing the new host command, for debugging.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-06-02 14:07:46 +03:00
Sara Sharon e9eb5e338f iwlwifi: mvm: add a flag to disable checksum
Add a constant to allow disabling checksum. This will enable easier
debugging in early phases.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2016-05-10 22:14:46 +03:00
Emmanuel Grumbach 11dee0b494 iwlwifi: make uapsd_disable module param a bitmap
This allows to disable uapsd for BSS only, or P2P client
separately. Remove the now unneeded
IWL_MVM_P2P_UAPSD_STANDALONE constant.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2016-03-30 16:21:23 +03:00
Golan Ben-Ami 33efe947e7 iwlwifi: mvm: make collecting fw debug data optional
Slow platforms may have issues with dumping data upon
firmware assert. Make it easier to disable it for those
platform.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2016-02-01 16:40:20 +02:00
Avri Altman ee95ed3728 iwlwifi: mvm: Add P2P client snoozing
Enable snoozing and U-APSD on P2P client. The firwmare will
support this only if the BSS vif is not associated.
Make this configurable by a constant variable and disable
it by default.

Signed-off-by: Avri Altman <avri.altman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2016-02-01 16:40:20 +02:00
Emmanuel Grumbach 41837ca962 iwlwifi: pcie: allow to pretend to have Tx CSUM for debug
Allow to configure the driver to pretend to have TX CSUM
offload support. This will be useful to test the TSO flows
that will come in further patches.
This configuration is disabled by default.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-20 14:48:22 +02:00
Emmanuel Grumbach cb2f827795 iwlwifi: change the Intel Wireless email address
ilw@linux.intel.com is not available anymore.
linuxwifi@intel.com should be used instead.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-12-20 14:48:22 +02:00
Kalle Valo e705c12146 iwlwifi: move under intel vendor directory
Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-11-18 14:28:30 +02:00