Commit Graph

3213 次程式碼提交

作者 SHA1 備註 提交日期
Jinwei Chen
242339083b qcacmn: support new htt rx addba and delba msg
Add support for new HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN and
HTT_T2H_MSG_TYPE_RX_DELBA_EXTN handling.

Change-Id: Ie06891092e5bf552bf721404222fb1b0b624ba36
CRs-Fixed: 3208118
2022-06-07 21:21:21 -07:00
Chaithanya Garrepalli
d66a8a55bb qcacmn: Use common REO2SW rings for all SOCs of MLO
Use common REO2SW rings for the packets coming from
all chips of MLO

Change-Id: Icdfd3292d2fbf5e38c1d3b8ff4b30b18009a49f8
CRs-Fixed: 3208378
2022-06-07 19:27:03 -07:00
Shiva Sankar Gajula
5b5d4cb57a qcacmn: Handling MIC failures for QCN9224 target
For QCN9224 target, All the MIC failures are reported
as decrypt error from FW.

So, added changes to handle MIC failures for QCN9224
target .

Change-Id: I32e616e01e3cd6e76ef105d73fd8a87ce2c81cb9
CRs-Fixed: 3192749
2022-06-07 10:54:02 -07:00
Harsh Kumar Bijlani
de0d00288a qcacmn: Fetch per pkt stats from MLD peer for Link Peer
When user makes a request for stats using Link peer mac address,
then fetch per pkt stats from MLD peer for Link peer.

Change-Id: I64e0b10eaca82c87e7066d3ca1dbefad63a186a8
CRs-Fixed: 3208757
2022-06-07 10:53:57 -07:00
KARTHIK KUMAR T
816abb22a8 qcacmn: Add NULL check for pr_soc
Fix add for pr_soc NULL check

Change-Id: I3e48da3692a2d7eab28f9bd907a0ee682a35dae9
CRs-Fixed: 3200629
2022-06-07 10:53:51 -07:00
Himanshu Batra
768250e291 qcacmn: Add support for telemetry agent stats
For telemetry agent, some more statistic support is required.
Hence, add support for telemetry agent required stats.

Change-Id: Ieb2210a4a5dfe6fa0a0dd46a85f2d9ae483bb746
CRs-Fixed: 3210797
2022-06-07 03:29:51 -07:00
Nandha Kishore Easwaran
422bbf322b qcacmn: Add tx peer filtering WMI command
Add WMI command for tx peer filtering. This command is needed to send
the mac address to FW for which tx monitor peer filtering is needed
to be done.

Change-Id: Ia141fba81ba240b7f4ca015eb9251e3485294bb6
CRs-Fixed: 3199493
2022-06-06 04:26:55 -07:00
Yeshwanth Sriram Guntuka
f2ee56b2fc qcacmn: Add ini to set priority for TC ingress filter
Add ini support to configure TC ingress filter priority
value which would be used for TC based dynamic GRO.

Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206817
2022-06-06 01:59:35 -07:00
aloksing
ddad8e0543 qcacmn: Deregister stats handler before monitor pdev deinit
Module unload is getting trigered in between
Vap restart due to channel switch
while waiting in monitor module unload for 500ms VAPs are coming up.
And after wait, during monitor pdev deinit
HOST start receiving stats indication.
Monitor pdev is getting dettached while processing stats indication.

Move register/derester of stats handler to intr ops.

Change-Id: I821c144f54bfe78c567039ab57fcf1eac7cb4f46
CRs-Fixed: 3192980
2022-06-04 09:27:32 -07:00
Kai Chen
8cace9cda9 qcacmn: Adding mlo timestamp offset to tsf for radiotap
Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header.

Change-Id: I2947dacf6c37214e60d70fcb3df4a5f9897356ac
CRs-Fixed: 3211179
2022-06-03 13:47:38 -07:00
Amir Patel
2f0a456ced qcacmn: Add sanity check to avoid out of bound memory access
Add sanity check to avoid out of bound memory access
for protocol and flow tag update in monitor ring

CRs-Fixed: 3206715
Change-Id: Ie326137db8a6c9c1ee1faab69627ecd5eb51ad3e
2022-06-03 01:52:11 -07:00
Amit Mehta
1507b1cde3 qcacmn: Add configurable threshold values
Introduce configurable threshold values to
increment MPDU retry count by transmit_cnt / threshold.

Change-Id: I1c039ff76854e18bea5a8d99d171936557d1c6bf
CRs-Fixed: 3210735
2022-06-02 06:49:34 -07:00
Subrat Mishra
120fb06e12 qcacmn: Add cdp api to get accumulated pdev tid stats
Add cdp api to get accumulated pdev tid stats along with per tid
total tid rx and tx stats.

Change-Id: I7862c4265f199d0588d8865c5ed97e06010dd79f
CRs-Fixed: 3207499
2022-06-01 14:01:31 -07:00
Harsh Kumar Bijlani
1049507d23 qcacmn: Get per pkt stats from MLD peer for primary link peer
Add support to get per pkt stats from MLD peer for primary link peer
only when user requests for link peer stats.

Change-Id: I6df0daa4a175cc5869012538294ed41ae2443e48
CRs-Fixed: 3203506
2022-06-01 05:11:27 -07:00
Rakesh Pillai
5fd598fac0 qcacmn: Fix monitor status TLV parsing
Currently, for kiwi, the tlv parsing from monitor
status buffer stops when it encounters MPDU_START
tlv. This happens since the return value after the
parsing of MPDU_START is not one amongst the allowed
return values for the tlv parsing to be continued.

Add MPDU_START tlv parsing return value to the allowed
return values, in order to continue the parsing of tlvs
from monitor status buffers.

Change-Id: I51cfecb7df8d8055a37e1b898419ec322dad63db
CRs-Fixed: 3203708
2022-06-01 00:01:55 -07:00
Amir Patel
da53418537 qcacmn: Add WAR to skip multiple ring entries
Add WAR to skip multiple ring entries in case if DMA is not
done for more than one entry in monitor status ring

CRs-Fixed: 3206692
Change-Id: Id24deb18d173e521efda38716244f375a409d7f5
2022-05-31 11:08:32 -07:00
Chaithanya Garrepalli
8889b96325 qcacmn: Use same reo hash key for all SOCs in MLO
In case Multi chip MLO configure same hash key for
all SOCs in MLO. This change is needed to avoid
same flow traffic distributed to multiple REOs.

Change-Id: Ib6cde4ae32e58ef2d45c02d640c133458f5bfac5
CRs-Fixed: 3201978
2022-05-31 08:31:55 -07:00
Pavankumar Nandeshwar
304559ad0c qcacmn: Return correct value for peer isolation case
Return correct boolean values for peer isolation and
bss peer checks in intrabss forwarding.

Change-Id: Ib02645572aafdf4e4c9bc2e40b8b0fc72b90b343
CRs-Fixed: 3206611
2022-05-31 04:03:54 -07:00
Ripan Deuri
09a9870b96 qcacmn: Add CDP ops for enabling MPDU stats
Add CDP ops for enabling SAWF MPDU stats.

Change-Id: I07d1a143e843f885150a1fcc10a6d0554bd57aa4
CRs-Fixed: 3195257
2022-05-31 00:59:32 -07:00
Guisen Yang
370e3bd4e9 qcacmn: Fix build error when DISABLE_MON_CONFIG is defined
Fix below errors when the item DISABLE_MON_CONFIG is defined:
No return value for below two APIs:
dp_tx_mon_buf_refill() and dp_rx_mon_buf_refill()

CRs-Fixed: 3205083
Change-Id: If449616e30e75c23c7b25fb449a0ad8e501529aa
2022-05-30 05:16:42 -07:00
Nandha Kishore Easwaran
77f302907b qcacmn: Change tx mon ring sizes
Change tx monitor ring sizes and make minor fix when getting the
number of entries.

Change-Id: Iec458d88948556f7007d4fa33bf082c8ee089064
CRs-Fixed: 3206170
2022-05-30 03:56:22 -07:00
Pavankumar Nandeshwar
5885ff85be qcacmn: Limit the desc pools limit avoid crossing cc ppt max entries
Limit the desc pools such that the max ppt entries
do not cross limit for the hardware cookie conversion.

Change-Id: I9149b20bea0d72b466ef8c3e2ee9c0b536ffe24e
CRs-Fixed: 3201792
2022-05-29 04:46:10 -07:00
Prakash Manjunathappa
1684251d1f qcacmn: Move FISA FST table to CMEM on Kiwi
Add support to move FISA FST from DDR to CMEM, enable it for Kiwi
Adding CMEM support for FISA FST includes
1) Reserving CMEM memory space FISA FST
2) Add HAL macros for CMEM flow search entry

Change-Id: I45fc91a86c1ac89d3d95b246e26ea981314425a8
CRs-Fixed: 3199250
2022-05-27 19:37:16 -07:00
Ripan Deuri
74458d4542 qcacmn: Add function to calculate hardware Tx delay
Define a new function to calculate HW delay so that same logic
can be used to calculate delay by other modules.

Change-Id: Id3740bcaa2cd558b89ab02d8e88d5947eb5997b1
CRs-Fixed: 3198305
2022-05-27 18:06:34 -07:00
Wu Gao
c0d5a6fcf3 qcacmn: Set num_rxdma_status_rings_per_pdev to 2 for KIWI
There is init failure about monitor status ring after started CFR
capture. So extend num_rxdma_status_rings_per_pdev to 2 for KIWI
which is same to HSP.

Change-Id: Ic24d732957dc1991a3fca350aebe5f57d9b02577
CRs-Fixed: 3203678
2022-05-27 09:08:50 -07:00
Ripan Deuri
ae12b7c45f qcacmn: Add Hist buckets for hardware Tx completion delay
HW Tx delay to be calculated in microseconds based on the timestamp
provided by HW. A new type of hist bucket is added for this delay.

Change-Id: I3cae5e78459f675b5ac7f670bdec950f9a62c78f
CRs-Fixed: 3202312
2022-05-27 03:36:40 -07:00
Ripan Deuri
3cd2e7a588 qcacmn: HTT handler for SAWF MPDU stats
Add handler for processing SAWF MPDU stats sent by the FW.

Change-Id: I9e69b66563ebba583883bf18f645b19ed9470927
CRs-Fixed: 3195239
2022-05-27 01:20:49 -07:00
Srinivas Girigowda
85b76d5a6c qcacmn: Add counter in non-TQM based Tx completion path
Rate limit the log in non-TQM Tx completion path and add a counter
to increment whenever Tx completion status is received and release source
is non-TQM.

Change-Id: I8968ccc7a499577bd4fdfaef78e6520b00c12503
CRs-Fixed: 3201403
2022-05-26 20:03:25 -07:00
Sai Rupesh Chevuru
9d283234a7 qcacmn: In NAWDS, set host inspected bit for GSN based packets
In the case of NAWDS set the host inspected bit for
GSN based packets to avoid the FW reinjection.

Change-Id: Iee1653e9bebcd1ce6ef283a61d9c10a25b911a26
CRs-Fixed: 3203093
2022-05-26 13:34:33 -07:00
Jinwei Chen
eca5aad64c qcacmn: fix logging issue in dp_find_peer_by_destmac_li
Fix logging issue in dp_find_peer_by_destmac_li

Change-Id: I4a5156d7f628af18a650c13f8ebac1cb38c9b01d
CRs-Fixed: 3206323
2022-05-26 10:59:33 -07:00
Jinwei Chen
a3585f6fe8 qcacmn: Add sanity check for BA window size in DP
The original BA window size given from CP might > max DP supported,
add sanity check based on HAL target allowed.

Change-Id: Ibadaddeffe65165a89d580d8a5cbf5f7c724c809
CRs-Fixed: 3193852
2022-05-26 01:32:39 -07:00
Amir Patel
bf92ed7b61 qcacmn: Add sanity check while adding a-msdu subframe header
1. Add sanity check before adding a-msdu subframe header
2. Add truncate MPDU handling

CRs-Fixed: 3191386
Change-Id: I11e6f971e470e486438ece9c4a7daef3df9f71ed
2022-05-26 01:32:33 -07:00
syed touqeer pasha
3ab1b41388 qcacmn: Add arch ops to get the peer from dest mac
Add the arch ops to get the peer from destination mac address.

Change-Id: Ic316f7e91edb3ffc516b64b65cb6797b958f440a
CRs-Fixed: 3194921
2022-05-25 12:42:42 -07:00
Harsh Kumar Bijlani
fa7624cb8a qcacmn: Set Rx monitor ring fill level to default on monitor soc init
Initially, 2K buffers (default) are allocated and Rx monitor ring fill
level is set to 2K at monitor soc attach and these buffers are used for
enhanced stats.

On monitor vap creation, additional 6K buffers are allocated and monitor
ring fill level is set to 8K.

On execution of wifi command after this, fill level is still set to 8K
and this results in monitor vap to operate with only 2K buffers.

Therefore add functionality to set the fill level to 2K (default) at
monitor soc init instead of monitor soc attach and also add sanity check
for num_req_buffers in the API dp_mon_buffers_replenish.

Change-Id: I0f4b269ab4ed05ed1f0223e3dc83d8675dab4860
CRs-Fixed: 3201411
2022-05-25 07:30:27 -07:00
Jeevan Kukkalli
ec2838ac4d qcacmn: Make lite mon enum generic
-Some of the lite monitor enums can be used outside of
 lite monitor feature, make such enums generic.
-Some enums are redundant, remove such enums and make use
 of existing ones

Change-Id: I5125384ac5c4c55a57998fb5be5ee1ecb3e61147
CRs-Fixed: 3190754
2022-05-25 04:55:51 -07:00
Vivek
68d53d1631 qcacmn: Add CDP ops for SAWF telemetry config
Add the following CDP ops for SAWF telemetry config

txrx_sawf_set_mov_avg_params
txrx_sawf_set_sla_params
txrx_sawf_init_telemtery_params

Change-Id: Ifb52df6745ba0b6869cb87301a85d7a8b87b4cb6
CRs-Fixed: 3194181
2022-05-25 03:20:03 -07:00
syed touqeer pasha
7740da08ad qcacmn: SAWF changes for waikiki
Fetch the SAWF service_id and queue_id from per packet
metadata and populate on transmit descriptor.

Change-Id: Iba652c271b5b701e8af875805e59f0f224ace691
CRs-Fixed: 3194921
2022-05-25 01:45:07 -07:00
Mohit Khanna
04bf8070da qcacmn: Reo-Cmd: Donot write to reg if no src desc
For reo_cmd ring, in current implementation, we call hal_srng_access_end
in case a descriptor is not available before baling out. This may cause
a write to the shadow register for the reo_cmd ring. In case we are in
the middle of WOW, this can be problematic.
Modify existing implementation to use hal_srng_access_end_reap, which
will not schedule a write to the register and simply return.

Change-Id: Ifb83d904e39b3d749522cd246a5ab3fe51a3104e
CRs-Fixed: 3194289
2022-05-24 16:01:27 -07:00
Gangadhar Kavalastramath
6d1a746ffb qcacmn: Use appropriate value to define invalid WBM ring
Define INVALID_WBM_RING_NUM with 0xF instead 0xFF. This
limits shifting operation within bound.

Change-Id: I646966d8d50ef4f8b3096a96e1e78fd69a878646
CRs-Fixed: 3187163
2022-05-24 13:15:58 -07:00
Namita Nair
a2e032111d qcacmn: Add htt stats for SU puncturing mode
Add support to display tx/rx htt stats
related to SU Puncturing. The new stats
are su_punctured_modes, bw_ext
and mcs_ext_2.

Change-Id: I0260f7ea5fffa9206fff1052ef18b414c5de384b
CRs-Fixed: 3198040
2022-05-23 20:26:16 -07:00
Jeevan Kukkalli
660a0d7e2c qcacmn: Add stats to count mpdu dropped due to ppdu id mismatch
During frequent channel changes in corner case we observe
that mpdu ppdu id does not match dest ring curring ppdu id.
Such mpdus are dropped. Add stats to count such dropped mpdus.

Change-Id: If52e81f4e718ce0d7f83a41f4f0121394525b9df
CRs-Fixed: 3144784
2022-05-20 14:21:26 -07:00
Sai Rupesh Chevuru
c1f2908102 qcacmn: Fix the tx desc buf leak issue
Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.

Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
2022-05-19 05:06:08 -07:00
sandhu
654ea2aefe qcacmn: Add ini value for fisa rx lru del enable
Add ini value to enable disable lru del enable/disable.

Change-Id: I61e967a1f0939515177edc79415397e16b55d774
CRs-Fixed: 3160268
2022-05-19 01:57:36 -07:00
nobelj
ba3853e95f qcacmn: Add fix for tx monitor double free and other minor fixes
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.

Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
2022-05-19 00:20:12 -07:00
Prakash Manjunathappa
017ad75e08 qcacmn: Set per_tid_basize_max_tid so that BA size is configured per TID
Set per_tid_basize_max_tid so that BA size is configured per TID.
Accordingly fix dp_check_ba_buffersize to ba_window_size to incoming
buffer_size. Assert for any BA window size above 1024.

Change-Id: I40cb2aac012c50e253c3ef22d44cf5db3abfb7bb
CRs-Fixed: 3182601
2022-05-17 13:50:32 -07:00
Subrat Dash
46d50239e8 qcacmn: Microsecond time stamping for hw tx latency stats
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.

Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
2022-05-16 17:18:48 -07:00
Harsh Kumar Bijlani
bf750e0364 qcacmn: Update peer_id with link peer_id in Rx monitor path for MLO
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML |                     PEER ID                          |
+---------------------------------------------------------------------+

For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.

Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.

Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
2022-05-16 03:49:56 -07:00
Sai Rupesh Chevuru
7e099c5668 qcacmn: Add new MOD_ID for reinjected packets
Add new module id DP_MOD_ID_REINJECT for reinjected packets.

Change-Id: Ieae5a878d7b3084b32f6b7e6eb6c2bbd4a246480
CRs-Fixed: 3192306
2022-05-13 14:37:31 -07:00
Surabhi Vishnoi
ecaa0f1f6c qcacmn: Allow rx UDP packets during roaming before peer map is received
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.

Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
2022-05-12 23:34:21 -07:00
Ruben Columbus
5ad83e6c56 qcacmn: new handler for pf tags
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.

Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
2022-05-12 11:54:26 -07:00