Commit Graph

369 Commits

Author SHA1 Message Date
Amit Mehta
a9e2233d1d qcacmn: Add change to clear per MAC OBSS stats
Add change to pass mac_id for which clear OBSS
request was received.

Change-Id: I715f57018c162c3ba7bfea8d709a888538f8f4ce
CRs-Fixed: 3346387
2022-12-06 00:00:22 -08:00
Chaoli Zhou
b9b7e87a10 qcacmn: Fix compile error for ROME IPA
Fix compile error for ROME IPA in the kernel-5.4.

Change-Id: I2e8a3d5f4b08ab4802c7d0d229747c389b055a69
CRs-Fixed: 3345160
2022-12-05 16:47:55 -08:00
Himanshu Batra
993c0b242f qcacmn: Add API to check whether a given peer is sla or not
Add API to check whether a given peer is sla or not

Change-Id: I4d40aeb11fac1dc3620abca4958e4484635e42dc
CRs-Fixed: 3344429
2022-11-28 19:20:44 -08:00
Ripan Deuri
9fbd2188d6 qcacmn: Support SAWF uplink QoS
Add CDP and OL interface op to set uplink QoS parameters for SAWF.

Change-Id: Idc53f47ddf2bf78bc9c2a22cbb13de5c900cb289
CRs-Fixed: 3331087
2022-11-17 15:35:52 -08:00
Chaithanya Garrepalli
16e9e30d49 qcacmn: Disable DP interrupts in force MLO teardown
In force teardown case disable the interrupts before
going down. As target may be still active, we may
still continue to receive traffic. Disabling
interrupts to nsure we dont process interrupts while
cleaning up partner SOC

Change-Id: I7092d398c039302234206cb72f7453b6dc0cbcb7
CRs-Fixed: 3332961
2022-11-17 00:33:26 -08:00
Manish Verma
50819e81b2 qcacmn: Add per peer PPE routing support
Add the per peer routing support for PPE-DS feature

Change-Id: I71666fc2f29b9497fd4ec9f5d50af1cb05d91fe2
CRs-Fixed: 3306766
2022-11-14 05:42:28 -08:00
Rachit Kankane
58ee0d8e0b qcacmn: Add MAC ID to get per MAC stats
Add MAC ID to which the Spatial Reuse stats is requested from.
Pass this MAC ID to FW to get the respective Spatial Reuse stats.

Change-Id: Ief2434bf1f2fc82d9339ee38933effbd580088af
CRs-Fixed: 3328686
2022-11-10 00:22:15 -08:00
Nidhi Jain
2e2003d54f qcacmn: Changes to enable CFR on special vap
This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
2022-11-07 00:44:52 -08:00
Ripan Deuri
11ccd80f56 qcacmn: Add HAL APIs to read tsf2 and tqm scratch register
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.

Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
2022-10-31 13:38:15 -07:00
Santosh Anbu
938ddb0956 qcacmn: Add mon dp ops to set monitor filter
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset

Add change to support ops callback function required to set or reset
monitor filter settings are runtime.

Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
2022-10-31 13:38:08 -07:00
Neelansh Mittal
83990186aa qcacmn: Add PPE Tx/RX changes
Add support for:-
   1. PPE VP entry attach and detach.
   2. Per VAP PRI2TID Support
   3. Dump the PPE VP HW entries.
   4. Add tx completion handling for ppeds descriptors

Change-Id: I2a6d0be5bb556663a39a24d17b703877f3b5ad00
CRs-Fixed: 3276981
2022-10-13 15:09:43 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Amit Mehta
95857b39a8 qcacmn: Add API to get and clear pdev obss stats
Add API to send request to Fw to get and clear pdev obss stats.

Change-Id: I2697cc111eba0310d0a65e9911673670ff476c7f
CRs-Fixed: 3295540
2022-10-01 22:31:20 -07:00
Ananya Gupta
a4b2a03200 qcacmn: Pause Tx HW enqueue when bus suspend in progress
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, do not update HP when apps suspend is in progress.

Change-Id: Id4176224563bdd759828397fa1cd23de1598192e
CRs-Fixed: 3294407
2022-09-21 20:02:51 -07:00
Amit Mehta
163dd20054 qcacmn: Add API to read tsf time
Add API to read tsf time from scratch registers.

Change-Id: If736c31f9ae522a9f853e7b83b6b8a61cad990da
CRs-Fixed: 3287544
2022-09-13 10:51:38 -07:00
Devender Kumar
a85ce1152c qcacmn: Debug framework for SMMU buffer tracker for IPA offload
Debug framework for tracking the SMMU mapping and unmapping of
skb buffer when IPA offload is enable and IPA_SMMU_NBUF_TRACKER
is define.

CRs-Fixed: 3255423
change-Id: I8966097945b33cb866f4642b98b3d1a4beabfad7
2022-09-13 03:24:34 -07:00
KARTHIK KUMAR T
8267333021 qcacmn: Add cdp function to get rate/link stats
Add cdp function to get the peer extended rate and link stats.
This change is to support user level command to flush mld/link
peer extended link and rate stats.

cfg80211tool wifiX get_peer_extd_rate_link_stats <mac_addr>

Change-Id: I20cd2b38b242008b95aedc5f9914088a149093dd
CRs-Fixed: 3278042
2022-09-12 15:57:05 -07:00
Devender Kumar
07327b6ea8 qcacmn: Send client disconnect event to IPA
When AP vap disconnect aburputly or by doing channel switch then for WDS
node, client disconnect event is not sent to IPA driver, hence IPA is
not aware of any new wds client coming behind that peer as the previous
delete event is not handled properly

Fix is to send wds client disconnect event when ast entry are flushed.

CRs-Fixed: 3271481
Change-Id: Id507f543c8f4cb8f69e26ba6ca3a23787af21ed7
2022-09-09 04:09:02 -07:00
Tallapragada Kalyan
1b1b3adbea qcacmn: fast TX API and registration
This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.

avoid additional re-checks in the wifi TX function

CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e
2022-08-19 16:15:21 -07:00
Ripan Deuri
28f25ca052 qcacmn: Support HW Tx delay stat
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.

Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
2022-08-17 04:58:14 -07:00
Pavankumar Nandeshwar
a839cac207 qcacmn: Datapath changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I1d3d295468e97ebce5e7310055abc508e16e99b0
CRs-Fixed: 3174560
2022-08-11 15:23:13 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
Shwetha G K
690e9eba92 qcacmn: Add flexibility to flush MLO peers only
Add changes to support flushing of MLO peers only.
This is required to support the mode-1 behavior of target
recovery feature, where we delete MLO peers and retain
legacy peers across SOCs which are not crashed.

CRs-Fixed: 3243549
Change-Id: I5ae326bfffd1267768c83fd7f60fa1343ef305fe
2022-07-29 09:20:57 -07:00
Namita Nair
dc6a757028 qcacmn: Support same link/mld peer mac address
Currently, if mld and link peer has the same mac
address, the peer cannot distinguished with
just the mac address as the search argument.

Hence to support same mld/link peer mac address,
cdp_peer APIs that uses both link and mld peers,
are also given peer_type info. This helps
to perform the operations on the correct peer.

Change-Id: If646755facc8f9a4d9fed2f31c5cc6618fa9a952
CRs-Fixed: 3043428
2022-07-29 05:57:06 -07:00
Jinwei Chen
fdb2193820 qcacmn: add size parameter for dp_prealloc_get_context
add size parameter for dp_prealloc_get_context.

Change-Id: I0171124cf35010e793c18d4c8f6916497f053f8d
CRs-Fixed: 3222817
2022-07-19 13:49:54 -07:00
Vivek
e70a7b87d0 qcacmn: Add mac address to peer unmap ops
On receiving the peer unmap event the ops
is called without the mac address of the
peer for which peer unmap is received.

Add mac address of the peer for which peer
unmap is received.

Change-Id: I9026433089963818d5a227a0660866ff504dea84
CRs-Fixed: 3238626
2022-07-19 01:36:10 -07:00
Harsh Kumar Bijlani
81d963fc50 qcacmn: Remove SCS database from dp_peer structure
Set function pointer for SCS peer lookup and rule handler.

Add a new module id for SCS.

SCS database maintained in dp_peer structure is redundant as
same info is maintained in control peer. Therefore remove
SCS database from dp_peer structure and also remove APIs
which access/update this database.

Change-Id: I951f12de487a4be3ae169d1e309352e4e5031fc9
CRs-Fixed: 3226693
2022-07-16 09:10:04 -07:00
jinbliu
a8f2b81354 qcacmn: Skip special frame rate info update
To avoid unmeaningful rate fluctuation, when report
rx linkspeed to upper layer, exclude special frames:
arp/ssdp/dhcp/eapol/ipv6 NA/NS/DHCPV6 in low rate.

Change-Id: I4bc49a808a02b4bc8c687f70690922045d65e739
CRs-Fixed: 3198484
2022-07-15 13:35:11 -07:00
Harsh Kumar Bijlani
4e5e35a746 qcacmn: Define cdp call for SCS peer lookup and rule match
Add function pointer declaration for SCS peer lookup and rule
match and also define cdp call for the same.

Change-Id: I4329b746a12f019a077652d02625b76c7f5fa21f
CRs-Fixed: 3226475
2022-07-14 18:23:47 -07:00
Devender Kumar
277054124d qcacmn: AST entry create and update support for IPA
To support WDS feature in IPA driver, WLAN needs
to update the ast entry for any new rx packet, and for
end-nodes connected via repeater to root.

CRs-Fixed: 3226348
Change-Id: I7383b12f18e7c70ec06499d66130667eca033131
2022-07-13 02:37:22 -07:00
Nandha Kishore Easwaran
34b8c3c3b9 qcacmn: Add extra tx actions for peer filtering
Add extra actions for tx peer filtering. This actions are used
to indicate to FW for the first peer addition and the last peer
deletion. This will be used by FW to set and clear peer filtering
related registers.

Change-Id: I1488146f54f3aab82651f4a27823a9b977d7b307
CRs-Fixed: 3237958
2022-07-12 07:00:57 -07:00
Ripan Deuri
b8fadd7061 qcacmn: Support HW Tx delay for MLO
Add delta_tqm, delta_tsf2 and mlo timestamp offset for BE.
These offsets are used to calculate hardware Tx completion delay.
delta_tsf2 and delta_tqm are updated during init. mlo timestamp
offset is updated whenever target sends the update event.

Also, adding CDP ops to set the offsets.

Change-Id: I55665982798c3a795481fa96c023bb851ea17476
CRs-Fixed: 3220906
2022-07-05 23:20:59 -07:00
Vivek
f64cf6e11b qcacmn: Add CDP ops to get SAWF stats from telemetry agent
The telemetry agent on certain intervals needs to pull the
SAWF stats from the driver.

Add CDP ops to pull the SAWF stats from the driver.

CRs-Fixed: 3210834
Change-Id: Ibc27059ff13b33acc4e71d3174a0415756dcfc5e
2022-06-20 00:35:47 -07:00
Yu Wang
a9461beb20 qcacmn: refine the APIs for reap timer of monitor status ring
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.

With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.

When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.

Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
2022-06-13 22:54:46 -07:00
Madhvapathi Sriram
f4bfa6616b qcacmn: Add method to configure TID queues flush
This enables the option to configure when a peer's
TID queue needs to be flushed. This is required to
discard packets that are no longer useful to the application.

Change-Id: I558debff043fc0c8038e5f5f2c815b64c90e1561
CRs-Fixed: 3130422
2022-06-09 19:37:26 -07:00
Ripan Deuri
0ffa79f0a4 qcacmn: Use CONFIG_SAWF macro for enabling HW Tx Delay
Use CONFIG_SAWF macro to prevent linking dp_set_delta_tsf in
low memory profile.

Change-Id: I07b75f893e6d043839225d9b7288823b6ef2f823
CRs-Fixed: 3211426
2022-06-08 17:10:16 -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
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
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
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
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
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
Sai Rupesh Chevuru
c5550678a0 qcacmn: FW based DMS support for 11v DMS
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.

Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
2022-05-11 12:02:13 -07:00
Rakesh Pillai
f74f73dc68 qcacmn: Add API to update DP rx tid BA window size
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.

Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.

Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
2022-05-11 09:41:23 -07:00
Devender Kumar
411e8fc3e0 qcacmn: Fix for IPA init path
After enable and disable of both radio, If second radio is enabled
then the instance_id from wlan driver is passed wrongly to IPA driver
which is in leading to initializion of first radio on IPA driver side.
Fix is to take the instace id based on psoc id and set the prod and cons
pipes based on instance_id instead of IPA given handle.

Change-Id: I26f4f3fbd23284e79a380d212ad07aceac50f053
CRs-Fixed: 3179306
2022-05-05 01:20:56 -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
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
Jeevan Kukkalli
7f9da4ae12 qcacmn: Add lite monitor set/get functions
-Add lite monitor tx/rx filter config set/get fucntions
-Add lite monitor tx/rx peer config set/get functions

Change-Id: I47cc1085c64468b8a0fada871e2f5d3707ca7063
CRs-Fixed: 3078298
2022-04-05 10:11:03 -07:00
Shwetha G K
d7046ba026 qcacmn: Add API to flush peers in recovery case
Add cdp wrapper API to flush the peers in recovery case.

CRs-Fixed: 3153535
Change-Id: I58869bf118f0aea487e63865300ba8e7462651ac
2022-03-26 01:10:50 -07:00