Commit Graph

3959 Commits

Author SHA1 Message Date
Dhananjay Latkar
5e217e2980 qcacmn: Create a bitmask for enabled sawf parameters
This bitmask is used in RM app to detect and enable SLA support

Change-Id: I0dbf8b2b89aa810478821c3f3eba66024ff01422
CRs-Fixed: 3480807
2023-05-02 12:24:23 -07:00
Rakesh Pillai
cdab8dab71 qcacmn: Code movement to enable multipass support without WDS
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.

Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.

Change-Id: Id17035f1ada9bde56ca2c61fd4688fa3454b0b11
CRs-Fixed: 3479991
2023-05-01 14:40:03 -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
Kenvish Butani
e8753b5a36 qcacmn: Fix ref leaks for vdev and peer
Fix ref leaks for vdev and peer in DP

Change-Id: If75b7dd1d96d211c2360ef65052e19e783c9ea40
CRs-Fixed: 3469902
2023-04-29 07:18:41 -07:00
Sai Rupesh Chevuru
3a522a80e1 qcacmn: rearrange the code in dp_service_srngs
update the local ring mask after setting the service running flag
to avoid the concurrent access issues.

Change-Id: I209d22858f8ac7509b5337fdb1ebfe38699790e1
CRs-Fixed: 3461866
2023-04-29 03:16:48 -07:00
Ananya Gupta
3c19803152 qcacmn: Fix division by 0 in dp_get_kbps_to_mcs
For cases DP_11B_CCK_RATE, DP_11A_OFDM_RATE and
DP_11G_CCK_OFDM_RATE, variable num_mcs is not set and is
assigned 0 which is used as a divisor to get the MCS value.
To fix this, return 0 for above mentioned cases.

Change-Id: Ic1d2dce93a3aa55c323e1f75d30c5f9371822280
CRs-Fixed: 3479813
2023-04-29 01:37:58 -07:00
Amit Mehta
5cfdbdb306 qcacmn: Force flush monitor destination ring
In the monitor mode case if some entry status entries are
not received then after the next monitor interface up host tries
to process pending old destination ring entries. As host drops
1 destination entry after processing 16 status entries if the entry
is not present in the status ring. which in case there is a high
number of old entries in the destination ring will result in the
destination ring getting full.

To fix the issue force flush monitor destination ring
during vdev delete.

Change-Id: Ie23a57add7b5bd372ab66f801e29e55cfacb5d4d
CRs-Fixed: 3411943
2023-04-27 21:29:30 -07:00
Zhaoyang Liu
06503f8d9e qcacmn: fix function call too many arguments error
When FEATURE_RX_LINKSPEED_ROAM_TRIGGER is not defined,
function dp_rx_rates_stats_update declared without link_id argument,
this will get building error. Add the link_id parameter to fix too
many arguments of function call building error.

Change-Id: I311d520e106f2e6f9e2c11c76cc841840821ccae
CRs-Fixed: 3477778
2023-04-27 21:29:20 -07:00
Himanshu Batra
08147113aa qcacmn: Update airtime stats last_update_time after the loop
The airtime stats last_update_time is getting updated within the loop
causing higher AC values to go out of sync.

Update airtime stats last_update_time after the loop

Change-Id: Icdb33335284e0a92b90c72099c18b6bc7690275c
CRs-Fixed: 3476253
2023-04-27 13:56:47 -07:00
Devender Kumar
21a4b2ea24 qcacmn: Fix compilation issue when TX two pipe support is enable for IPA
When IPA_WDI3_TX_TWO_PIPES is enable and DP_MEMORY_OPT is disable,
compilation issue is seen.

Fix is to correct the syntax.

Change-Id: Ibd23555f1a8a782a937883510b1e56eb20581604
CRs-Fixed: 3471564
2023-04-27 07:29:28 -07:00
Harsh Kumar Bijlani
2be2bf6a69 qcacmn: Fix memory leaks in Rx monitor path
Fix the following 2 memory leaks in Rx monitor path:

1. When MPDU queue is empty and MON_BUF_ADDR_TLV is received,
   then free page fragment memory.

2. In case of small size packets, 1 MPDU can have more than
   2*QDF_NBUF_MAX_FRAGS fragments wherein each nbuf can have maximum of
   QDF_NBUF_MAX_FRAGS frags. In this case, add the frags to nbuf in the
   following way.

   parent_nbuf (QDF_NBUF_MAX_FRAGS frags attached)
	|
	| (fraglist)
	|
	----> tmp_nbuf1 (QDF_NBUF_MAX_FRAGS frags attached) ----> tmp_nbuf2
							    (next)

Change-Id: I54e8162bf0b9da8629a3c80d123421fbeaf8df11
CRs-Fixed: 3453676
2023-04-27 04:08:30 -07:00
Jinwei Chen
58b1c384df qcacmn: Fix skb memory leak in RX REO error path
If host receive REO error code 0 - NULL REO queue descriptor from
REO exception ring, it will be raw data and likely spread across
multiple msdu buffers for amsdu packets. in this case, only the
last msdu will contain the valid rx msdu length, but currently host
use msdu length from head skb (msdu length is 0), then the sub-skbs
followed after head skb will be leaked as following,
(1) dp_rx_sg_create() fail to add sub-skbs into frag_list of head_skb,
then sub-skbs still exist in head_skb->next.
(2) As peer_id is not valid, dp_rx_null_q_desc_handle()->
dp_rx_chain_msdus_be() will configure head_skb->next = NULL during
DP_RX_LIST_APPEND, then all sub-skbs get leaked.

Get msdu length from last skb and overwrite it in head_skb, then
dp_rx_sg_create() will process all skbs correctly.

Change-Id: I1953afb4e3b44450ff5e8269ef0f4f0c38e1d446
CRs-Fixed: 3476534
2023-04-27 04:08:20 -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
Rakesh Pillai
8d8312ddf7 Revert "qcacmn: Code movement to enable multipass support without WDS"
This reverts commit Iaafa8dc4f16314d9e3e160fe01251c3684adbf67.

Change-Id: I3e6ec2b2c018c9fc6d0dcdbf9a580c93e23b0458
CRs-Fixed: 3478331
2023-04-26 04:58:36 -07:00
Kai Liu
6f3d208ec8 Revert "qcacmn: limit tx completion process count to napi quota"
This reverts Change-Id:	Ic24f131c90b90b0e118edffcab559ddf31779dcf

Change-Id: Ia683184f346ee13ad970679bef8bab211a84503d
CRs-Fixed: 3421368
2023-04-26 03:26:27 -07:00
Naveen Gurujala
744590c14b Revert "qcacmn: Add support for enabling TWO tx_pipe"
This reverts Change-Id: I71b414c2ead0c25df6009a21a59b4c0d553ce9fd

Change-Id: I2f0c43e03387811c91a24c61ae622191b1d12347
CRs-Fixed: 3356413
2023-04-25 12:08:36 -07:00
D Harilakshmi
2fa83cedbc Revert "qcacmn: Correct spelling errors"
This reverts Change-Id: Id33b5f250a0c44f475b3463f9a6a68f83b47b6cd

Change-Id: I54057d65091b445240a53f2d8d34cd73ca61d860
CRs-Fixed: 3462780
2023-04-25 12:08:25 -07:00
D Harilakshmi
8151985d1d Revert "qcacmn: add recommended err/debug function"
This reverts Change-Id: Ic81cf4f66c03d122cad171216fe20fe1f6417d0d

Change-Id: I0a23a8cd58459c20d758f4bc0c7a54a6c035e2d3
CRs-Fixed: 3470494
2023-04-25 12:08:15 -07:00
Naveen Gurujala
8a578fefe1 Revert "qcacmn: Add check for sawf stats"
This reverts Change-Id:	Ica417a53e91ebc8415f0f73c3c61b3b35e200de5

Change-Id: I304da02724d3ea97c61511b915a49513e87a55b7
CRs-Fixed: 3471399
2023-04-25 12:07:23 -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
Prabhu Dass Mahalingam
a237eb8d8f Revert "qcacmn: Fix compilation issue"
This reverts Change-Id:	I9b46782730ee519c31ded3c32a318cd2364bf431

Change-Id: I3e0c97a2ac4f0fa2f7dec8bf4a21f5a66ae16048
CRs-Fixed: 3453104
2023-04-25 12:05:43 -07:00
D Harilakshmi
654346f00e Revert "qcacmn: check if net dev is valid in nbuf"
This reverts Change-Id: Ie7365197be18d0575ffc4180cb956c8c56f3c27b

Change-Id: Ice8197021fe8531fd5c76a0faf8892553a79fe79
CRs-Fixed: 3471249
2023-04-25 12:05:32 -07:00
Linux Build Service Account
93bac8788e Merge "qcacmn: Move mon mac filter func to mon ops structure" 2023-04-21 12:47:52 -07:00
Linux Build Service Account
c9edfa6456 Merge "qcacmn: check if net dev is valid in nbuf" 2023-04-21 12:47:50 -07:00
Linux Build Service Account
4b77c3a3bf Merge "qcacmn: Fix compilation issue" 2023-04-21 12:47:49 -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
dea4b69da7 Merge "qcacmn: Add host AST entry only if peer is found" 2023-04-21 09:15:35 -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
956f3ba2c7 Merge "qcacmn: Fix pad byte place holder calculation" 2023-04-21 09:15:32 -07:00
Linux Build Service Account
f1a454c299 Merge "qcacmn: Add check for sawf stats" 2023-04-21 09:15:28 -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
Linux Build Service Account
d06eee41ad Merge "qcacmn: Add change to update tsf2 periodically" 2023-04-21 09:15:23 -07:00
Linux Build Service Account
a7e9c1a968 Merge "qcacmn: update dp_vdev for TDLS based on MLO connection" 2023-04-21 09:15:22 -07:00
Linux Build Service Account
c07b5ea104 Merge "qcacmn: Code movement to enable multipass support without WDS" 2023-04-21 09:15:21 -07:00
Linux Build Service Account
6e2761031a Merge "qcacmn: Initial changes for QCN6432 bringup in Common dev to DP" 2023-04-21 09:15:19 -07:00
Linux Build Service Account
a515fb6ef8 Merge "qcacmn: Optimize DP Rx Error Handling (Part-2)" 2023-04-21 09:15:17 -07:00
Linux Build Service Account
70e97ae2fa Merge "qcacmn: add recommended err/debug function" 2023-04-21 03:18:21 -07:00
Linux Build Service Account
c35c72a358 Merge "qcacmn: Correct spelling errors" 2023-04-21 03:18:20 -07:00
Linux Build Service Account
3d28fd8ee3 Merge "qcacmn: Add support for enabling TWO tx_pipe" 2023-04-21 03:18:19 -07:00
Linux Build Service Account
5362a28873 Merge "qcacmn: limit tx completion process count to napi quota" 2023-04-21 03:18:18 -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
Ripan Deuri
81504e9000 qcacmn: Add change to update tsf2 periodically
Target update tsf2 periodically in the scratch register. Add change to read
tsf2 from scratch register on receiving mlo timestamp indicator event.

Change-Id: Ic68d216d94ece8eddbf8af0f13a3f1876a893df3
CRs-Fixed: 3472165
2023-04-20 19:39:51 -07:00
Jinwei Chen
d1152e8af9 qcacmn: update dp_vdev for TDLS based on MLO connection
Update dp_vdev for TDLS based on MLO connection,
if TDLS connection is from secondary dp_vdev, then
(1) update vdev->osif_vdev same as primary vdev to support RX
(2) update primary vdev's TX search to support TX over TDLS peer
else if TDLS connection is based on primary vdev, then
keep same as earlier.

Change-Id: I4b76afaa481e98c36bb5374eede8046b6cc69b4c
CRs-Fixed: 3469845
2023-04-20 17:46:02 -07:00
Rakesh Pillai
e2d92112b0 qcacmn: Code movement to enable multipass support without WDS
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.

Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.

Change-Id: Iaafa8dc4f16314d9e3e160fe01251c3684adbf67
CRs-Fixed: 3468548
2023-04-20 08:50:29 -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
Tallapragada Kalyan
cf404ea304 qcacmn: check if net dev is valid in nbuf
check if dev field is NULL in nbuf, if NULL
return false

Change-Id: Ie7365197be18d0575ffc4180cb956c8c56f3c27b
CRs-Fixed: 3471249
2023-04-20 03:12:18 -07:00
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
Kannan Saravanan
20a57094a3 qcacmn: Initial changes for QCN6432 bringup in Common dev to DP
Add device Id and target type checks for qcn6432 target
compilation.

Change-Id: I4bc0fe66f9da9fb8be26fca8dc23524a4fb54009
CRs-Fixed: 3351564
2023-04-19 20:16:40 -07:00
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