Commit Graph

39 Commits

Author SHA1 Message Date
Jianmin Zhu
c1bcfdb534 qcacld-3.0: Stop periodical pdev stats report when stop monitor mode
Send periodic fw stats to get chan noise floor when monitor mode
start, but not stop it when  monitor mode stop,
pdev stats event is received even when event handler unregistered,
race condition lead to assert.

To fix it, when monitor mode stop, stop periodical pdev stats report
first.

Change-Id: I58a0ced84aca74a7228064067bb096803cf952fd
CRs-Fixed: 3667212
2023-12-29 04:00:12 -08:00
Abhinav Kumar
fd4debd695 qcacld-3.0: Send BW ind and wide band channel switch element in rsp
As per spec if Wide Bandwidth Channel Switch (id 163) and Bandwidth
Indication (id 164) sub element present in channel load request,
Host should send same sub element ids with same values as in request
in channel load response.

Change-Id: If419c1e2ac694ee5d2da301e404085bb3fc68674
CRs-Fixed: 3629125
2023-10-20 13:06:49 -07:00
Abhinav Kumar
453fb17648 qcacld-3.0: Update chan load for chan load req of 320 MHz
In case of wide band scan, FW sends cca_busy_subband_info
tlvs via WMI_CHAN_INFO_EVENTID, which contains value of
rx_clear_count for each 20 MHz freq space.

Fix is to updates rx_clear_count per channel to cp stats
component.

Change-Id: Iff26087da4ffa3e1147c5ffe4127e5aa078f406f
CRs-Fixed: 3626725
2023-10-02 06:28:11 -07:00
Abhinav Kumar
f89f0e2de0 qcacld-3.0: Send chan load response to AP
If a DUT accept channel load request, the STA should
response with a channel load report with channel
utilization measurement as observed by the measuring
STA.

Change-Id: Ic8faa45e24d7cd296e44828370b1b1088d46ddda
CRs-Fixed: 3580203
2023-08-17 12:39:11 -07:00
abhinav kumar
8d585706ca qcacld-3.0: Update bss rate flags as per BW update
Supplicant sends SET_MAX_BANDWIDTH driver command to update
connected channel width dynamically.

Host should update connected bss rate flags so that host
can send proper cp stats as per updated channel bandwidth.

Change-Id: I676635b108f91f4fd8471fbe66352aa471dd9a9f
CRs-Fixed: 3519930
2023-08-03 19:39:28 -07:00
Shailendra Singh
dc45a92479 qcacld-3.0: Add change to get per vdev tx power
Add change to get txpower per vdev in vdev extended
stats from firmware. If per vdev tx power is set
then get it from extended stats received from
firmware. Otherwise, get pdev tx power.

Change-Id: I62b4516ee2951ef3e71600575e7e69a5213fdb40
CRs-Fixed: 3495828
2023-07-17 00:05:47 -07:00
Aditya Kodukula
744adf0e1c qcacld-3.0: Fix typos in cld
Fix typos spanned over multiple files in cld.

Change-Id: I88def5a2898c9e3e5cf32d123521faa53ef42e70
CRs-Fixed: 3521886
2023-06-07 13:58:12 -07:00
chunquan luo
57696567aa qcacld-3.0: Get tx power value from each mac
When user space use "iw dev" to get tx power info,
driver send WMI_REQUEST_STATS_CMDID to fw,
fw update tx power info with two events, usually we
parse the last event, and maybe get invalid value.
Filter invalid value for each event, and get valid
tx power value from the mac which the AP/STA mode work.

Change-Id: I2411bb87e03fe385759852b028819e19a055b7f3
CRs-Fixed: 3474361
2023-05-17 21:29:30 -07:00
Aditya Kodukula
4924b2aaf5 qcacld-3.0: Extract vdev extended summary stats event
In case of MLO connection, firmware sends each vdev's status
information via vdev extended stats event. Add support in driver,
to extract that information.

Change-Id: Ia7a0a92baf008e6549830672b68e58be5a8202df
CRs-Fixed: 3483731
2023-05-12 16:37:53 -07:00
Jeff Johnson
38e0ca8278 qcacld-3.0: Remove tgt_send_cp_big_data_stats_req() prototype
The tgt_send_cp_big_data_stats_req() prototype was added by:
  qcacld-3.0: Add support for big data stats
  Change-Id I3642035d9f25237c80b529da78c51bb1ccf0035a

However a function with that name is not actually present. Instead,
the struct wlan_lmac_if_cp_stats_tx_ops::send_req_big_data_stats()
function pointer is used to send the request.

Since the prototype is unused, remove it.

Change-Id: I1a05c40d2ae639e4b6333362661e9012786a467c
CRs-Fixed: 3430267
2023-03-16 03:10:51 -07:00
Aditya Kodukula
37ad7204d2 qcacld-3.0: Update link peer mac address for mlo stats
Currently in the driver as part of ML unified_ll_get_sta stats,
the peer mac address for partner link is not being updated in
the callback function, causing driver to report incorrect
stats to upper layers.

To fix this issue, update peer mac address before invoking
vdev station stats callback function.

Change-Id: I39c460467a3572aad05e4c5fab136a844b753941
CRs-Fixed: 3421153
2023-03-07 19:46:39 -08:00
Jeff Johnson
08bc9bb30a qcacld-3.0: Fix cp_stats documentation
The kernel-doc script identified several documentation issues in
the cp_stats component, so fix them.

Change-Id: I33e42894365048b75a23f1a2070de72a975d456f
CRs-Fixed: 3340094
2022-11-19 01:03:05 -08:00
Jeff Johnson
eed27391fb qcacld-3.0: components: cp_stats: Fix misspellings
Fix misspellings in components/cp_stats/...

Change-Id: I5b1357e9ed32ad2d2bd0bfd5ad1983ed26c5d536
CRs-Fixed: 3303647
2022-10-03 02:01:04 -07:00
Ashish Kumar Dhanotiya
c8d57a7023 qcacld-3.0: Parse tx and rx packet per MCS from peer extd stats
Based on the new requirement, fw fills the tx packet counts per mcs
and rx packet count per mcs index in the peer extd stats event.
Add logic to parse tx packet count per mcs and rx packet count per mcs
from peer extd stats event.

Change-Id: I4cd8c1ed5dd6942022d9f930f8de0bcbcb679eb5
CRs-Fixed: 3289683
2022-09-16 19:38:41 -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
Paul Zhang
25e3dfc1ee qcacld-3.0: Enhance congestion report
Enhance congestion report by pdev extend stats.

Change-Id: Ica61112f95e6264db5b46db807e1f5df04b26c98
CRs-Fixed: 3234080
2022-08-03 01:34:02 -07:00
Sai Pavan Akhil Remella
46a85a4bfc qcacld-3.0: Fix invalid tx power in iw dev
Host driver rate limits successive get_txpower
calls within 3 seconds, and sends cached stats
from the hdd_stats. However, max_tx_power is
not updated in the hdd_stats. Therefore,
the cached tx power is always 0 dBm.

Also, the hdd_stats would be only updated when
CP stats are received from the firmware for
get_station/dump_station calls. get_station is not
periodically queried for SAP interface from the
framework. Therefore, tx power for SAP interface will
always be 0 even if hdd_stats gets updated.

To fix this, instead of hdd_stats, return the
max tx power from the pdev stats cached on the pdev.

Change-Id: I0c8d8baab790c7344bd8913158f8eda63736474e
CRs-Fixed: 3230649
2022-07-15 02:55:36 -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
Aditya Kodukula
5e19348a66 qcacld-3.0: Add support for MLO LL_STATS
As part of MLO stats feature, add support to process link layer
stats for all MLO vdevs and store them in the corresponding adapters.

Change-Id: Ia6d731c94eaa3a355a9deae61d07dd06c5d412bd
CRs-Fixed: 3181021
2022-05-14 03:34:50 -07:00
Srinivas Girigowda
0737e8caec qcacld-3.0: TWT cfg params initialization
Initialize TWT psoc cfg params with the cfg.ini values.

Change-Id: I326239d4f3f146113871fb3700fa82260988d697
CRs-Fixed: 3085507
2022-02-11 00:21:22 -08:00
Divyajyothi Goparaju
df5e68bdef qcacld-3.0: Add support to query BMISS stats from fw
Currently there is no support to read bmiss stats from fw.
With this change, add support to read bmiss stats from fw.

Change-Id: I77594d05fbcd295aff4c625ba5f4f33cbc491063
CRs-Fixed: 3097304
2022-01-03 02:19:36 -08:00
Deeksha Gupta
0bb0c0e680 qcacld-3.0: Print all peer info for SAP TWT get_status
Currently, host prints only one peer info instead of
all peer info as part of oem_ss initiated broadcast
SAP TWT get_status command.

Add a support to print all peer info if oem_ss sends
broadcast SAP TWT get_status command.

Change-Id: I0a617f655b7a5486582cb47a4602b30514ffae88
CRs-Fixed: 2970487
2021-06-30 02:06:57 -07:00
sheenam monga
989e398008 qcacld-3.0: Send BIG DATA stats req to fw based on service cap
Validate fw capability to handle big data command before sending
big data stats request to fw.

Change-Id: Id7df4c3ac36e25761938758472ea9281c174a8c9
CRs-Fixed: 2937523
2021-06-14 06:28:07 -07:00
Rakesh Pillai
b3e1a44d0b qcacld-3.0: Init-Deinit changes for WCN7850
Changes to initialize/deinitalize WCN7850 from HDD layer.

CRs-Fixed: 2888534
Change-Id: Ia9e44f9fe0b4b6977c55c380756af0656203e4f5
2021-06-04 10:43:31 -07:00
Paul Zhang
84c234f62f qcacld-3.0: Support congestion report on multiple interfaces
Support congestion report on multiple interfaces

Change-Id: Iff650519c5b0e48ad63bb0a05d1c736ec40b385d
CRs-Fixed: 2832477
2021-04-14 05:34:12 -07:00
Abdul Muqtadeer Ahmed
70ee3f70fd qcacld-3.0: Add new WMI wakeup reason
Add the new WMI wakeup reason “WOW_REASON_FATAL_EVENT_WAKE".

Change-Id: I93b530f78f568fa88cb310c5d78cd950451fc441
CRs-Fixed: 2868523
2021-03-17 18:33:16 -07:00
sheenam monga
72c7917fa9 qcacld-3.0: Add support for big data stats
Add support of big data stats in the cpstats
component.

Change-Id: I3642035d9f25237c80b529da78c51bb1ccf0035a
CRs-Fixed: 2868949
2021-03-11 09:48:12 -08:00
Rajasekaran Kalidoss
09157aa43a qcacld-3.0: Add support for TWT clear statistics
Add support to send TWT clear statistics request
to firmware.

Change-Id: I435b743955d44a02235b92f98beb302a6a21f036
CRs-Fixed: 2855624
2021-01-23 04:48:36 -08:00
Rajasekaran Kalidoss
744ae542a0 qcacld-3.0: Add support for ctrl path stats infrastructure
Implement support for sending new control path stats
infrastructure via WMI_REQUEST_CTRL_PATH_STATS_CMDID and
WMI_CTRL_PATH_STATS_EVENTID in cp stats component. Also add
support for TWT Get statistics through this new method.

Change-Id: I62b3a525cde797cd5b809ca9e8e6c91d5651c6b4
CRs-Fixed: 2851016
2021-01-21 23:23:43 -08:00
Saket Jha
6599516554 qcacld-3.0: Request fw stats for monitor mode
Periodically request pdev stats from FW to receive channel noise floor
information after monitor vdev has been brought up, based on the band
currently being sniffed. Use the band information as a secondary parameter
when sending periodic request to fw so a single noise floor value is sent
to host. Pass this noise floor information to dp_pdev to be populated in
radiotap header.

Change-Id: I488e4985392cb646ffdee914359fa995dbeb025e
CRs-Fixed: 2833458
2020-12-17 19:38:27 -08:00
Abdul Muqtadeer Ahmed
1eb57fce21 qcacld-3.0: Add new WMI wakeup reason
Add the new WMI wakeup reason “WOW_REASON_LOCAL_DATA_UC_DROP".

Change-Id: Ibae5d98de8e63b03930837de8ce3062fef319718
CRs-Fixed: 2798184
2020-11-09 03:03:09 -08:00
Min Liu
bdba1fa76d qcacld-3.0: Report congestion to the correct interface
Only report congestion vendor event to the interface that request it.

Change-Id: I3c6d4fca116f65a9ae930d428e45716d544f9806
CRs-Fixed: 2803920
2020-10-26 07:19:23 -07:00
Min Liu
47d4029c67 qcacld-3.0: API to report congestion
API to report congestion to userspace.

Change-Id: I324ae6701dace590daaa2c3f80412d6633cbf8f0
CRs-Fixed: 2766432
2020-10-13 23:18:32 -07:00
Abhishek Ambure
8c579f5a5b qcacld-3.0: Add support to get pmf bcn protect stats
Host sets WMI_REQUEST_PMF_BCN_PROTECT_STAT bit in stats_id param of
WMI_REQUEST_STATS_CMDID command. Firmware supporting pmf beacon
protection stats responds host with stats in wmi_update_stats_id
event. Host extracts PMF beacon protection stats from wmi_update_stats_id
event. Host adds PMF beacon protection stats in the response of vendor
command QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO for STA mode.

Change-Id: Ib3cb06e03dbccdb9fa1782d414ed734bd97aa309
CRs-Fixed: 2705236
2020-09-12 01:59:34 -07:00
Min Liu
f7d6bc2675 qcacld-3.0: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: I636221b0bc0e28180c97cd269440a7c733716a1d
CRs-Fixed: 2680618
2020-08-14 04:12:10 -07:00
Visweswara Tanuku
78df7f106e qcacld-3.0: Extract Peer TWT session parameters
WMI handler is registered for twt_session_stats event.
Upon wmi event twt session parameters are extracted and
cached in peer mc_cp_stats. UMAC APIs are provided to
retrieve TWT session parameters from north bound
interface(hdd) using twt peer's mac_addr/session dialog_id

CRs-Fixed: 2730732
Change-Id: I8ce38ac6be97e844e26e03751c6d6cca981b82b4
2020-08-13 02:09:56 -07:00
Yeshwanth Sriram Guntuka
0bfa34876f qcacld-3.0: Update mc_bc rx pkt count in peer stats
Update multicast and broadcast rx packet count on
receiving wmi update stats event from firmware by
fetching the peer stats from DP layer.

Change-Id: I0befdbe952aa4e773bbe072affaf698819b3a80f
CRs-Fixed: 2709871
2020-06-17 12:14:44 -07:00
gaurank kathpalia
70b68f8075 qcacld-3.0: MCL specific movement from cmn to cld of stats
Move the MCL specific files related to cp stats from the
cmn to cld folder.

Change-Id: I00ce5d650780f9b74c64923c8392f06222e651a5
CRs-fixed: 2552458
2020-04-17 07:36:07 -07:00
hqu
ff302a9f4a qcacld-3.0: Define void * data members of cp_stats with specific type
Define void * data members of cp_stats with specific type, remove void
pointer usage for part of cp stats code.

Change-Id: Iace37c0a546909b865d5185830a2e02b5b39b7d8
CRs-Fixed: 2492544
2019-07-26 18:21:46 -07:00