Commit Graph

988 Commits

Author SHA1 Message Date
Divyajyothi Goparaju
611a226bbf qcacld-3.0: Optimize bmiss vdev set param command frequency
Currently host sends bmiss set param commands
separately to firmware.
Combine bmiss set params send to WMI to reduce
number of transactions.
Also replace target wmi vdev params with host wmi
vdev params to fix existing broken layering
violation.

Change-Id: I5867ee76f68abf462becafc1f5f80c422c239f4b
CRs-Fixed: 3333237
2022-12-26 05:52:04 -08:00
Jyoti Kumari
af62331dd8 qcacld-3.0: Add WMI interface to configure EDCA/PIFS param
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.

This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 1 then host will configure PIFS param and
send it to firmware via WMI interface.

Change-Id: I09f49474c0a698257d06aa4f1a17b56aae735fa5
CRs-Fixed: 3349447
2022-12-12 11:49:17 -08:00
Arun Kumar Khandavalli
6d5ce1983d qcacld-3.0: reject client if the peer is present same ml address
Host/fw doesn't support the ml peers or legacy peers with same
mac address, So reject the client with the same link address or
mld address as one of the ml or legacy peers in the system.

Change-Id: I5f625e06c1f3832739d0424e1567a9957037fef8
CRs-Fixed: 3344809
2022-12-07 05:50:06 -08:00
Jia Ding
2d267a9f31 qcacld-3.0: Fix undeclared identifier STA_ENTRY_TDLS_PEER
STA_ENTRY_TDLS_PEER is defined under feature flag FEATURE_WLAN_TDLS.
With FEATURE_WLAN_TDLS=n, compiler throws use of undeclared identifier
'STA_ENTRY_TDLS_PEER'.

Hence fix the error in wma_he.c:1276 introduced in change
I16073a51a8949093872f7a421e0ad01648b63e92.

Change-Id: I0038dad70147b5c4ded2abad34baf50c8bc32f83
CRs-Fixed: 3275175
2022-11-04 03:18:42 -07:00
Gururaj Pandurangi
6864e1582c qcacld-3.0: Add new API to extract link ID for all MLO modes
Currently, Host populates link IDs per link and sends it to FW
in case of EMLSR mode. Add new API to exclusively extract link
ID per vdev and share with FW via peer assoc command and hence
extend this logic across all MLO modes.

Change-Id: I270f3a54ee806bdcf1a2713f5a569d3a52743954
CRs-Fixed: 3300101
2022-10-20 18:01:15 -07:00
Rachit Kankane
983623c4b8 qcacld-3.0: Spatial Reuse enhancement for SAP
Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE

Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
2022-10-17 06:47:26 -07:00
Jeff Johnson
09ce6ae175 qcacld-3.0: core: wma: Fix misspellings
Fix misspellings in core/wma/...

Change-Id: Ie335a23b85dac4ee5670704a9e3c2eb07f511cfc
CRs-Fixed: 3303623
2022-10-03 00:19:18 -07:00
Jeff Johnson
95eb68913f qcacld-3.0: Rename wma_txrx_node::is_del_sta_defered
Rename is_del_sta_defered to is_del_sta_deferred to fix misspelling:
defered ==> deferred.

Change-Id: If4ee31ddc9352fae367b99baffde56233857a64f
CRs-Fixed: 3281817
2022-09-27 14:58:13 -07:00
Jianmin Zhu
c5b2a64098 qcacld-3.0: Clean up legacy wma_roam_auth_offload_event_handler
Clean up useless legacy code wma_roam_auth_offload_event_handler.
It is replaced by target_if_cm_roam_auth_offload_event already.

Change-Id: I473d20f70c00c7d0e4c390a19b4ec6fdf9c0268b
CRs-Fixed: 3290006
2022-09-13 23:02:32 -07:00
Gururaj Pandurangi
d144b95d6d qcacld-3.0: Extract MSD caps from MLD AP to share with FW
Extract MSD capabilities from assoc response from MLD AP
and share the params with FW via peer assoc cmd on all MLO
links.

Change-Id: I301f56c37b6d0d2c56af13eec72d2e452a1508ed
CRs-Fixed: 3271116
2022-09-02 21:00:11 -07:00
Jeff Johnson
c5b6befd72 qcacld-3.0: Fix misspellings of "capability" and "capabilities"
Fix misspellings of "capability" and "capabilities":
capabiities ==> capabilities
capabilites ==> capabilities
capabilties ==> capabilities
capabilty ==> capability
capablities ==> capabilities
capablity ==> capability

Change-Id: Ie4f14088fb86b63e3ee985c004f82d73d2c73963
CRs-Fixed: 3274606
2022-08-29 19:09:04 -07:00
Surabhi Vishnoi
1981726d18 qcacld-3.0: Refactor code to store chan info status in cp_stats
Currently channel info stats are stored in LIM. Refactor
code to store channel info stats in cp stats component.

Change-Id: I2e7219c112e96916d3b73f974dd9803b9c2821c3
CRs-Fixed: 3265722
2022-08-19 01:53:43 -07:00
Pragaspathi Thilagaraj
832fee1036 qcacld-3.0: Refine PASN peer delete all & pasn auth status path
Refine PASN peer delete all path, to post message to
scheduler thread to process the peer delete all
message for PASN peers. Handle response timeout in WMA.
Resume vdev deletion after removing pasn peers

Add vendor command support to parse below vendor commands:
QCA_NL80211_VENDOR_SUBCMD_PASN
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT

Send install key command to firmware to install the
PTK upon receiving
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
vendor command. If LTF keyseed is also received,
send the LTF keyseed to firmware.

Sent PASN auth status to firmware upon receiving
QCA_NL80211_VENDOR_SUBCMD_PASN command.

Change-Id: Idc9c69f7288b0774cc6d9bdcfed13ba3684bbc72
CRs-Fixed: 3231205
2022-07-14 04:12:30 -07:00
Jayachandran Sreekumaran
e728680f11 qcacld-3.0: Add spatial reuse feature support
Add SAP mode support for non-srg spatial reuse.

Change-Id: Ic575eefd0d36b6750d826c9bccbd53f07ae9ea75
CRs-Fixed: 3213404
2022-07-11 23:12:40 -07:00
Pragaspathi Thilagaraj
da71bc9d01 qcacld-3.0: Delete all PASN peers before vdev delete
Delete all PASN peers before vdev delete

Change-Id: I125c62680179ae9ba466c8e26573d82680f6e9d3
CRs-Fixed: 3170778
2022-07-07 17:46:40 -07:00
Pragaspathi Thilagaraj
e33def8324 qcacld-3.0: Add support to create ranging peer
Add support to send ranging peer create command from WMA

Change-Id: I67966983b157efaecaad7209b679483f010e84a5
CRs-Fixed: 3150075
2022-07-07 17:46:28 -07:00
Utkarsh Bhatnagar
4d9e51e8a7 qcacld-3.0: Allow TDLS connection in wideband only if fw supports
Irrespective of 6 GHz, wideband can be supported.
So, Allow TDLS connection in wideband only if FW supports TDLS
on 6Ghz.
If Fw doesn't support wideband then restrict the TDLS connection
BW to APs Bw.

Change-Id: If726233f381921a8eda25ac7a2705942db79d410
CRs-Fixed: 3223760
2022-06-30 10:53:58 -07:00
Utkarsh Bhatnagar
5b8626946b qcacld-3.0: Allow TDLS connection on 6GHz only if fw supports
Allow TDLS connection on 6GHz only if FW supports TDLS on 6GHz.

Change-Id: I663bd6d73235664c21029d8956f465da5a5b39c6
CRs-Fixed: 3223677
2022-06-25 03:03:20 -07:00
Gururaj Pandurangi
6e816ae090 qcacld-3.0: Add eMLSR HW mode support for ML STA
Add eMLSR HW mode support for ML STA. eMLSR mode
(Enhanced Multi-link Single-Radio) is a new HW mode within 802.11be
op mode. This change consists of the following
1) Handle the new eMLSR HW mode. FW sends this capability to host via
extended service ready event.
2) If FW supports this mode, then update the eMLSR capability sub-fields
in the Basic-variant MLO IE under the assoc request frame.
3) Provide peer info like eMLSR capability, transition timeout, and link
IDs to FW through WMI_PEER_ASSOC_CMDID.

Change-Id: Idc00f5f780b5617e513f307952b58277669dee85
CRs-Fixed: 3184708
2022-06-10 13:19:00 -07:00
Arun Kumar Khandavalli
5e29697d88 qcacld-3.0: Add EHT bitrate support
Add EHT MCS to rate mapping for NSS 1 and NSS 2.

Update TX/RX bitrate for EHT connection depending on current MCS/NSS
configuration.

Change-Id: I0c55beab2c6b9a9609d5a2e454a0c0e8c1312d09
CRs-Fixed: 3181127
2022-06-09 11:42:24 -07:00
Ashish
aa31fd94c1 qcacld-3.0: Add support for new config item ConDTIMSkipping_MaxTime
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.

Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
2022-06-01 01:44:51 -07:00
Surabhi Vishnoi
d912895695 qcacld-3.0: Acquire wakelock during roaming if key installation is pending
Currently, wakelock is only taken during initial connection if
pairwise key installation is pending and not during roaming. This
may lead to EAPOL delay/timeout during roaming as runtime pm and
suspend is allowed during roaming. To fix this issue, acquire
wakelock if key installation is pending during roaming.

This change also refactors the code and release the wakelock in
wma_remove_peer if EAPOL fails during initial connection or roaming.

Change-Id: Id4cac30b3c383ca3d3e963571846f8a30eaa1006
CRs-Fixed: 3189799
2022-05-26 13:33:57 -07:00
Ashish
955fdc0d79 qcacld-3.0: Add support to cache peer nss in sap mode
Currently driver does not caches peer nss and it needs this info
for big data stats. When driver receives big data stats command
it always returns nss as 0 which is not correct.

To address above issue, add support to cache peer nss in SAP
mode.

Change-Id: I5152581d7d66b5bf20f6102dcb9edaa4e23b35bc
CRs-Fixed: 3174420
2022-04-26 12:17:53 -07:00
Vinod Kumar Myadam
94da0db1a5 qcacld-3.0: Get mgmt frame info from frame buffer for logging
Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.

Move management frames handling from lim_send API to tx_complete_cnf API

Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
2022-04-26 12:17:47 -07:00
abhinav kumar
e65264f599 qcacld-3.0: Process latency level cmd and event
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.

FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.

Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
2022-04-26 05:37:43 -07:00
Utkarsh Bhatnagar
658e6789d3 qcacld-3.0: Cleanup MPC_UT_FRAMEWORK Config
Cleanup MPC_UT_FRAMEWORK Config

Change-Id: Ifd05bdae81070c948e63d753bd671e7b41c0228c
CRs-Fixed: 3179082
2022-04-25 10:15:28 -07:00
Rachit Kankane
95c7d2ecf8 qcacld-3.0: Add peer ops support for SON
Add support for below SON peer ops:

PEER_SET_KICKOUT
PEER_SET_EXT_STATS
PEER_REQ_INST_STAT
PEER_GET_MAX_MCS

Change-Id: Iafadd17d6a13cfbba2884e50a0432c34115cd7f7
CRs-Fixed: 3141862
2022-03-07 19:07:52 -08:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Pragaspathi Thilagaraj
d1b26fedd0 qcacld-3.0: Remove unused WMA code
Remove unused SIR macro & enums.

Change-Id: Ib81d2fe87efa5e5c1c44f682f4775d400da52bdc
CRs-Fixed: 3133920
2022-02-19 09:56:32 -08:00
Rahul Gusain
2fa299894c qcacld-3.0: Optimization of logs
optimize logs in one line for func sch_qos_update_broadcast and
wma_process_update_edca_param_req/wma_update_edca_params_for_ac,
to avoid printing in loop

Change-Id: I0feaa9822406a2610959bb8edbb1ce40b3a9cae8
CRs-Fixed: 3128531
2022-02-16 23:44:49 -08:00
Srinivas Girigowda
3d62f09171 qcacld-3.0: Make legacy WMA TWT functions no-op
Make legacy WMA TWT functions no-op if TWT componentization is enabled.

Change-Id: I19ab205dac72d869bbe90bad359f89fe83275e4d
CRs-Fixed: 3085424
2022-02-11 00:20:40 -08:00
Wu Gao
5924885bea qcacld-3.0: Set vdev tx data callback properly
When WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE enabled and user space sets
mac address, host will detach vdev and attach again without setting
vdev tx data callback. Then host tx TDLS discovery request timeout
since lim_mgmt_tdls_tx_complete isn't called, finally TDLS link
establish failed. This change set vdev tx data callback after dp vdev
detach and attach done.

Change-Id: Iada58ba2df0612a92503ccfa5f246f7cca9db9ad
CRs-Fixed: 3112831
2022-01-26 01:04:12 -08:00
Bing Sun
3e6513e3b8 qcacld-3.0: Implement beamforming configuration for EHT
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.

Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
2022-01-25 06:57:40 -08:00
Amruta Kulkarni
586338bcff qcacld-3.0: MLO roaming handling
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.

Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
2022-01-19 15:30:15 -08:00
Liangwei Dong
b92a4f7f7b qcacld-3.0: Handle bss peer delete before vdev start
Delete the BSS peer if failure happens before STA "Join"
and wait for peer delete event.
After peer delete event is received, send lim_cm_send_connect_rsp
to CM to continue the next candidate try.
This is to avoid previous bss peer deleting pending and send
new bss peer create wmi command to target, which is unexpected
by target.

Change-Id: I5da969546994d9a6fe3cd5053f468fb59ba13e18
CRs-Fixed: 3100305
2021-12-27 23:39:32 -08:00
Bapiraju Alla
0de141916d qcacld-3.0: Add support to dynamic MAC address update
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.

To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.

Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
2021-12-27 20:58:55 -08:00
Jianmin Zhu
fb4cf93504 qcacld-3.0: Fix peer rx tid queue not set up after roaming
After roaming, old peer is deleted and new peer is created,
rx tid queue of new peer need set up again.
In dp_rx_tid_setup_wifi3, if CM is in ROAMING state,
dp_peer_rx_reorder_queue_setup isn't called, REO queue descriptor
isn't configured correctly by host for FW to do reorder/pn check.

To fix it, in dp_rx_tid_setup_wifi3, if CM is in ROAMING state
and not ROAM_START substate, but ROAM SYNC state after roam sync
event received, dp_peer_rx_reorder_queue_setup still can be called,
rx tid queue of new peer will be set up.

Change-Id: I34fbb60ad509a0bc70e112c7ec53a862c8f9ce2d
CRs-Fixed: 3090061
2021-12-17 11:06:30 -08:00
Bapiraju Alla
63867fd076 qcacld-3.0: Add support to calibration failure events parsing
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.

To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.

Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
2021-12-06 22:33:20 -08:00
Arun Kumar Khandavalli
f61a0e0cea qcacld-3.0: Cache set HW mode response status
Currently, Host is not caching the response status for the set HW mode
request. Without this status, it is difficult to debug HW mode mismatch
between host and FW when the logs are not available during the set HW
mode command.

To address this, cache the set HW mode response status.

Change-Id: I61b935d54648bc80901bfe7127227ffaa8d7cd7b
CRs-Fixed: 3076445
2021-11-23 18:17:34 -08:00
Arun Kumar Khandavalli
cc3837f0db qcacld-3.0: use wmi macro to check for max supported unit test args
Instead of the wma macro use the wmi macro to validate the max
supported arguments for the unit test command.

Change-Id: Ia6b8e5a57f3f1d4ca14efddd8c16ff5d7931cad8
CRs-Fixed: 3070809
2021-11-18 08:24:14 -08:00
Utkarsh Bhatnagar
115c46aea8 qcacld-3.0: Update SBS Freq Info during service ready ext2 evt
FW sends lower band end frequency filter in service ready
ext2 event.
Frequency Info for every supported mode gets updated in
wma_update_hw_mode_list when service ready ext evt is
received.
Although, FW sends lower band end frequency filter in
service ready ext2 event.
So, update SBS Frequency Info when Service ready ext2 evt is
received.

Change-Id: Iefe1e601bffaba877979e7ce42a32763b61293c2
CRs-Fixed: 3073649
2021-11-15 23:53:51 -08:00
Utkarsh Bhatnagar
40d0e1ae42 qcacld-3.0: Cleanup WMA HWMODE
Cleanup WMA HWMODE and WMA HWMODE List
as the same functionality is already taken
care by policy manager

Change-Id: I5dc1342422e70737111f882013ed3a6351a85336
CRs-Fixed: 3064739
2021-11-05 02:34:33 -07:00
Pragaspathi Thilagaraj
c304893863 qcacld-3.0: Enable time sync only on connection/roam
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.

Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.

Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
2021-10-22 12:40:33 -07:00
Srinivas Dasari
fbd5ee5c48 qcacld-3.0: Cleanup ROAM_TARGET_IF_CONVERGENCE usage
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.

Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
2021-10-06 00:02:06 -07:00
Alan Chen
ba84e38bc2 qcacld-3.0: Define a new RTPM wake lock for NDP
Define a new RTPM wake lock for NDP and create the functions
wma_ndp_prevent_runtime_pm()/wma_ndp_allow_runtime_pm() for it.

Change-Id: I6e70065b8c1ce3c91c411638957e13efff5a64ba
CRs-Fixed: 3050943
2021-10-05 21:48:48 -07:00
Pragaspathi Thilagaraj
5e4b2f49ad qcacld-3.0: Fill and send connectivity logging management frame events
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.

Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
2021-09-26 04:49:44 -07:00
Bing Sun
3947022a92 qcacld-3.0: Fill csa offset in mlo IE when sending beacon template
Fill csa/ecsa offset in mlo IE when sending beacon template wmi cmd
to FW

Change-Id: If097bdfbf36a8d1d6ff41daf571ac8e3567ab45d
CRs-Fixed: 3023049
2021-09-09 13:09:13 -07:00
Ashish Kumar Dhanotiya
8215f877a9 qcacld-3.0: Process radio stats events inside lock
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.

With this change add locking mechanism to allocate, use and to
free the memory.

Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
2021-09-06 06:20:54 -07:00
Amruta Kulkarni
c71017d971 qcacld-3.0: Roam sync event migration
Wma to target_if migration for ROAM SYNC EVENT

Change-Id: Id2e9d5697f12f709cfdd665dabf1095863d87277
CRs-Fixed: 2990767
2021-08-07 02:58:54 -07:00
bings
bebd7a8b45 qcacld-3.0: Pass mld address and assoc link info when creating bss peer
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation

Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
2021-08-05 15:13:13 -07:00