提交图

1006 次代码提交

作者 SHA1 备注 提交日期
Shiva Krishna Pittala
01c079b17b qcacmn: Add handlers for FW consumed and Host dropped MGMT frames
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
2021-09-17 05:54:06 -07:00
Shiva Krishna Pittala
5d74978e0d qcacmn: Hook MGMT Rx REO algorithm in MGMT Rx path
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
2021-09-17 05:54:01 -07:00
sheenam monga
a554290f06 qcacmn: Fetch fw cap to support p2p + p2p concurrency
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
2021-09-16 22:58:23 -07:00
Will Huang
99e7db2551 qcacmn: Add bss membership selector defines to wlan_cmn_ieee80211.h
These defines are used by Supported Rates or Extended Supported Rates
IE to set additional information beside rate.

Change-Id: I44eac41a9a07d368a6fe3abc76e341915b3249b9
CRs-Fixed: 3034939
2021-09-16 08:28:34 -07:00
Pragaspathi Thilagaraj
b001e0e130 qcacmn: Add support to send connectivity logs from logging thread
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
2021-09-16 08:28:29 -07:00
Shiva Krishna Pittala
719e90b6dc qcacmn: Add API to update MGMT Rx REO Host snapshot
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
2021-09-13 06:20:19 -07:00
Edayilliam Jayadev
c85bc308e4 qcacmn: Add APIs to handle the reorder list
Add APIs to create/update/destroy reorder list.

CRs-Fixed: 3017570
Change-Id: I74528a7f13db8f48c0fc5c5516ea754caf4b686a
2021-09-13 06:20:13 -07:00
Shiva Krishna Pittala
5bae4f1b26 qcacmn: Add algorithm to compute wait count for an incoming mgmt frame
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
2021-09-12 21:58:12 -07:00
Shiva Krishna Pittala
ff4f258129 qcacmn: Add circular arithmetic operations for MGMT Rx REO data
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
2021-09-12 21:58:07 -07:00
Lincoln Tran
ce48d77998 qcacmn: Add debug MLO changes
-Add debug logs to MLO manager code.
-Add ml_dev validation checks for ML peer operations.
-Add pointer checks to avoid NULL pointer dereference

Change-Id: I8e9ddf177a999a43e8612f8c6acedd08ffce63d5
CRs-fixed: 2998964
2021-08-25 19:45:02 -07:00
Shiva Sankar Gajula
d3b7b11795 qcacmn: Reset mgmt ciphers and key mgmt to 0 by default
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
2021-08-25 07:25:20 -07:00
Edayilliam Jayadev
9ccbe5a0fb qcacmn: Add API to get address of mgmt Rx REO snapshots
Add APIs to get address of management rx-reordering snapshots.

CRs-Fixed: 2963485
Change-Id: Idfe13425ad5f95f1a3d92edfc2d6d41aded5aec9
2021-08-23 13:26:36 -07:00
Shiva Krishna Pittala
93c0702c78 qcacmn: Add support for MGMT Rx REO filter config command
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
2021-08-21 15:17:33 -07:00
Shiva Krishna Pittala
57543be336 qcacmn: Add WMI layer functionality for MGMT Rx REO filter config command
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
2021-08-21 13:06:51 -07:00
Shiva Krishna Pittala
361f45dd82 qcacmn: Add APIs to extract MGMT Rx REO params tlv
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
2021-08-21 13:06:43 -07:00
Shiva Krishna Pittala
a52614b732 qcacmn: Add WMI layer functionality for MGMT Rx FW consumed event handler
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
2021-08-20 12:57:21 -07:00
Rhythm Patwa
07fc0519ee qcacmn: Add support for AFC response structures
Add AFC response structures to send over AFC response
data over to target.

Change-Id: I80530b56b94acc43b35b414c10d6783cd8dcdd92
2021-08-19 15:22:02 -07:00
Shiva Krishna Pittala
3bde57d8de qcacmn: Add rx_ops and TGT layer APIs for MGMT Rx FW consumed event handler
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
2021-08-19 04:59:51 -07:00
Edayilliam Jayadev
ff18a53051 qcacmn: Add API to read mgmt Rx REO snapshots
Add APIs to read management rx-reordering snapshots.

CRs-Fixed: 2955865
Change-Id: I1f36705607b0bae92d422d85223f825ed0b96ef9
2021-08-19 04:59:46 -07:00
Mohammed Ahmed
c775b5586a qcacmn: Fix incorrect layering in scan component
Replace ucfg api call with wlan api calls for internal components.

Change-Id: I0289bf44753d3692468a12fbe7109e348c8e8957
CRs-Fixed: 3011167
2021-08-19 02:14:11 -07:00
Srinivas Pitla
7469335fa4 qcacmn: MLO peer implementation
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
2021-08-15 01:53:04 -07:00
Chaithanya Garrepalli
0702aaf463 qcacmn: initialize PPE rings
Changes to initialize PPE rings based on ini
configuration

Change-Id: Id6a26b557c45fd78ae17675b0292424e979958ad
2021-08-13 12:04:22 -07:00
Amruta Kulkarni
693dbbdf2f qcacmn: Wma to target_if migration for roam sync
Roam sync event wma to target_if migration.

Change-Id: I6992675f4260120134563292e0b189132a955d48
CRs-Fixed: 3001497
2021-08-07 02:59:06 -07:00
bings
159f1e9590 qcacmn: API to set/get mldmac and assoc_peer of peer
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
2021-08-04 12:57:18 -07:00
Shiva Krishna Pittala
5611ef5081 qcacmn: Add upper layer support to (un)register MGMT TxRx WMI events
Add TGT layer APIs in MGMT TxRx component to (un)register WMI events.
Add psoc enable/disable handlers in MGMT TxRx component and register them.

Change-Id: Icfea29005cc9b41cccbea9c27b59222ebc1983f7
CRs-Fixed: 2959077
2021-08-04 08:08:15 -07:00
Shiva Krishna Pittala
ef3d7b71c2 qcacmn: Add pdev data structure for MGMT Rx REO module
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
2021-08-04 05:52:57 -07:00
Edayilliam Jayadev
a6435ad62a qcacmn: Add management rx reorder data structures
1. Add files related to MGMT Rx REO module.
2. Add management Rx reorder list data structure.
3. Add global management Rx reorder context object.

CRs-Fixed: 2927236
Change-Id: Ia3c7ec8e1dad8ad1aaa7db7a9143927055fd7806
2021-08-04 05:52:42 -07:00
Amruta Kulkarni
f6032d1c4a qcacmn: Generate Link Specific Assoc Response
Generate link specific association response for
MLO partner links.

CRs-Fixed: 2970626
Change-Id: I48520290c09f48ce356d166e1cd2ef24938e8fb2
2021-08-03 06:55:23 -07:00
Krishna Rao
dd6ac7346c qcacmn: Add definitions for basic variant Multi Link IE
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
2021-07-31 00:13:26 -07:00
Krishna Rao
6bfd5d6e4b qcacmn: Add common definitions for Multi Link IE
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
2021-07-31 00:13:20 -07:00
aloksing
c60b9619a3 qcacmn: Conditionally compile monitor related features and issue fixes
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
2021-07-30 21:51:26 -07:00
Venkateswara Swamy Bandaru
ed74f5b410 qcacmn: EHT capability changes for D1.0
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
2021-07-29 00:08:07 -07:00
Bapiraju Alla
e95a45c0f7 qcacmn: Update vdev mlme MAC address based on connection type
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
2021-07-28 19:02:38 -07:00
Kani M
7438cab313 qcacmn: Fix for the order of ol_getpn
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
2021-07-26 03:46:48 -07:00
Linux Build Service Account
cec19bb17c Merge "qcacmn: Add API to set mlo context at umac global object" 2021-07-23 05:10:22 -07:00
Santosh Anbu
34be27c9fb qcacmn: Add API to set mlo context at umac global object
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
2021-07-22 23:38:34 -07:00
Linux Build Service Account
a2402e5cc9 Merge "qcacmn: Add an api to check if frame has SON repeater IE" 2021-07-22 11:42:00 -07:00
Neha Bisht
7aa5b3ebb7 qcacmn: Add an api to check if frame has SON repeater IE
Add an api to check if received frame has SON repeater IE or not.

Change-Id: Id89bfbc5dd555d58673e390e3e093e0da75b6d63
2021-07-22 09:50:10 -07:00
Vivek
3853650e2e qcacmn: Add new MBSS framework component
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
2021-07-21 17:14:56 -07:00
Vivek
c893f06069 qcacmn: Add new events to the interface manager
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
2021-07-21 01:18:12 -07:00
Santosh Anbu
9bb7a9dc52 qcacmn: Update MLO MGR module ID string
Add change to update mlo mgr module id string.

Change-Id: I1c98afc6b0afbf3da62e8289c75cc74c8a4af014
CRs-Fixed: 2992646
2021-07-19 10:30:34 -07:00
sheenam monga
c22a0bcc59 qcacmn: Check ext cc event support before pouplating sec chan list
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
2021-07-19 05:39:03 -07:00
Abhijit Pradhan
235cac91ea qcacmn: Add ifdef around the body of the header file
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
2021-07-17 01:46:34 -07:00
Shashikala Prabhu
ea157e3a14 qcacmn: Read AP initiator burst and staggered service bits
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
2021-07-14 10:33:01 -07:00
Venkateswara Swamy Bandaru
8bc0945029 qcacmn: Add 11be puncturing support
Add puncturing bitmap along with channel parameters
in vdev structures for filling during vdev start.

Change-Id: I5e5afd6e118ed9933e4d9c30e2ad65cd4259bca0
CRs-Fixed: 2958389
2021-07-14 02:05:32 -07:00
Venkateswara Swamy Bandaru
aece6974f6 qcacmn: Add scan support for 11be puncturing
Add scan support for puncturing by extracting the puncturing
bitmap field in the EHT operation IE.

Change-Id: I221464f52bfce40b55344f995945836f80553579
CRs-Fixed: 2982502
2021-07-14 02:05:24 -07:00
Sandeep Puligilla
9c652b4d8b qcacmn: Implement AP start/stop API in mlo mgr
Implement AP start/stop API in mlo manager.

Change-Id: Ib9fcc4a678ebfe1ad57043891b12fc98998cf931
CRs-Fixed: 2970650
2021-07-10 02:58:34 -07:00
Santosh Anbu
4d22cbcab3 qcacmn: Add API to get mlo context from objmgr
Add API to get mlo context from object manager.

Change-Id: Ic037d346842d880d8ef54104ea55391bc7058018
CRs-Fixed: 2964102
2021-07-08 00:11:17 -07:00
Bapiraju Alla
561025df10 qcacmn: Add support to RNR and multi link IE parsing for ML scoring
Add support to parse RNS and ML IE and fill ml info in the scan
cache entry.

Change-Id: Ia5fdd0310e20d4435343f0535c071ea3d8510ef8
CRs-Fixed: 2961893
2021-07-07 11:24:33 -07:00
Linux Build Service Account
07bcd91819 Merge "qcacmn: Add version info to the AFC request structure for compatibility" 2021-06-29 19:41:36 -07:00