Commit Graph

333 Commits

Author SHA1 Message Date
Azmath Mohammed
2baa26c9b4 qcacmn: Added a check in "dp_hw_cookie_conversion_detach"
When the mem_alloc fails and fails to create spinlock
checks the mem allocation before destroying spinlock.

Change-Id: Id4c1a509cd0bb534040040f6948d3307181dc909
CRs-Fixed: 3552551
2023-07-14 15:41:57 -07:00
Sai Rupesh Chevuru
a7af205870 qcacmn: populate the bridge vap in partner list
populate the bridge vap in partner list

Change-Id: Ie7c0ebc3b796f2b57e7837577079dcd1d4faac45
CRs-Fixed: 3550201
2023-07-14 10:07:31 -07:00
Gaurav Saini
1630288f30 qcacmn: Remove AST dependency for sawf
To eliminate the use of AST, using net dev to
find the peer related information, which helps
in avoiding the iterations of psoc list.
Passing the peer id as addition parameter to DP

Change-Id: I68e4ad8d5d62b2350ed0c2df66279de3fa9c0d83
CRs-Fixed: 3526799
2023-07-11 18:16:20 -07:00
Neha Bisht
ddd144bfd6 qcacmn: Fetch current primary soc from mld peer
Fetch current primary soc from mld peer instead of current link peer.

Change-Id: I6c9fc7712b16d938d47b1cd1b5e8bf75eaf352d0
CRs-Fixed: 3547555
2023-07-11 12:49:53 -07:00
Venkateswara Naralasetty
fc93f83a78 qcacmn: Add SWLM support for WCN6450
Changes required to support SWLM feature on wcn6450.

Change-Id: I306cba8dcefa8f34a9546285b33b974987aec625
CRs-Fixed: 3540269
2023-07-10 18:03:57 -07:00
Shashikala Prabhu
7f898dfcc2 qcacmn: Add buffer window for umac reset in progress
When the peer delete timer/vdev manager response timer expires, host checks
if the umac reset is in progress. If so, host will retrigger the timer.
It is possible that the umac reset is just completed and either of these
two timers got expired. In this case, host will assert saying that the peer
delete response/vdev manager response is not received from FW. FW may take
a few milliseconds to send the peer delete/vdev manager response to the
host after the umac recovery completes.

Hence, to avoid the crash, check if the umac reset was in progress during
the umac reset buffer window.

Add the below changes as well,
1) INI support to get the umac reset buffer window value.
2) Renamed the API dp_umac_reset_is_inprogress as
   dp_get_umac_reset_in_progress_state to return either
   CDP_UMAC_RESET_IN_PROGRESS or
   CDP_UMAC_RESET_IN_PROGRESS_DURING_BUFFER_WINDOW.

Change-Id: Ie15ef0731bad4b0ed955a479f00e297b7ba10729
CRs-Fixed: 3522665
2023-07-05 17:19:13 -07:00
Varsha Mishra
eadb65cdde qcacmn: Update vlan tag in multipass received frames
All packets except TID 0 first come to REO error NULL queue.
This happens because only TID 0 queue is setup initially.
Added multipass specific code in NULL queue path.

Change-Id: I8103215ad3e28796c868caa3eec816b9d118da9d
CRs-Fixed: 3482796
2023-07-05 08:36:38 -07:00
Kenvish Butani
54b264c3a1 qcacmn: Fix RCU stall due to long SG list in RX Error path
RootCause:
WBM RX Error Ring, receives a packet from RXDMA with FCS Error
and MSDU Continuous Bit set. As MSDU continuous bit is set the
nbuf is added to temp SG list, but SG for these error is not
supported, hence the temp SG List never got reset and it
incremented hugely leading to high number of nbuf for
processing in list which lead to RCU stall

Fix:
IN WBM RX Error Ring, SG is supported only for two kind of
errors i.e. NULL Desc and Unencrypted. For all other kind of
errors reported by HW with MSDU Continuous bit set, explicitly
reset MSDU continuous bit in nbuf

Change-Id: I8d5858ccefb89b93e1c4fb36609d747eef00e8f2
CRs-Fixed: 3532208
2023-07-04 19:15:39 -07:00
Nanda Krishnan
baf49c9f89 qcacmn: Tracking the ring util stats
Added serviceability changes to track ppe2tcl
and wbm2rel ring util stats

Change-Id: Ia154ae4914c47f010921eaed10b8a4dde50884bf
CRs-Fixed: 3537655
2023-06-27 21:48:54 -07:00
Neha Bisht
c9d9e88708 qcacmn: Update ast entry during PTQM migration
Delete and add ast entry during PTQM migration for current and new primary
peer respectively.

Change-Id: I4a640f84a5778aeff19057e027b3aae9e939487a
CRs-Fixed: 3536670
2023-06-27 07:39:40 -07:00
Biswajit Dash
977b3d1fd6 qcacmn: move ml_peer_valid bit check macros out of qdf
-Moved the get macro from qdf to cdp layer.
-Removed the set macro from qdf and replaced its usage
 in be rx layer with an existing HTT ml_peer_Valid mask.

Change-Id: I4a87b4b560f983c5aa6d026481a88d28e2ff09fd
CRs-Fixed: 3488425
2023-06-26 17:22:44 -07:00
Rakesh Pillai
60e91fe20b qcacmn: FISA init code movement
Move the FISA initialization code out of cmn DP.

Change-Id: I744a69d559225d4a0496b84be9007ab230f2f4a0
CRs-Fixed: 3512034
2023-06-24 13:31:35 -07:00
Pavankumar Nandeshwar
c27dfcd8ac qcacmn: Add tx desc alloc failure count for PPEDS
Add tx desc alloc failure count for direct switch

Change-Id: I593e5846ab4948edf1e1b955890f167f772e166b
CRs-Fixed: 3526743
2023-06-14 03:12:51 -07:00
Kenvish Butani
6f0ea851ba qcacmn: Add iteration logic to reset MCAST Primary Flag
For every set Mcast Primary Flag call from CP, DP will
set the mcast primary flag for that particular vdev of
MLO and reset mcast primary flag for all the other
vdev's of MLO

Change-Id: I4fff532e5e30d1346fa9e9ad72d72af2e1c6f768
CRs-Fixed: 3520617
2023-06-09 13:50:46 -07:00
KARTHIK KUMAR T
080c5089fd qcacmn: Add new API to get partner soc
added a new API to get partner soc by passing chip_id
while adding and deleting flow entry.

Change-Id: Ib1d8c0dedb8e11d164f00791e59cf52ef8332cb5
CRs-Fixed: 3508805
2023-06-05 13:53:13 -07:00
Sachin Kohli
46fcdcfef8 qcacmn: Adding support for IRQ_DISABLE_UNLAZY flag for PPEDS interrupts
Support for setting and clearing the IRQ_DISABLE_UNLAZY flag
during registering and freeing of PPEDS interrupts respectively.

Change-Id: I4a512e434315d2c981e890661adb5686bdb563bc
CRs-Fixed: 3509601
2023-06-02 16:50:53 -07:00
Nandha Kishore Easwaran
b88e368419 qcacmn: prefetch only required fields in skb
Remove prefetch of data + 128 since skb fields in that offset
are not usied when processing. Also, prefetch next->data, so that
there is no cache miss.

Change-Id: Ida9fc7e4db86e181de82acb2364dd63d37d51e2c
CRs-Fixed: 3505042
2023-05-31 23:38:46 -07:00
Amit Mehta
34497ea2d1 qcacmn: Add changes to get link ID in Tx/Rx Path
Add changes to get link ID in Tx/Rx Path

Change-Id: I6b52093697b138e5a5d3878af2dd8db0d65cc488
CRs-Fixed: 3450541
2023-05-28 09:28:46 -07:00
Yeshwanth Sriram Guntuka
4dc955351e qcacmn: Move prealloc DP descriptor types to QDF
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.

Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
2023-05-26 16:06:57 -07:00
Rakesh Pillai
b361da4fea qcacmn: Cleanup CMEM allocation code
Currently the CMEM allocation code is duplicated
for Cookie conversion and FISA.

Cleanup the CMEM allocation code.

Change-Id: Ifdb912fe464abaa7be0ab8b2294155984dbd662e
CRs-Fixed: 3504668
2023-05-26 10:27:56 -07:00
Kenvish Butani
0df4b5eaea qcacmn: Optimize DP Rx Error Handling (Part-2)
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security

Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
2023-05-24 05:19:41 -07:00
Pavankumar Nandeshwar
5981600c3a qcacmn: Account for global tx desc count during pool flush
Make sure global tx desc count is decremented during
tx desc pool flush

Change-Id: I5ba21cd9a4b1dbd3dbaf55e56a5852fe7703e36c
CRs-Fixed: 3501063
2023-05-23 06:59:50 -07:00
Kenvish Butani
c7c2642eef qcacmn: Add Stats support for MLD Interface in STA mode
For both Unified Bonding and Non bonding mld mode,
add Support to get VDEV Stats for MLD Interface on
STA mode for ifconfig and wifitelemetry tool.

Change-Id: Icb528d8738fd932d3f2c057af49fc7af141299e9
CRs-Fixed: 3502731
2023-05-22 07:06:12 -07:00
Parikshit Gune
b46533745e qcacmn: Support FSE flow rule push from ECM
1. Adding cmn dev APIs to support FSE block rule add from
ECM for SFE UL flows
2. Send SFE flows to stack post FSE match

Change-Id: I37563592a03e28373ef3e2520a771082c629ccf5
CRs-Fixed: 3499382
2023-05-19 23:26:02 -07:00
Srinivas Girigowda
6eaf41462a qcacmn: Add context to the logs
Logs without meaningful message or values serves no purpose in debugging.
Hence, add more context to the logs.

Change-Id: Ia463d239a9bf26f292a11bcc71cb1379374c45e4
CRs-Fixed: 3492593
2023-05-18 18:43:13 -07:00
Srinivas Girigowda
48cf24b446 qcacmn: Remove trailing newline from the DP Logs
Remove trailing newline from the DP Logs.

Change-Id: Iaf54e57fb44cf7c15d82bd5c0ffb3fc7c3d04a2b
CRs-Fixed: 3492501
2023-05-18 18:42:08 -07:00
Shashikala Prabhu
65e8b2f3d8 qcacmn: Add CDP API to check if UMAC reset is in progress
Add CDP API to check if UMAC reset is in progress.

Change-Id: I9b5891f61278aa6be52ee2e8d5f9de3185d92eef
CRs-Fixed: 3475148
2023-05-17 08:34:56 -07:00
Kenvish Butani
c0fe52d4c6 qcacmn: Get vdev stats based on arch
With Single Netdev Unified and Hybrid Mode,
the calculation of vdev stats is changed as
per the mode. For LI platforms the path
to get vdev stats is still same while for
BE the vdev stats config path is different.
Introduced Arch ops to handle this diversion.

Change-Id: If4f0f49e78d35126942cd3f1872a5856e4d0f5ba
CRs-Fixed: 3482567
2023-05-15 03:45:15 -07:00
Kenvish Butani
ef68ac521f qcacmn: vdev stats Support for MLO Hybrid Mode
Add vdev stats support for DP MLO Unified
and Hybrid Mode.
Add new CDP API for getting vdev stats for
NON_MLD interface.
Add support to get vdev stats for specific
vdev which is a part of MLO.

Change-Id: I72c8b25958649d473e1b65cee21810cd86951187
CRs-Fixed: 3455607
2023-05-15 01:28:24 -07:00
Neha Bisht
53800babd2 qcacmn: Update reo pointers for new primary Qref table
Update reo pointers for new primary Qref table.

Change-Id: I3ac5cdd39f91ae84ecb595d613574bd7ee127d99
CRs-Fixed: 3486401
2023-05-14 08:11:52 -07:00
Sai Rupesh Chevuru
1b317b0bf3 qcacmn: received packet matches with mld mac address drop it
In extap mode if the received packet matches with mld mac address drop it.
for non IP packets conversion might not be possible,
due to that MEC entry will not be updated, resulting loopback.

Change-Id: Ibec080b619e9b0a8068e1c90acbcc144d44d8f54
CRs-Fixed: 3485362
2023-05-12 13:18:47 -07:00
Srinivas Girigowda
f5321447c2 qcacmn: Move RX 2.0 code under WLAN_PKT_CAPTURE_RX_2_0 macro
Move RX 2.0 specific code under WLAN_PKT_CAPTURE_RX_2_0 macro.

Change-Id: Ic07bde8868850b8889941fc9054ad988617b5296
CRs-Fixed: 3415779
2023-05-10 11:48:45 -07:00
Srinivas Girigowda
ec3b9bdbce qcacmn: Move cmn code under QCA_MONITOR_2_0_SUPPORT to TX/RX 2.0 macro
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.

As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.

Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
2023-05-10 11:48:32 -07:00
Biswajit Dash
d62608cb2a qcacmn: Hybrid mld netdev support
-Support to route IGMP packet to correct netdev coming from
 legacy and mld sta.
-Support to detect mld model based on ini setting

Change-Id: I10ea5af9a4315642b262c8404d7bebd88ee06ab1
CRs-Fixed: 3467808
2023-05-09 06:30:09 -07:00
Pavankumar Nandeshwar
e8bf99b94f qcacmn: Honor Umac reset trigger atomically
Make sure the Umac reset state is updated when
the trigger is received only after checking
Umac reset in progress flag.

Change-Id: I2c6ac68bee5b69b1f083a109646cb6bf61d8cdd6
CRs-Fixed: 3487388
2023-05-08 09:56:40 -07:00
Chaithanya Garrepalli
6605c27dcc qcacmn: Handle ppe peer setup for QCA5332 platform
As ppe_ds is not supported on QCA5332 platform, in
case of MLO peer always setup ppe peer using primary
peer

Change-Id: Icd05b69c07c05fe2fc793f49fcf28b5d58bc8bb6
CRs-Fixed: 3480359
2023-05-07 13:25:09 -07:00
Sai Rupesh Chevuru
cdbbebd6f8 qcacmn: handling of mcast in proxy arp along with MLO MCAST
handling multicast packets in the case of proxy arp
along with MLO MCAST.

1. stamp the host inspected bit for GSN based packets.
2. trigger dp_tx_proxy_arp from the reinject handler.

Change-Id: I8aea1e4fd4e61f4cc6a5dd6d8b5151c1a9bf2fac
CRs-Fixed: 3465975
2023-05-04 13:49:48 -07:00
Pavankumar Nandeshwar
a631906ba4 qcacmn: Free the tx descriptors borrowed by DS
Free the tx descriptors borrowed by direct switch
back to regulartx desc pools.

Change-Id: I2898e57ce5eff54c1787dbebd166482d9fbfc585
CRs-Fixed: 3444334
2023-04-29 07:18:53 -07:00
D Harilakshmi
82bd3d9009 Revert "qcacmn: Optimize DP Rx Error Handling (Part-2)"
This reverts Change-Id:	I760694073a06c1829f28e7e92cd1657560d8eb06

Change-Id: If1573653da912702bd343acfa42f9ae32a3f7844
CRs-Fixed: 3472220
2023-04-26 06:39:59 -07:00
D Harilakshmi
1e03676a2e Revert "qcacmn: received packet matches with mld mac address drop it"
This reverts Change-Id: I382cb2d525caa8bc23dc6bbadd0575e579645659

Change-Id: I0b2b2fadb214b4576c9818225d3457c6923aea1c
CRs-Fixed: 3470318
2023-04-25 12:06:13 -07:00
Linux Build Service Account
2e3e6b1315 Merge "qcacmn: Set trigger action after checking Umac reset in progress" 2023-04-21 09:15:36 -07:00
Linux Build Service Account
79c593df99 Merge "qcacmn: received packet matches with mld mac address drop it" 2023-04-21 09:15:34 -07:00
Linux Build Service Account
d899379898 Merge "qcacmn: add DP API to support RX peer meta data version update" 2023-04-21 09:15:24 -07:00
Jinwei Chen
a7d358d70a qcacmn: add DP API to support RX peer meta data version update
add DP API to support RX peer meta data version update.

Change-Id: I010cd64d5d60e5f2313fa3c4387968e85ce96157
CRs-Fixed: 3469143
2023-04-21 03:17:10 -07:00
Sai Rupesh Chevuru
4ed37b3507 qcacmn: received packet matches with mld mac address drop it
In extap mode if the received packet matches with mld mac address drop it.
for non IP packets conversion might not be possible,
due to that MEC entry will not be updated, resulting loopback.

Change-Id: I382cb2d525caa8bc23dc6bbadd0575e579645659
CRs-Fixed: 3470318
2023-04-20 16:55:51 +05:30
Pavankumar Nandeshwar
84aff202e7 qcacmn: Set trigger action after checking Umac reset in progress
Set the Umac reset trigger action after checking if
Umac reset is already in progress.

Change-Id: Ifb4d9523d9f746eef657ef81e934ffe5c2800a6f
CRs-Fixed: 3472090
2023-04-20 02:16:25 -07:00
Kenvish Butani
969c5bdf1f qcacmn: Optimize DP Rx Error Handling (Part-2)
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security

Change-Id: I760694073a06c1829f28e7e92cd1657560d8eb06
CRs-Fixed: 3472220
2023-04-20 13:29:39 +05:30
Prakash Manjunathappa
50c9ab56a1 qcacmn: Do not subscribe for MC/BC frames for kiwi/peach
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.

Make this change only for kiwi/peach using hal ops.

Change-Id: Id8665261a512c9db3e808f95082ff82b47f01ade
CRs-Fixed: 3464036
2023-04-19 18:12:11 -07:00
Kenvish Butani
711fb71599 qcacmn: Revert "Optimize DP Rx Error Handling (Part-2)"
This reverts the commit.

Change-Id: Ia1a304daa5d63a063bfc2d22b9b99ccad02af0e1
CRs-Fixed: 3472017
2023-04-19 05:43:51 -07:00
Nitin Shetty
7045ccc728 qcacmn: handle ppeds init/deinit
based on ppeds_handle allocate and free the
ppeds resources.

Change-Id: I70fc4bfa879fcd62c0e8a80c5b57938a2063bccc
CRs-Fixed: 3462725
2023-04-19 03:55:26 -07:00