Consider the management frames that are consumed/dropped in the FW and also
the frames that are received at the Host but dropped in lower layers.
The host has the MGMT Rx REO parameters about these frames via WMI events.
There could be frames waiting in the MGMT Rx REO list for the above-said
frames. If we update the waiting frames with the MGMT Rx REO parameters of
the above-said frames, the waiting frames could be released and sent for
processing. Add the logic for the same.
Change-Id: I6be4577d30c4aefe2e964aefbb56472749a90cb4
CRs-Fixed: 2987941
When a management Rx frame enters the MGMT TxRx component, route it to the
MGMT Rx REO module where the REO algorithm decides whether the frame needs
to be processed right away or need to wait for frames on other links.
Change-Id: Ib7ca911dfaeee131fd71d9a4345f5bc720326228
CRs-Fixed: 2987784
Fetch fw capability to support p2p+p2p concurrency and
store cap info in 29th bit of soc_fw_ext_caps.
Change-Id: Id8e4c0310f8db503a2997e8aed5a6f1ce813dcc7
CRs-Fixed: 3032068
These defines are used by Supported Rates or Extended Supported Rates
IE to set additional information beside rate.
Change-Id: I44eac41a9a07d368a6fe3abc76e341915b3249b9
CRs-Fixed: 3034939
Add support to send connectivity logs from g_wlan_logging thread.
Add new HOST_LOG_DRIVER_CONNECTIVITY_MSG event flag which wakes up
the gwlan_logging thread when set.
Also register connection manager callbacks to send the logging event.
Check if logging queue is empty whenever the gwlan_logging thread
is woken up and send the logs to userspace if the count doesn't
exceed the allowed threshold.
Change-Id: I3fdb8358f9048a277e2f03894c0e6a17376b0da0
CRs-Fixed: 3029279
MGMT Rx REO algorithm maintains a host snapshot which contains MGMT Rx
REO parameters of the latest frame received by the Host.
Add an API to update the same using the parameters sent by the FW.
CRs-Fixed: 3029489
Change-Id: I7ea574507de4e96407207bcb57319680ae78f7c9
This is part of the MGMT Rx re-order algorithm for MLO (FR 69196).
Consider an MLD formed by multiple discrete MLO-capable chipsets.
Management frames received on individual links will be forwarded or
consumed by the firmware running on that chip. Each link could have
a variable delay in FW->Host messaging. Host can receive these management
frames in an order different from that in which the frames were received
over the air. This problem could be there in single-chip MLD cases also
due to race between FW threads that are handling management frames.
This FR solves this problem by introducing an REO queue in the MGMT Rx path
which reorders the frames and delivers them to upper layers in the order
in which they were received over the air.
Each incoming frame carries an MGMT packet number which is local to that
link, and a timestamp that is global across all the links. MAC HW and FW
capture the same details of the last frame that they have seen. Host also
maintains the details of the last frame it has seen.
Using all this information, calculate the number of frames an incoming
frame should wait for on all other links before it gets delivered.
Change-Id: Icdf5b9b55b2a360bac2d9ea676671702eade3282
CRs-Fixed: 3028766
HW uses only 16-bits to represent MGMT packet counter and 32-bits to
represent global timestamp. Overflow is bound to happen with such sizes.
So, Host can't directly use regular comparison and subtract operators on
the REO data sent by the HW. Add support for operations that take
overflow into consideration.
CRs-Fixed: 3028771
Change-Id: I1c280409b023e0783bf05fe68351e071801f59bc
The 11r roaming is not happening when PMF disabled STA is trying to
roam from PMF disabled AP to PMF optinally configured(ieee80211w=1)
AP which is due to candidate_list is not found because of mgmt
ciphers mismatch (the PMF disabled mgmt cipher is None(1<<17) and PMF
optional AP's mgmt cipher is CMAC(1<<6)) happening while comparing
security params and is due to mgmt cipher value is reset to None(17)
after STA connected to AP.
So, Added changes to reset the mgmt cipher value to zero. Also, added
changes to reset the keymgmt to 0 instead of None since this is
missing in earlier implementation.
Change-Id: I9f24a215011b4984937e98225bcb3975bc3f685f
WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames.
Add target_if and tgt layer support for the same command.
Change-Id: I5daaf4d095774d751d98a27fd77dec9daaa6b16a
CRs-Fixed: 2960488
WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames. Add WMI layer support for the
same command.
Change-Id: If1498fd4fbccd86e7d54d9eac268868b36523d06
CRs-Fixed: 2960472
When MGMT Rx REO feature is enabled, FW will be sending MGMT Rx REO
parameters TLV as part of WMI_MGMT_RX_EVENTID for the frames that require
reordering. Add APIs to extract the same.
Change-Id: I57b132927cf413384d680b5778bfe6a2e2737adf
CRs-Fixed: 2960471
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add WMI layer functionality for this event handling.
Change-Id: Id95f41a717b88589e861781e1111b17dc90475be
CRs-Fixed: 2959118
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add rx_ops and TGT layer functions for this event handling.
Change-Id: I50a4b02063bc545d6976944cf331982dc3e853d0
CRs-Fixed: 2959082
This change adds MLO support to Peer.
It implements,
1) MLO peer list management
2) AID allocation
3) MLO Peer creation/deletion
4) Notifying partner links on peer creation/deletion/assoc
Change-Id: Ie1b675dccdf0de1d79f6f32d9255cf3cca53fdf2
CRs-Fixed: 2967057
Add assoc_peer field in struct wlan_objmgr_peer_mlme.
Provide API to set/get mldmac of peer
Provide API to set/get assoc_peer of peer
Change-Id: If3e84ea6512ab45a53d616e52b64ebcea08ddda6
CRs-Fixed: 2987463
Add pdev data structure definitions for MGMT Rx REO module.
Add a pointer to an object of that type inside the pdev
context of MGMT_TXRX component.
Change-Id: I5214be24d776d8d1c14b3b81c89c0c0fde2654b7
CRs-Fixed: 2959074
Add definitions specific to the basic variant of Multi Link IE. These
are based on IEEE802.11be D1.0.
CRs-Fixed: 2996746
Change-Id: I2779b325a74913bca8b1aca7c048f54bccc1d4d5
Add definitions for Multi Link IE which are common to all variants of
this IE. These are based on IEEE802.11be D1.0.
CRs-Fixed: 2995642
Change-Id: I74e6457a5ef2e3c440144c67df11fee621958d4d
PATCH[7/7]:
This patch consists following changes:
-Conditionally compile all monitor destination ring related code
Macro used QCA_MONITOR_PKT_SUPPORT
-Add QCA_ENHANCED_STATS_SUPPORT macro to conditionally compile
enhanced stats support
-Use QCA_MCOPY_SUPPORT and QCA_TX_CAPTURE_SUPPORT macros
to conditionally compile MCOPY and Tx capture features
respectively
-Use QCN_IE macro to conditionally compile BPR
feature
-Use QCA_ADVANCE_MON_FILTER_SUPPORT macro to conditionally
compile advance monitor filter feature
-Fix vdev attach issue for special and smart monitor vap
-Fix status ring initialization issue.
Change-Id: I0deaa28a9a54bf34b0f41e6dd510fdd8d4992db2
CRs-Fixed: 2983780
Add storage for EHT mac and phy capabilities as
per 11be D1.0 and update the EHT mac and phy capability
sizes.
Change-Id: I67224b35b701235374772e9975375e695f3ed959
CRs-Fixed: 3000166
Management frames from STA should carry SA as link MAC address for ML
connection and net device address for non-ML connection.
To achieve this, update vdev mlme MAC address to link MAC address for
ML connection and to net dev MAC address for non-ML connection.
Change-Id: I2285a43882039dfc706fbf73a494cc09bcba19c7
CRs-Fixed: 2993031
Ideally, the validation of keys have to be done before
ol_getpn() is called to make sure the correct keys are
fetched and to avoid default key values being set.
Earlier, the key validation was done after ol_getpn()
function was called. This change reorders the ol_getpn()
to be called after the key validation.
Change-Id: I5be95b66b19228e2e9d1bca808b294a6b9b01935
Replace global mlo manager context variable with the mlo_mgr context
already defined at global umac object.
Add API to set mlo context at umac global object.
Change-Id: Iad8d534b761aa93e124a721d3d6e01a81ef69b15
Add a new component for MBSS framework in object manager.
Add a new trace module for the new MBSS component framework.
Change-Id: I7ef3559d90a6bc7f558e3994a1a91f09985d90e9
CRs-Fixed: 2958764
Add new events to the interfaces manager for the
following which requires inter vdev co-ordination
1. ACS
2. HT40 scan
These event are sent to the MBSS frameworkfor inter VDEV
co-ordination.
Add a string array ro represent interface manage events.
Add API to retrieve string from interface manager events.
Change-Id: I397621a432da70156e34f46f75fd6c0e8d0a7b53
CRs-Fixed: 2963147
Currently host is populating secondary channel list from master
channel list based on ap power type. In case fw doesn't support
extd cc event then secondary channel list will not have 6g freq,
which may break legacy 6g handling.
Fix is to add validation check for ext cc event support, copy
secondary channel list from ap power type in case ext cc event
is supported by fw else copy secondary channel list from reg
current channel list.
Change-Id: I2e13be2936b624ccbee5e8e426987355076a0062
CRs-Fixed: 2987951
Add #ifdef around the body of the header file so that multiple
inclusions from the same translation unit does not fail compilation.
Change the type of the frequency variables (lowfreq, highfreq) from
signed to unsigned.
Changed the positions of the 16-bit variables (version_minor,
version_major) to avoid alignment error (8 Byte alignement).
Change-Id: I72b8f7acbf21a249e2380301b41739cbe06345d6
CRs-Fixed: 2988464
Check the below service bits and set in psoc if the service is supported
by FW.
WMI_SERVICE_RTT_AP_INITIATOR_STAGGERED_MODE_SUPPORTED
WMI_SERVICE_RTT_AP_INITIATOR_BURSTED_MODE_SUPPORTED
Change-Id: I13504958bf31b2d645d915b4db20719bdc9a4133
CRs-Fixed: 2969195
Add puncturing bitmap along with channel parameters
in vdev structures for filling during vdev start.
Change-Id: I5e5afd6e118ed9933e4d9c30e2ad65cd4259bca0
CRs-Fixed: 2958389
Add scan support for puncturing by extracting the puncturing
bitmap field in the EHT operation IE.
Change-Id: I221464f52bfce40b55344f995945836f80553579
CRs-Fixed: 2982502