Commit Graph

3153 Commits

Author SHA1 Message Date
Sai Rupesh Chevuru
c6742e5632 qcacmn: handling of wifi down/up scenarios for MLO MCAST
handling of wifi down/up scenarios for MLO MCAST

Change-Id: Ib2d47884612af73c798f1a9b4f74b9b47058fc08
CRs-Fixed: 3183831
2022-05-04 07:22:56 -07:00
Pavankumar Nandeshwar
96c227a65d qcacmn: Check if ast hash table is populated before accessing
Check if ast hash table is populated before accessing it,
as some calls from ecm can try to access the hash table when it
is down

Change-Id: I6d38359c3cf13f578671794db61c8eb845245d6d
CRs-Fixed: 3186437
2022-05-03 08:40:48 -07:00
Amir Patel
0bfdc54393 qcacmn: Drain Rx monitor workqueue
Drain Rx monitor workqueue on wifi down

CRs-Fixed: 3186360
Change-Id: I524b08338da1f2a4567c17551a8b44d420ca3455
2022-05-02 14:08:50 -07:00
Jeevan Kukkalli
025fca08e6 qcacmn: Subscribe for ppdu_start_user_info TLV
Subscribe for ppdu_start_user_info TLV for
lite monitor mode in WKK.

Change-Id: I4ffc09ae11905f8d784bf388889b317055ec6357
CRs-Fixed: 3185558
2022-05-02 07:31:13 -07:00
sumedh baikady
fe2748debc qcacmn: Add check to skip REO shared qref stats for legacy platforms
Reo shared qref stats is not required for legacy platforms
and is enabled for wkk only. Hence add check in stats to
skip for legacy platform.

Change-Id: Ic6f1ebd965aa63b98a3ac6a5216fa9b4e3499b74
CRs-Fixed: 3186595
2022-05-01 06:45:26 -07:00
Manoj Ekbote
74ede2801b qcacmn: Handle ML destination in Intra-BSS code
When destination peer is an ML peer, get the soc from da_peer.

Change-Id: I93d10a7ab9ce805180397bcf0f3b404c27df528b
CRs-Fixed: 3177339
2022-04-30 03:02:31 -07:00
Harsh Kumar Bijlani
cfe5ee5060 qcacmn: Add support for Tx MIMO and OFDMA stats for Waikiki
Add support for Tx MIMO and OFDMA stats for Waikiki.

Change-Id: I54de5ff93841c98fde1dc4b4eda743748dab4bbb
CRs-Fixed: 3181946
2022-04-29 09:01:29 -07:00
Jeevan Kukkalli
bf5043dc92 qcacmn: set appropriate rx packet offset
Set appropriate rx packet offset when full pkt is
subscribed in litemon case.

Change-Id: I1b1149b5105ce2b61c6e6ddc7841c21ce0b7870c
CRs-Fixed: 3183047
2022-04-29 00:57:59 -07:00
Amit Mehta
0c9a5d80a2 qcacmn: Fix log trace level
Currently trace level for dp_nofl_info is DEBUG
change trace level  to INFO

Change-Id: I7fb24164a7635df26661587e4af0dca6dd225a0c
CRs-Fixed: 3184792
2022-04-29 00:57:53 -07:00
Adwait Nayak
94eec2edd6 qcacmn: Fix to process the RX_PPDU_END_STATUS_DONE TLV
RX_PPDU_END_STATUS_DONE TLV is not being processed, since Host
is not copying the last byte from the payload.
Add code to copy the full payload from status frag and process
it to the upper layer.

Change-Id: I51d03f5664b2944008936e3711f2ba74bcfde89c
CRs-Fixed: 3179137
2022-04-28 15:46:24 -07:00
KARTHIK KUMAR T
1bc325d4f3 qcacmn: calculate RSSI DBM in WKIKI
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.

Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
2022-04-28 11:51:10 -07:00
Sai Rupesh Chevuru
14d0e0cd79 qcacmn: Use unique and random mac address per MLD in IGMP RX
In receive path for IGMP packets modify the source mac to
unique and random address per MLD.

Change-Id: Ifcbf414017b2596656d53d6c921cf7fd63bf0cac
CRs-Fixed: 3176816
2022-04-27 10:28:22 -07:00
Parikshit Gune
083ffa0268 qcacmn: Change per peer delay histogram stats buckets to 13 from 10
Per peer extended stats are maintained as a histogram having 10
delay buckets. Each packet will fall into one of these buckets as per the
delay calculated. These buckets are now increased to 13 as per requirement.

Change-Id: I7f9a01c21b748a0f589bb44e6f7dd69a1c5702a7
CRs-Fixed: 3163423
2022-04-27 06:12:05 -07:00
Amir Patel
df1a9d566a qcacmn: Subscribe for ppdu_start_user_info TLV
Subscribe for ppdu_start_user_info TLV for statistics and
monitor mode in WKK.

Change-Id: I019ddc665fd42bc872054b895a164aaec840bf79
CRs-Fixed: 3181602
2022-04-27 00:50:51 -07:00
Varsha Mishra
f9424745bb qcacmn: Drop 3 addr multicast in rx
Drop 3 address multicast packet on rx when vdev is
has drop_3addr_mcast enabled.

Change-Id: I726bdc9383ea6e5a052a5d754e8f48c98f9ce874
CRs-Fixed: 3163011
2022-04-27 00:50:38 -07:00
Ananya Gupta
207111647e qcacmn: Validate rx desc unmap in RXDMA err ring
Currently, in STA+Monitor mode, the first MSDU in MPDU is
unmapped and goes down. This MSDU is now processed as rxdma
err packet and crashes due to double unmap as rxdma err ring
is configured as monitor dest ring in monitor mode.
To fix this, validate rx descriptor unmapped flag in rxdma
err processing.

Change-Id: Ic503aa18e2269d8bda6aaf9b349c1ad8be11dcff
CRs-Fixed: 3175972
2022-04-26 17:28:33 -07:00
chunquan
f9fa73c67e qcacmn: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: Icb826041416528bfe3c6e06d88116d3e359eb969
CRs-Fixed: 3175490
2022-04-25 08:58:22 -07:00
KARTHIK KUMAR T
c7acbbd7ba qcacmn: calculate RSSI in DBM
calculate rssi_comb and rssi per chain values using
parameters received from the fw.

Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
2022-04-25 04:12:10 -07:00
Ananya Gupta
bf41cceb2f qcacmn: Use gEnableDataStallDetection as UINT value
Currently, data stall detection is without control over
individual data stall events.
INI variable, gEnableDataStallDetection is converted from
boolean to unsigned int which provides control over events
across FW and host with each bit corresponding to different
data stall events.
Bit 0: Enable all data stall events if set.
Bit 1-30: mapped to data stall events. Used when Bit 0 is 0
Bit 31: Enable aggressive timeout for WLM Mode.

Change-Id: I4656520accd1589e77d5054eaa0a3cb8e63b14b2
CRs-Fixed: 3174906
2022-04-24 23:13:39 -07:00
Sai Rupesh Chevuru
53ed3db279 qcacmn: Fix for build
Fix build issue when MCAST_MLO defined.

Change-Id: I1a0447e6126f81747f43cc138eaeee528e1c5a6e
CRs-Fixed: 3181198
2022-04-23 06:40:37 -07:00
KARTHIK KUMAR T
ec906c0387 qcacmn: Add the rssi dbm support param in dp soc
Update RSSI dbm support parameter in the dp soc
via CDP interface.

Change-Id: I1197d98eeb417361bb65ad6f3c0c777524c39c3b
CRs-Fixed: 3157372
2022-04-22 10:58:15 -07:00
Abishek Ganapathy
e79a7628e6 qcacmn: Find peer using mld_addr for MLO case
For MLO, try to find peer by comparing the MLD MAC
addresses.

Change-Id: Ib109da957d5c330385688a4e91e04cda91a51f30
CRs-Fixed: 3140866
2022-04-22 07:27:02 -07:00
KARTHIK KUMAR T
21fcb24a2c qcacmn: Add RSSI specific parameters in mon pdev
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.

Change-Id: I5060795918571763ad467aae93729040fbca96a1
CRs-Fixed: 3147897
2022-04-22 07:26:51 -07:00
Amir Patel
c94599395b qcacmn: Update correct filters for monitor mode
Update correct filters for monitor mode

Change-Id: If0e8b7397289c3d453d3a8c9a87db79f921909c9
CRs-Fixed: 3178839
2022-04-22 07:26:45 -07:00
Jeevan Kukkalli
cedb0f2795 qcacmn: Handle lite monitor frames
Call function to process mpdus when lite monitor
feature is enabled

Change-Id: I0df722a92e91bddc09a84dce2bc2aa6a67548045
CRs-Fixed: 3173953
2022-04-22 03:10:57 -07:00
Debasis Das
e7615d09c5 qcacmn: Fix average delay calculation for hist-stats
To calculate average delay for hist-stats, use the below
formula : new-avg = (current-avg + new-delay) / 2.
During accumulation of delay-stats for all the TID's for
a peer, only the hist-buckets with non-zero counts should
be considered for calculating the various delay levels.

Change-Id: Ic930116bd650baab6a2b43e077cf55f5c79681d5
CRs-Fixed: 3178032
2022-04-22 00:50:19 -07:00
Harsh Kumar Bijlani
844445200d qcacmn: Add support for printing of peer stats in driver
Add support for printing of missing peer stats in driver.

Change-Id: Id0b2a5b101f061612f60ea9d6385d0980214c820
CRs-Fixed: 3178076
2022-04-21 05:57:37 -07:00
Sai Rupesh Chevuru
f52e7f0e38 qcacmn: Special cases handling in the case of multicast MLO
In the case of ME6, Backhaul WDS, NAWDS
1. Send the igmp pkt on the same link where it received,
   as these features will use peer based FW metadata.
2. Bypass the reinjection.

Change-Id: Idf0058e182257fbcedd8eb5fc8bcde945e8a91bc
CRs-Fixed: 3171558
2022-04-21 05:57:30 -07:00
aloksing
9cc1b3a305 qcacmn: Get RU details in MIMO case
Get NSS, MCS and RU size from PPDU_START_USER_INFO TLVs.

Change-Id: I5898a46a52e8a1eb25e3cf54e7dfe50c503e1b68
CRs-Fixed: 3167954
2022-04-21 04:33:31 -07:00
Jinwei Chen
5f37239c73 qcacmn: Fix SAP DHCP ACK no TX Comp notify issue
When TX completion is released from FW, dp_tx_notify_completion()
will not be invoked, then TX DCHP ACK will miss
hdd_softap_notify_tx_compl_cbk() which then
WMI_PEER_CRIT_PROTO_HINT_ENABLED with value 0 will not send to FW.

(1) move dp_tx_notify_completion() from dp_tx_comp_process_desc_list()
to dp_tx_comp_process_tx_status(), so that both TX completion release
source FW or TQM case will call it.
(2) clear TX notify flag for intra-bss forwarding BC/MC to avoid
unnecessary TX completion notify.
(3) Set ts.status for release source FW case otherwise it will be value
0 always.

Change-Id: I2bf9900a3d16ba162a83b061f0b96e7d2f79423a
CRs-Fixed: 3178423
2022-04-21 03:20:36 -07:00
Sai Rupesh Chevuru
490ea7cc78 qcacmn: Avoiding the loop back packets between MLO NAWDS repeaters
Check for mld peer id instead of link peer id in the case of
intra bss forwarding between MLO NAWDS repeaters

Change-Id: I7af7f43e7f88c95b0debee85c0976fdb9a1c5519
CRs-Fixed: 3142943
2022-04-20 05:46:55 -07:00
Jeevan Kukkalli
19c030e751 qcacmn: Enable smart monitor on wkk
Enable smart moniotr operations to add/delete
NAC clients and to get NAC client rssi value.

Change-Id: Ifc933d474da15101293cf3e1c07261917fb634f9
CRs-Fixed: 3169256
2022-04-20 03:12:47 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Harsh Kumar Bijlani
9aa4e0f9f5 qcacmn: Add subscription for PPDU_START_USER_INFO TLV
In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.

Add subscription for this TLV by host for enhanced stats use case.

Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
2022-04-19 13:21:55 -07:00
Shiva Krishna Pittala
df606bea4e qcacmn: Add init path changes for UMAC HW reset feature
Add the changes to initialize UMAC HW reset context at SOC level.

Change-Id: I89afca81945ead67fb1a6454240281d89bec3ab9
CRs-Fixed: 3162080
2022-04-19 08:38:42 -07:00
Amir Patel
19970ea217 qcacmn: Add MPDU restitch logic For Waikiki RxMON
a. For decapped frames, convert frames from 802.3 t 802.11
b. for non-decapped frames no conversion is needed
c. Apply radiotap header and deliver MPDU to osif layer

CRs-Fixed: 3074441
Change-Id: Ia03b4bad35d69aa292958782cd424f3df56dabbc
2022-04-19 05:17:25 -07:00
Sai Rupesh Chevuru
f179a624a1 qcacmn: HW reinjection support for MLO Multicast
Enabling HW based reinjection for MLO Multicast

Change-Id: Ie9663e0e90ae1ae0a07d229fd6d4c66787d4224a
CRs-Fixed: 3142397
2022-04-19 01:27:09 -07:00
Harsh Kumar Bijlani
484198b257 qcacmn: Add MSDU counters to account for 11BE puncturing BW stats
Add MSDU counters to account for 11BE puncturing BW stats.

Change-Id: I2c1d420b8d8b4533dcbf64f206783c07555cac99
CRs-Fixed: 3171770
2022-04-19 01:27:03 -07:00
Jinwei Chen
4b88dddd72 qcacmn: Remove tx_desc pool lock in dp_tx_notify_completion
dp_peer hold the peer ref_cnt outside of dp_tx_notify_completion()
already, so dp_vdev can not be freed during that period if dp_peer
exist, it's not necessary that hold dp tx_desc pool lock in
dp_tx_notify_completion() which will introduce lock contention with
TX/TX Comp path.

Remove tx_desc pool lock to optimize it.

Change-Id: I5fdb9143bbc0800db74f8595f77c5a2c96d8e7d6
CRs-Fixed: 3170805
2022-04-18 21:13:35 -07:00
Debasis Das
4bdcc0d4c5 qcacmn: Initialize min_delay of hist_stats to high value
As the value of min_delay is initialized to 0,
during the updation of min_delay per-packet,the
new value is compared with 0.This results in the
value of min_delay always becoming 0.Fix this by
initializing min_delay to very high value.

Change-Id: I6dfdd88a44f68d21240c148bd5c591e04fdff92e
CRs-Fixed: 3170996
2022-04-13 10:59:55 -07:00
Amir Patel
67d1b9bf12 qcacmn: Skip duplicate destination ring desc in WKK RxMON
Skip duplicate destination ring desc in WKK RxMON

CRs-Fixed: 3162134
Change-Id: I38e7855a9d4fd19a4aaa476fbeeaa0c4a8e309e2
2022-04-13 09:11:37 -07:00
aloksing
2c977089aa qcacmn: Get puncture type from puncture pattern
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.

Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
2022-04-13 05:18:17 -07:00
Amir Patel
5f9d3d8f53 qcacmn: Flush monitor status buffer queue
Flush monitor status buffer queue in case of
flush or truncated PPDU

Change-Id: I79daa9054caf0ffc3658c8c41b759d9ce8cdf108
CRs-Fixed: 3160035
2022-04-12 09:00:32 -07:00
sumedh baikady
52181cceb1 qcacmn: Fix Reo qref issues
1. Since peer id is reused for reconnection in MLO case,
old entries for queue desc addr is cleared. Clear the reo
internal storage and reset it back on client connection.

2. Send Qref feature WMI cmd to FW to enable the feature.

Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1
CRs-Fixed: 3156642
2022-04-12 06:31:36 -07:00
Harsh Kumar Bijlani
c41c8f1d8c qcacmn: Correct computation of tx.tx_rate and tx.last_tx_rate
Correct computation of tx.tx_rate and tx.last_tx_rate in Tx HTT
PPDU completion path.

Change-Id: I8dcc4913c651a2c90e0f1d153e4e09f02d7403d4
CRs-Fixed: 3167357
2022-04-11 16:30:38 -07:00
Harsh Kumar Bijlani
ad3d4de01a qcacmn: Use correct set of macros for Rx monitor dependent features
Use correct set of macros for Rx monitor dependent features.

Change-Id: I51833852811bb339afd284a1291460ec827fe6e5
CRs-Fixed: 3169125
2022-04-10 00:28:05 +08:00
Amir Patel
2ea0071499 qcacmn: Use 'end_offset' as delimiter for status buffer
parsing

HW desc provides 'end_offset' which can be used as delimiter
to identify status buffer boundary

Change-Id: I265ab328b80615fd2386402f0ea3797d124b8f8f
CRs-Fixed: 3157554
2022-04-08 04:29:12 -07:00
Manoj Ekbote
67fe081325 qcacmn: MLO Intra-BSS changes
When a packet s destined to ML STA from a legacy peer, use
the ML peer id to identify the primary link and redirect the
packet to primary vdev for Intra-BSS.

Change-Id: Id8e6fcc9e2dd638e6d923eef50f55325fa538c49
CRs-Fixed: 3169484
2022-04-08 04:29:07 -07:00
Srinivas Girigowda
c53ac4acce qcacmn: Add sanity check for dp_intr_id
Add sanity check for dp_intr_id in monitor flush ring.

Change-Id: I9562e837d898543152da111ca1c4bf9f0558092d
CRs-Fixed: 3166446
2022-04-07 01:18:50 -07:00