Commit Graph

61 Commits

Author SHA1 Message Date
Jose Ignacio Tornos Martinez 371a56ad38 wifi: iwlwifi: mvm: use link ID in missed beacon notification
JIRA: https://issues.redhat.com/browse/RHEL-2907

commit d464550bb2e9cce2c377ed39c7e327e7db6e2be9
Author: Yedidya Benshimol <yedidya.ben.shimol@intel.com>
Date:   Wed May 24 20:41:59 2023 +0300

    wifi: iwlwifi: mvm: use link ID in missed beacon notification
    
    This new version of missed beacon notification uses link_id
    instead of mac_id. Also add an option to use link id for
    retrieving vif.
    
    Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230524203151.17fe1cc632f1.Id1fabb532e2174712fe17d4ad86a2c8c64ae84da@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:11 +01:00
Íñigo Huguet b29909d57e wifi: iwlwifi: mvm: fix number of concurrent link checks
Bugzilla: https://bugzilla.redhat.com/2196821

commit 204bfec9168ddd869a05e7f70dc5b0a9ae513722
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Sun May 14 12:15:47 2023 +0300

    wifi: iwlwifi: mvm: fix number of concurrent link checks
    
    The concurrent link checks need to correctly differentiate
    between AP and non-AP, fix that.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230514120631.992b2f981ef6.I7d386c19354e9be39c4822f436dd22c93422b660@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:31 +02:00
Íñigo Huguet 05eed02998 wifi: iwlwifi: mvm: rework active links counting
Bugzilla: https://bugzilla.redhat.com/2196821

commit 9deccfcd48b7c358245ed05c11b142cc945daf5e
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Wed Mar 29 10:05:34 2023 +0300

    wifi: iwlwifi: mvm: rework active links counting
    
    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 <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230329100040.1ecfb27b6b84.I3a5e0bc32b3728e4caae8a231bc3f04ea1d89cad@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:20 +02:00
Íñigo Huguet fbd929786b wifi: iwlwifi: mvm: implement link change ops
Bugzilla: https://bugzilla.redhat.com/2196821

commit bf976c814c864ec45fa32303e7080fc2e6efe4f2
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Mar 28 10:59:11 2023 +0300

    wifi: iwlwifi: mvm: implement link change ops
    
    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 <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104949.6186c5a37e99.Ifd00d3ee93356ddef273aa18f1e081cd8f2c84ae@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:14 +02:00
Íñigo Huguet 9627b93b0b wifi: iwlwifi: mvm: add fw link id allocation
Bugzilla: https://bugzilla.redhat.com/2196821

commit d6f6b0d804e08e1cab1dcebe4f62dc949bb646e9
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Tue Mar 28 10:59:06 2023 +0300

    wifi: iwlwifi: mvm: add fw link id allocation
    
    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 <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104949.a53e5df49c33.I02b25648d2d5ca370c0697bf19d0d34724eae8a1@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:13 +02:00
Íñigo Huguet 42cb77fe62 wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed()
Bugzilla: https://bugzilla.redhat.com/2196821

commit 22c588343529d34e971b7cafae99d23f80dff7e9
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Tue Mar 28 10:59:04 2023 +0300

    wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed()
    
    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 <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104949.7b238cae0895.Ieb87f204787fb1c7cb7562e1cbf54ef518d87123@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:12 +02:00
Íñigo Huguet 3b850e0ce6 wifi: iwlwifi: mvm: add link_conf parameter for add/remove/change link
Bugzilla: https://bugzilla.redhat.com/2196821

commit cacc1d42a489f6f61cd5bdc42d216ec29b144317
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Tue Mar 28 10:59:03 2023 +0300

    wifi: iwlwifi: mvm: add link_conf parameter for add/remove/change link
    
    Add link_conf parameter and change all the relevant calls accordingly.
    
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104949.374015eed2e3.Icbf15a18e2599b53f4fa1c92fe3db64b551b84b1@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:12 +02:00
Íñigo Huguet f86698a54b wifi: iwlwifi: mvm: add link to firmware earlier
Bugzilla: https://bugzilla.redhat.com/2196821

commit cb145863e7abbbf4248ab11d2783a1b619349d1b
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Mar 28 10:58:59 2023 +0300

    wifi: iwlwifi: mvm: add link to firmware earlier
    
    The firmware now allows adding a link that's not yet bound
    to a PHY context. Make use of that to align the driver with
    mac80211's API expectations. For now, just add the link at
    the same time as the MAC since we don't yet have real MLD
    support, but that'll obviously change later. This fixes an
    issue with apStaId tracking in the firmware.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104949.097e5008b637.I4e75c6c11e21c08d28ff6a066be36629d3975db6@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:11 +02:00
Íñigo Huguet b9ec13238b wifi: iwlwifi: mvm: align to the LINK cmd update in the FW
Bugzilla: https://bugzilla.redhat.com/2196821

commit 6b5a87df8ec8e3e24ffde62b1356aad9b4e9182d
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Tue Mar 28 10:58:55 2023 +0300

    wifi: iwlwifi: mvm: align to the LINK cmd update in the FW
    
    The LINK cmd host api has been updated. Align the driver to the
    new changes. Also, temporary use mac_id for link_id.
    Using the phy_id as the link_id is wrong since we might have 2 macs
    operating on the same phy - in this case we will have 2 different
    links (one for each mac) with the same link_id. On the other hand,
    since we don't have MLO implemented yet, we won't have 2 different
    links of the same mac. Therefore, we can use the mac_id as the
    link_id.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104948.78ae716884fe.Icfeb2794d9652baaccf9b0cdddbd751d0db4f952@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:10 +02:00
Íñigo Huguet 360fc6c86d wifi: iwlwifi: mvm: vif preparation for MLO
Bugzilla: https://bugzilla.redhat.com/2196821

commit 650cadb730105f1894b6c8afacc57a368dd18b91
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Tue Mar 28 10:58:41 2023 +0300

    wifi: iwlwifi: mvm: vif preparation for MLO
    
    In MLO, some fields of iwl_mvm_vif should be defined in the
    context of a link. Define a separate structure for these fields and
    add a deflink object to hold it as part of iwl_mvm_vif. Non-MLO legacy
    code will use only deflink object while MLO related code will use the
    corresponding link from the link array.
    
    It follows the strategy applied in mac80211 for introducing MLO
    changes.
    
    The below spatch takes care of updating all driver code to access
    fields separated into MLD specific data structure via deflink (need
    to convert all references to the fields listed in var to deflink.var
    and also to take care of calls like iwl_mvm_vif_from_mac80211(vif)->field).
    
      @iwl_mld_vif@
      struct iwl_mvm_vif *v;
      struct ieee80211_vif *vv;
      identifier fn;
      identifier var = {bssid, ap_sta_id, bcast_sta, mcast_sta,
                        beacon_stats, smps_requests, probe_resp_data,
                        he_ru_2mhz_block, cab_queue, phy_ctxt,
                        queue_params};
      @@
    
      (
        v->
      -    var
      +    deflink.var
      |
        fn(vv)->
      -    var
      +    deflink.var
      )
    
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104948.4896576f0a9f.Ifaf0187c96b9fe52b24bd629331165831a877691@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:07 +02:00
Íñigo Huguet c82cff760e wifi: iwlwifi: mvm: add support for the new LINK command
Bugzilla: https://bugzilla.redhat.com/2196821

commit 55eb1c5fa4b260491d8be3299d4546d0b34465f4
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Tue Mar 14 19:49:19 2023 +0200

    wifi: iwlwifi: mvm: add support for the new LINK command
    
    As a part of the new MLD FW API changes, we have a new LINK command
    to add/remove/configure a link.
    Add structures and enum definitions, along with the functions that
    sends this command (i.e. add, remove and change mac ctxt).
    These functions will be in used in the next patches.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230314194113.d7808329effb.I13bea2db206b78540bc866bc3ab755ad5be78c53@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:14:48 +02:00