Commit Graph

373 Commits

Author SHA1 Message Date
Chaithanya Garrepalli
a0e560c475 qcacmn: Add arch ops for get chip id API
Add arch ops for dp_mlo_chip_id to avoid access
of dp_soc_be struct for LI platforms

Change-Id: Idc7612ef3c517aa62668fe15e51b5e5ec74bb253
CRs-Fixed: 3582795
2023-08-24 04:18:49 -07:00
Gaurav Saini
a211d644c5 qcacmn: Finding ast entry based on vdev
Currently,  ast entry is not found when VDEV ALL
is there. Change is finding the ast entry when
particular vdev is passed and, also when vdev
all is passed.

Change-Id: Ib71b843c74b9a64cb15f221577ee8e2d30614973
CRs-Fixed: 3575721
2023-08-02 17:59:04 -07:00
Sai Rupesh Chevuru
227c8c9aaa qcacmn: In peer WDI events use the vdev id instead of osdev
In peer WDI events use the vdev id instead of osdev.

Change-Id: I1dd702acba2721712222a4985b4747050647b4e0
CRs-Fixed: 3571299
2023-07-27 08:32:32 -07:00
Gaurav Saini
552bef7535 qcacmn: Moving peer find function in common path
peer find by mac function is getting used by
many components. so, Movng that to common path.

Change-Id: I390b86af73618661857ed80d478fe4f48bee9fe1
CRs-Fixed: 3563204
2023-07-21 10:23:45 -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
Amit Mehta
1ba9e267e0 qcacmn: Add change to get link ID from peer event
Add change to get link ID from peer event

Change-Id: Iab066f702d232d3682729b57c5a3d4c7da2672ba
CRs-Fixed: 3442914
2023-06-22 22:02:10 -07:00
Ruben Columbus
d8334769f4 qcacmn: qref debug memory tracker
add multiple history array to keep track of mem allocation and
deallocation for qref table.

Change-Id: I9fa97fbe5a5c36509cbb5a458851a152200318a5
CRs-Fixed: 3475981
2023-06-05 20:24:08 -07:00
Sai Rupesh Chevuru
0cdd3f48a7 qcacmn: Do not flush SLO peers in mode1 recovery
Do not flush SLO peers in mode1 recovery.

Change-Id: Ie2f9d07943a48c21dd786afe0421672b1315f3bb
CRs-Fixed: 3512377
2023-06-01 23:19:36 -07:00
Sai Rupesh Chevuru
764bbf4192 qcacmn: clear the peer ref from obj_map during soc detach
In the case of mode1 target recovery a single soc can go down,
as part of obj_map detach clear the peers if any exists.

Change-Id: I977a152eafe6659b951018f19cf2afc2431e7713
CRs-Fixed: 3512361
2023-05-30 06:06:10 -07:00
Amrit Sahai
249985d15c qcacmn: Add support for peer unmap handler
Call ol_peer_unmap handler when AST_OFFLOAD_SUPPORT
is enable, so that client_disconnect event can be
sent to IPA.

Change-Id: I85efb432f94310c847aeda22a99bd999957c32d7
CRs-Fixed: 3495890
2023-05-19 07:27:37 -07:00
Rakesh Pillai
80c9a09307 qcacmn: Add debug logs in multipass params setting
Add debug logs in the CDP settings for multipass

Change-Id: If5a06cf1caacc80972e71e5e1ff04d9716ac4d02
CRs-Fixed: 3499753
2023-05-18 21:20:29 -07:00
Srinivas Girigowda
30a6417487 qcacmn: Change logs to appropriate log levels
Change logs to appropriate log levels.

Change-Id: I5e0816105282fccad8d17440eee363803f31429e
CRs-Fixed: 3494141
2023-05-18 18:43:59 -07:00
Santosh Anbu
7cec0b5b10 qcacmn: Add host AST entries for WDS peers
Add change to support addition of host AST entries for WDS peers.

Change-Id: I81b936d7274784c9b178e32aa9ccfaf86f884f0f
CRs-Fixed: 3472985
2023-05-08 01:31:14 -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
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
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
Linux Build Service Account
dea4b69da7 Merge "qcacmn: Add host AST entry only if peer is found" 2023-04-21 09:15:35 -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
Santosh Anbu
0ea3d84794 qcacmn: Add host AST entry only if peer is found
Add change to manage host ast entry only if peer is found for the given
peer mac address.

Change-Id: I07bdb1e1b6db33b50f4e32896d2fcbb6aa87ecab
CRs-Fixed: 3472995
2023-04-19 11:05:19 +05:30
Vignesh C
fa0f65caaa Revert "qcacmn: Add support for HMWDS add and reset cmds in Beryllium"
This reverts commit Iaa110ba26a477fc0b77647a712c377029b038940.

Change-Id: Ifed1cf1e73ac03a09fc03acdc273958c9789f8a8
CRs-Fixed: 3458091
2023-04-10 01:19:45 -07:00
Vignesh C
070e8af74f qcacmn: Add support for HMWDS add and reset cmds in Beryllium
Add HMWDS add-addr, rem-addr, reset-addr and reset-table support
to add, reset and remove AST HMWDS mac entries in Beryllium
chipsets.

wlanconfig athX hmwds add-addr wds_ni_macaddr wds_macaddr
wlanconfig athX hmwds reset-addr macaddr
wlanconfig athX hmwds reset-table
wlanconfig athX hmwds rem-addr wds_macaddr

Change-Id: Iaa110ba26a477fc0b77647a712c377029b038940
CRs-Fixed: 3429510
2023-04-03 01:35:47 -07:00
Hariharan Ramanathan
543c9847e4 qcacmn: Change to store peer_id locally and use
Get peer_id from peer structure to a local variable and pass to hal api
in order to avoid race condition between peer delete and peer unmap.

Change-Id: Ib6a89f1defcfc8f66c1146a330a373a760520aa7
CRs-Fixed: 3444998
2023-03-30 18:30:39 -07:00
Venkateswara Naralasetty
76e5c1f345 qcacmn: separate dp_rx_tid functionality
As of today, dp_peer.c has the peer management and rx_tid
functionality(create/setup/remove) which is used by the REO HW.

WCN6450 does not have REO HW and dp_rx_tid functionality is not
required for WCN6450. Hence, separate out dp rx tid functionality
from dp_peer.c so that we can avoid compiling unnecessary code
for WCN6450.

Change-Id: I322823704f38ff72e485f050941be6b1254bad09
CRs-Fixed: 3383330
2023-03-29 02:59:59 -07:00
Devender Kumar
610e19cab2 qcacmn: Add support for peer map handler
Call ol_peer_map handler when AST_OFFLOAD_SUPPORT
is enable, so that client_connect_ex event can be
sent to IPA.

Change-Id: I688cb95dec43180133a8948573fbd45af3cb9f33
CRs-Fixed: 3419264
2023-03-13 13:44:39 -07:00
Neha Bisht
80ee0f60c6 qcacmn: Add support for primary TQM migration
Add support for primary TQM migration.

Change-Id: Ifd62eb7e731bbd9e86c462642fd2e20d50d5495a
CRs-Fixed: 3410900
2023-03-10 16:11:33 -08:00
Abishek Ganapathy
ee1493dc9c qcacmn: Add HMWDS rem-addr support in Beryllium
Add HMWDS rem-addr support to delete AST WDS mac entries in
Beryllium chipsets.

Change-Id: I5623bac02b326d1d668ad5e1fdcfc3a9f8cbbb9c
CRs-Fixed: 3397961
2023-03-03 13:40:46 -08:00
Santosh Anbu
56559ee387 qcacmn: Add MLO peer AST on primary soc
In scenario where assoc peer soc id is different from
primary soc id, reset the soc to point to primary psoc.
Since unmap is received on primary soc, the map should
also add ast on primary soc.

Change-Id: I85c6ba72a217eb5350ccc072d56b36b111af4d58
CRs-Fixed: 3410916
2023-03-03 05:27:20 -08:00
Jeff Johnson
1ea7b9f065 qcacmn: Fix dp/wifi3.0/dp_peer.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_peer.[ch], so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I996764f93addfa270ef7aaedd2e23c71be287f77
CRs-Fixed: 3373168
2023-02-13 14:01:37 -08:00
Ruben Columbus
8339fb6fde qcacmn: Flush queue before qref delete
REO_FLUSH_CACHE cmd
 - flush_q_1k_desc as 1 – This will flush Queue, Q1k and QEXT in one go.
   we need not give 11 cmd for each tid of the peer.
 - forward_all_mpdus_in_queue to 1 in FLUSH_CACHE_CMD.
   With this we need wait for aging threshold time.

Change-Id: I695ab48a50968872eb22024ba5c770f0e5a74a09
CRs-Fixed: 3384665
2023-02-13 05:27:59 -08:00
Sai Rupesh Chevuru
e219606587 qcacmn: DP changes corresponding to single netdev model
DP changes to support the single netdev model.

Change-Id: I03c74e605c7530f4ab81edb68f0090f103e84578
CRs-Fixed: 3360499
2023-02-07 02:55:12 -08:00
Chaithanya Garrepalli
b17c727a41 qcacmn: Changes to send REO command on appropriate SOC
Added changes in below API to avoid sending REO command
on non-primary SOC for MLO peers.
1. dp_get_host_peer_stats
2. dp_set_pn_check_wifi3
3. dp_peer_ctrl_frames_stats_get

Change-Id: Ia2631b2ab80d80028743b0d6255158bd6bd76e88
CRs-Fixed: 3384398
2023-01-26 22:21:19 -08:00
Chaithanya Garrepalli
07e72e4e7e qcacmn: Flush the LUT cache before freeing REO queue
Changes to implement the HW recipe to flush LUT cache
before freeing REO queue in SW

Change-Id: I0168a0e8aef8245f3d2b86b601226f97c376f484
CRs-Fixed: 3384508
2023-01-24 06:55:53 -08:00
Rakesh Pillai
ada0c97d9b qcacmn: Add datapath config event history
Add history to record the config/control events
e.g. peer create/delete/unref-delete, vdev attach/detach
in datapath.

Change-Id: Ic3c8122fca9124e41931ec445946aec5e8863434
CRs-Fixed: 3371899
2023-01-19 02:55:07 -08:00
Amit Mehta
851e62a653 qcacmn: Changes assert level and add log if peer entry already present
Currently in dp_peer_find_id_to_obj_add while adding peer to soc
peer_id_to_obj_map list, if peer entry is already present for the
peer_id due to no umap event for older peer, driver calls QDF_ASSERT
and returns, As QDF_ASSERT is NOP it results in older entry still present
in the table. which results in peer leak issue as while doing peer unamp
driver gets peer from soc peer_id_to_obj_map table based on peer id,
Since older entry is still there older peer will be freed and new peer
unamp will not happen.

To fix the issue call qdf_assert_always if peer entry is already present
for peer id which will always assert and add additional logs to print
peer information.

Change-Id: Ic777e9c7881fcbc67f54002bd619a8e6d52de126
CRs-Fixed: 3369736
2023-01-05 18:01:25 -08:00
Pavankumar Nandeshwar
4e0ae9b556 qcacmn: Set search idx and cache mapping for ppeds
Set search idx and cache mapping for ppeds in
sta mode

Change-Id: I1f892d329878e093d19324a178566b87715e1736
CRs-Fixed: 3367824
2022-12-29 05:19:41 -08:00
KARTHIK KUMAR T
72332cbe67 qcacmn: Add ast_idx and ast_hash in dp_peer
Add ast_idx and ast_hash values in dp_peer

Change-Id: Ib68a25f6ea6b07cd46f4ec995436625cb3f28a58
CRs-Fixed: 3344867
2022-12-05 14:59:51 -08:00
Ruben Columbus
e1269c4834 qcacmn: clear memory address before used again
set rx_reo_queue_desc_addr_31_0 and rx_reo_queue_desc_addr_39_32 to 0
in hal_reo_shared_qaddr_write_be

Change-Id: Ib92775e0883b68f49c27e606e762384239bae955
CRs-Fixed: 3339043
2022-12-03 11:33:57 -08:00
Yu Tian
6d7d7fcc42 qcacmn: Optimize RX hw stats flow
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time.

Change-Id: I04b65d19ddb3a9e43cb96b266708272769f7dcf2
CRs-Fixed: 3348771
2022-12-02 21:56:12 -08:00
Yu Tian
5a6d2c2374 qcacmn: Optimize RX hw stats flow
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.

Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
2022-11-25 12:35:53 -08:00
Ripan Deuri
85e7faff70 qcacmn: Add function to check WDS ext peer
Add function to check WDS ext peer.

Change-Id: Ic29cb04fc2830240854921fe3eeadd03e8171979
CRs-Fixed: 3340244
2022-11-21 00:03:45 -08:00
Amrit Sahai
9313b57907 qcacmn: Add support to get jitter stats on peer level
Add support to get jitter stats on peer level

Change-Id: I5e37a24e93cde5e34e561b26c0834d9cfe42bf9f
CRs-Fixed: 3296380
2022-10-20 01:11:44 -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
Ripan Deuri
cb33f7e1d3 qcacmn: Acquire lock before calling rx tid setup
The rx tid setup function is called from multiple contexts.
Acquire lock before calling that function to avoid race condition.

Change-Id: I7a0443e5e09a068301de171afeb4d400bf54b1c8
CRs-Fixed: 3291079
2022-09-30 04:26:34 -07:00
Yu Wang
da0adaac10 qcacmn: set correct parameters for QDF_MAC_ADDR_FMT
QDF_MAC_ADDR_FMT and QDF_MAC_ADDR_REF must be used
together, otherwise, it will cause build failure
once WLAN_TRACE_HIDE_MAC_ADDR is defined.

Change-Id: Ifb0bce0661a7252940101346f37d4b4387bea4d2
CRs-Fixed: 3292101
2022-09-20 10:47:38 -07:00
Jeff Johnson
88c15dadbb qcacmn: Fix misspelling "recevied"
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."

Change-Id: Ibd7f4a136541be8aa98f5bee4db7f75af0271f53
CRs-Fixed: 3273526
2022-08-28 19:08:26 -07:00
Sai Rupesh Chevuru
383edf35d0 qcacmn: Map and umap MLO DP peer to partner soc
Maping and unmaping of the MLO DP peer to the partner soc
will be initialized based on architecture.
dp_mlo_partner_chips_map
dp_mlo_partner_chips_unmap

Change-Id: I918f6d552acd9d64086abf4c38f913348e13c381
CRs-Fixed: 3267904
2022-08-22 11:30:40 -07:00
Pavankumar Nandeshwar
67de6bcbfd qcacmn: Handle Umac post reset at host
Handle Umac post reset and post reset complete
events from firmware.

Change-Id: I76ac1b96f01f026535d31edcbd245b3643ecf6ee
CRs-Fixed: 3267222
2022-08-21 00:37:46 -07:00
[B
d8ebd88634 qcacmn: Add unsigned long for type casting void *
Add unsigned long for type casting void *

Change-Id: I72fb98b94356b5d279f0c46281fb8143e02df13d
CRs-Fixed: 3258275
2022-08-02 05:16:26 -07:00
Namita Nair
df5ecd264e qcacmn: Disable FEATURE AST macro
Handle build errors when
FEATURE AST macro is disabled.

Change-Id: I0f1bd4e349543b2e0ab212f65578f194956e3695
CRs-Fixed: 3228963
2022-08-02 03:22:54 -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