Revīziju grafs

318 Revīzijas

Autors SHA1 Ziņojums Datums
Arun Kumar Khandavalli
0e4c14ca77 qcacmn: Return assoc peer as true in case of mlo disabled
In certain cases the driver checks whether the peer is a assoc link
or non-assoc link, in case of legacy connection when mlo is disabled
return true for assoc link.

Change-Id: I50e6b22754ffb26fbb4b7892a962bc754479f7a8
CRs-Fixed: 3059278
2021-10-22 10:20:42 -07:00
Shiva Krishna Pittala
de13832745 qcacmn: Populate and expose 320MHz spectral capabilities
Populate and expose the following 320MHz spectral capabilities.
  - Agile spectral scan support for 320MHz mode.
  - Number of detectors used for spectral scan in 320MHz mode.

Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
2021-10-13 02:57:24 -07:00
Shiva Krishna Pittala
81f3009593 qcacmn: Add support for run-time enablement of MGMT Rx REO feature
Add INI and WMI service bit based enablement support for
MGMT Rx REO feature.

CRs-Fixed: 3014353
Change-Id: I95650718d69b70f119621a9481dbf1518bc5500b
2021-09-27 17:58:04 -07:00
Himanshu Batra
06f52d9da2 qcacmn: Add API to check if STA vdev is mlo assoc or link vdev
Add API to check if STA vdev is mlo assoc or link vdev

Change-Id: If5d5fab4c423939d272156e1dea4fae5d1d8d80a
2021-09-23 21:35:19 -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
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
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
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
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
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
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
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
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
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
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
bings
0e0155eb0d qcacmn: Add mlo link id support
Add mlo link id in struct wlan_objmgr_vdev_mlme

Change-Id: Ib5579bdb85116738714a86c14de6e3bdd46d6271
CRs-Fixed: 2958793
2021-06-21 17:10:13 -07:00
narayan
12a1e5c7fd qcacmn: Add component for Repeater feature
Add component id for Repeater feature.
Move the feature specific flgas to Repeater component.

Change-Id: I1615ce0023a0b0f7a3fffa206d6fa5f320a18ed3
CRs-Fixed: 2936326
2021-06-18 06:04:15 -07:00
Sandeep Puligilla
a64d8a0dbe qcacmn: MLO manager init/de-init
-Add MLO manager global init/de-init
-Add MLO manager vdev create/destroy handlers

Change-Id: I376a52ef7cae28616965bda72b5803155159eb6f
CRs-Fixed: 2947789
2021-06-17 00:12:27 -07:00
Sandeep Puligilla
00198937f7 qcacmn: MLO object manager
- Add MLO manager global objects
- Update Object manager structs for MLO
- Add VDEV mlo sta link feature capability

Change-Id: I9ddcde3f9473425a8c0ddf61024e028aaec9dc14
CRs-Fixed: 2937177
2021-06-14 06:28:25 -07:00
Gururaj Pandurangi
c7c724572a qcacmn: Avoid obj mgr logging in console for MCC
Allow object manager logging in console only for WIN as
it's a critical print. For MCC, this print will not be
logged to avoid console lock and excessive logging.

Change-Id: I09b6dc80486cfa727c130f3fe205f504a46dd0c0
CRs-Fixed: 2938507
2021-05-07 22:54:02 -07:00
Jingxiang Ge
9827e7edd8 qcacmn: Reject vdev destroy if not LOGICALLY_DELETED state
issue happen when wpa_supplicant is creating vdev
and schedule_thread is destroy the same vdev.

if state is not WLAN_OBJ_STATE_LOGICALLY_DELETED,
return back here, otherwise it will cause the creating
vdev_id to be invalid.

Change-Id: I574838bca574add497f1167c75ede44938b7bf17
CRs-Fixed: 2935068
2021-05-04 04:53:48 -07:00
Vivek
57cacda10f qcacmn: Remove locks from object manager debug API
The object manager global lock is used in few
debug APIs. In these instances the log is taken
only on the local copy and the updates are happening
on the local copy without the lock.

So there is nothing that is protected by taking these locks
and there is also a scenario where this lock is resulting in
deadlock, so removing these locks.

Change-Id: I583de096538a5f9c87cbcfa2b267e82630f3278f
CRs-Fixed: 2930205
2021-04-28 21:38:41 -07:00
Alan Chen
61161d0a6e qcacmn: Increase periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC
obj_mgr_alert() function is currently used in
wlan_objmgr_iterate_log_del_obj_handle() to print and is causing
spinlock to be held too long and timing out. Thus, increase the
periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC to 10 seconds.

Change-Id: I00fb3a468d6035856efe07c08299c471f72ba863
CRs-Fixed: 2928906
2021-04-23 22:46:38 -07:00
Shiva Sankar Gajula
7aa318326f qcacmn: Fix to avoid accessing crypto_priv after releasing peer refernce
Adding changes to avoid accessing crypto_priv structure members after
peer reference is released.

Change-Id: I4e1298bff1d05136f0ecd74695719a844b15e19d
2021-04-22 15:25:29 -07:00
Priyadarshnee Srinivasan
2b51168ba8 qcacmn: Add 11BE wireless mode and NO11BE phybitmap
Extract the 11BE flags advertised by FW in WMI_SERVICE_READY_EXT2_EVENTID
and update the regulatory pdev wireless modes. The wireless mode is
currently represented as 'uint32_t' and all the 32 bits are exhausted.
To accommodate the new 11BE flags, change the data type of wireless_modes
from 'uint32_t' to 'uint64_t'.

Add a regulatory phymode 'REG_PHYMODE_11BE' in enum reg_phymode.

If the chip does not support 11BE phymode, FW advertises it via
WMI_REGULATORY_PHYBITMAP enum with a value of REGULATORY_PHYMODE_NO11BE.
Extract the phybitmap and store it in the regualtory
as 'REGULATORY_PHYMODE_NO11BE' bitmap.

CRs-Fixed: 2901260
Change-Id: I4ed3fc7c907b1f76e59efb347c747acea2a163b0
2021-04-12 05:42:52 -07:00
Vivek
7bb2bd6eba qcacmn: Add API to get reference if not logically deleted
There are API to get vdev by reference from psoc by vdev id,
if either the vdev is in any state or the vdev is created state.

The wlan_objmgr_get_vdev_by_id_from_psoc return the vdev reference
only when the vdev is in CREATED state.

If the VDEV is in ALLOCATED or LOGICALLY DELETED state,
the API returns NULL.

In this new API we need to get the reference when
it would be in ALLOCATED state and not in LOGICALLY DELETED state.
We need an API to get vdev by reference only
if the vdev is not in logically deleted state.

Add API to get vdev from psoc by vdev id if
the vdev is allocated state and not in logically deleted state.

CRs-Fixed: 2901595
Change-Id: I1611c7e2a223ca8c4b0c3bf79ded35b2e958d113
2021-03-24 02:12:30 -07:00
bings
4a8bafde55 qcacmn: Add WLAN_VDEV_SS_MLO_SYNC_WAIT and WLAN_VDEV_SS_UP_ACTIVE
For MLO SAP, it can't generate beacon template until all the vdevs
start. To synchronize MLO vdevs start, we add two new substates
WLAN_VDEV_SS_MLO_SYNC_WAIT and WLAN_VDEV_SS_UP_ACTIVE whose parent
state is WLAN_VDEV_S_UP.
Once vdev gets vdev start rsp, notify MLO mgr, who checks whether all
vdevs are active, if so, trigger WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE for
the vdev which is in WLAN_VDEV_SS_MLO_SYNC_WAIT state.
After vdev translates to WLAN_VDEV_S_UP, MLO SAP will translate to
WLAN_VDEV_SS_MLO_SYNC_WAIT, while the other vdev will translate to
WLAN_VDEV_SS_UP_ACTIVE.
MLO sap will notify MLO mgr once it is in WLAN_VDEV_SS_MLO_SYNC_WAIT.
Then MLO mgr checks whether all the vdevs are active, if so, trigger
WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE for the vdev which is in
WLAN_VDEV_SS_MLO_SYNC_WAIT state.
If MLO SAP receives WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE in
WLAN_VDEV_SS_MLO_SYNC_WAIT state, it translates to WLAN_VDEV_SS_UP_ACTIVE

Change-Id: I8be9c02f62719dbdcf4af79d83173c316c64b765
CRs-Fixed: 2866103
2021-03-11 19:53:31 +05:30
Aditya Kodukula
1c6fef8450 qcacmn: Modify the minidump_remove function
The wlan_minidump_remove function utilizes the updated kernel API.
So, modify the function definition and parameters accordingly.

Change-Id: Ib62a46688400d5d9c2ff45c17dc41d5f0b7f58d0
CRs-Fixed: 2860432
2021-03-09 21:06:58 -08:00
Adil Saeed Musthafa
13f9b12f6a qcacmn: ini setting for strict-channel-mode
Introduce ini setting to enable or disable strict_channel_mode. When
this mode is enabled, driver will no longer implicitly select a
different channel (or phymode) if the user configures a phymode (or
channel) which the existing channel (or phymode) does not support. Also
with this mode, the user cannot change country at runtime, if the existing
channel/phymode combination is not supported in the new country.

Change-Id: I8e6246530df5d125a91068d513b436fe71f68e5a
CRs-Fixed: 2842892
2021-01-06 13:52:49 -08:00
Edayilliam Jayadev
8f57245a44 qcacmn: Add Spectral feature capabilities
Add the following Spectral scan capabilities at the pdev level.
 a) Normal Spectral scan capability
 b) Agile Spectral scan capability for 20/40/80 MHz
 c) Agile Spectral scan capability for 160 MHz
 d) Agile Spectral scan capability for 80+80 MHz

Also change the definition of existing Spectral scan capability
at psoc level.

CRs-Fixed: 2840144
Change-Id: I18be48ec4095fa29b62800a9df58b72295747547
2020-12-30 07:06:08 -08:00
Surya Prakash Raajen
21de33ef5d qcacmn: Add support for preferred streams in multivdev restart
Add support to send preferred_xt_streams and preferred_rx_streams
in multivdev restart.

CRs-Fixed: 2833470
Change-Id: I2c06a8bd9a64b15126e216eeb65699e104cbca64
2020-12-15 11:45:07 -08:00
sheenam monga
0d42f3216a qcacmn: Read csa_beacon_template service
check csa_beacon_template service and set
WLAN_SOC_CEXT_CSA_OFFLOAD/25th bit of
soc_fw_ext_caps in psoc if service is
supported by fw.

Change-Id: I8dca74c805cc8696f261e0f791818bca579c80c8
CRs-Fixed: 2826451
2020-12-03 10:52:03 -08:00
Liangwei Dong
55af82b26c qcacmn: replace macro WLAN_OBJMGR_TRACE by WLAN_OBJMGR_REF_ID_TRACE
WLAN_OBJMGR_TRACE is not needed. Ref id trace func is under
control of WLAN_OBJMGR_REF_ID_TRACE. Replace it by
WLAN_OBJMGR_REF_ID_TRACE.

Change-Id: I8877dad0a4f7c13258b2c9bf63dcafb46e5b8b94
CRs-Fixed: 2826259
2020-11-26 08:10:16 -08:00
Srinivas Dasari
da54959f21 qcacmn: Get per channel scan config service capability
Firmware advertises the service capability bit
WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL when it supports per channel
scan config flags. Get this and cache in psoc.

If firmware supports WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL, it uses
the upper-12 bits(bit-20 to bit 32) of channel_list for flags and
lower 20-bits(bit-0 to bit-19) for frequency. If firmware doesn't
support it, then channel_list holds the frequency value only.
Fill the flags and frequency accordingly.

Change-Id: I88a6f29f61e1ecea75bc5574cadcbbfbb7f8b188
CRs-Fixed: 2806405
2020-11-05 16:12:54 -08:00
Ashish Kumar Dhanotiya
3faf318e8c qcacmn: Add a check for vdev with bssid mac
There is a possibility that driver already has a vdev
with the mac address same as bssid, in this case sta
should not connect to this AP as it may lead to undefined
behavior.

To address above issue add a check to compare bssid with
already existing vdevs before connect start.

Along with above changes add few renaming changes also.

Change-Id: Ia12be0b392a01bf935b5261e505290064de68805
CRs-Fixed: 2809147
2020-11-04 17:02:00 -08:00
Liangwei Dong
cee83b8a96 qcacmn: Fix build error in reference count tracing
Fix below build error when feature WLAN_OBJMGR_REF_ID_TRACE
enabled:
1: "line_node" may be used without initialized in function
wlan_objmgr_trace_check_line. Fix by linking new
line node to link_head.
2: Use "peer_obj" to print trace info of peer object.
The "vdev_obj" is invalid when object type is WLAN_PEER_OP.

Change-Id: I067704976bb8d2dd11873af96fa4778adce7901b
CRs-Fixed: 2802642
2020-11-02 17:32:42 -08:00
Liangwei Dong
ab7df35e80 qcacmn: Create more reference count dbg id for OS IF layer
At present more than hundred places to get/put reference
with WLAN_OSIF_ID dbg ID. To help debug reference count
issue, split OS_IF to more sub ids based on functionality.
It will help narrow down to small area if ref count leak
issue happens.

Change-Id: Icca465cbe91a55b4abe0d74bb3de131615bbc6bb
CRs-Fixed: 2802974
2020-10-29 04:54:02 -07:00
Naga
8701ff62fd qcacmn: Avoid peer free notification for self peer
Change logic to identify self peer from pointer
comparison to mac comparison, as there is a chance
self peer can be null and peer free notification
will be issued to self peer.

CRs-Fixed: 2790058
Change-Id: Id0615bbfbe871a47477db7474027216619ca34f0
2020-10-27 06:56:01 -07:00
Naga
c9e9267a06 qcacmn: Add feature flag for peer create response
Add soc feature flag for peer create response
event.

Change-Id: I29058baf9901a2eeedc10144d832c697a81f632a
CRs-Fixed: 2797195
2020-10-22 21:31:43 -07:00
hqu
ba45fe7e2c qcacmn: Fix implicit-fallthrough compile error casued by gcc 9.3
Compiling with gcc 9.3 will cause many implicit-fallthrough
compile errors.

Fix is to add keyword fallthrough to resolve such compile error.

Change-Id: I2e7dd1525861d951e3be44f6665e149499f0f5d6
CRs-Fixed: 2785178
2020-10-08 12:24:02 -07:00
Harsh Kumar Bijlani
4161cccc7e qcacmn: Remove unused member wlan_active_vdevs from wlan_objmgr_psoc
In structure wlan_objmgr_psoc, member wlan_active_vdevs which is an
array of size WLAN_UMAC_PSOC_MAX_VDEVS and type uint8_t is neither
populated nor used anywhere. Remove this unused member from the
structure.

Change-Id: Ib2e49e42fe986358c26fa95a9287b20297b0eccf
2020-10-06 04:11:03 -07:00
Ashish Kumar Dhanotiya
0ac0e6b10e qcacmn: Add support for disconnect path for connection manager
Currently disconnect is not handled in connection manager,
add support to handle disconnect in connection manager.

Change-Id: If3d5ac12300527ea0162efd955521711ed52c494
CRs-Fixed: 2785950
2020-10-06 01:28:16 -07:00
Abhishek Singh
b494f209e8 qcacmn: Fix connection manager osif context initialization
Rename connection manager osif context and move the init and deinit
to osif from umac.

Change-Id: Id320e1b0e9bf53f1a2aa4a5bc536d6dec7f63bf2
CRs-Fixed: 2779890
2020-09-18 15:17:19 -07:00
Naga
d0a144af3c qcacmn: Define feature flag for WDS extended
Define SOC level feature flag for WDS extended,
which will configured through ini.

Change-Id: I63a6eaeff5946d12cc92f8996c572f025fbc44f2
CRs-Fixed: 2774054
2020-09-12 08:17:22 -07:00
Lincoln Tran
0e8995bde7 qcacmn: Assign disconnect event handler
Assign the disconnect start and disconnect complete event handler
in the interface manager.

This change is part of the interface manager effort.

Change-Id: I6885c2ace59fa0f305e45d421d158bef02aa937b
CRs-fixed: 2760080
2020-09-11 07:36:50 -07:00
Ashish Kumar Dhanotiya
532ecd2521 qcacmn: Update connection manager command id and source in osif
Currently connection manager command id and source of the
connect/disconnect request is not getting updated in osif.
Add a change to update the connection manager command id and
source of the request in osif.

Change-Id: Icbf33680bd898ac026ac50f08b57641dfe481f55
CRs-Fixed: 2765976
2020-09-11 05:24:50 -07:00