Commit-Graf

1272 Incheckningar

Upphovsman SHA1 Meddelande Datum
Surya Prakash Raajen
74c7a8d542 qcacmn: Add CDP api support for umac reset init
Add CDP api support for umac reset init API, these apis are expected
to be called whenever shmem is deinitialized.

Change-Id: I307c586454580ab8f83b0d515defa93d4e8ff656
CRs-Fixed: 3458268
2023-04-18 14:27:32 -07:00
Venkateswara Naralasetty
26099afe23 qcacmn: suspend/resume changes for WCN6450
Changes required for suspend/resume support for WCN6450

Change-Id: I4610f6bdb8de92f03884af6c07a5141dd27174be
CRs-Fixed: 3447469
2023-04-18 12:11:24 -07:00
syed touqeer pasha
5b0980f461 qcacmn: Check Tx halt during umac reset
1. Check Tx halt during umac reset and avoid halt if set already.
2. Perform SRNG disable only in case of umac reset

Change-Id: Id364a6460a64e83002b5c96e08031ad2a0bc8fd7
CRs-Fixed: 3459427
2023-04-14 01:54:13 -07:00
Jinwei Chen
9253f32cfc qcacmn: Use HTT_MSDU_QTYPE_USER_SPECIFIED for TX ILP judgement
Per new design, FW will use HTT_MSDU_QTYPE_USER_SPECIFIED instead of
HTT_MSDU_QTYPE_LATENCY_TOLERANT for TX ILP support judgement,
change it in host part accordingly.

Change-Id: I0318801c4fe11ca623a99459d9f6820acb1c8fea
CRs-Fixed: 3462232
2023-04-12 03:20:27 -07:00
Harsh Kumar Bijlani
56c08d2ecf qcacmn: Store MSCS context in MLD peer in case of MLO connection
Store MSCS context in MLD peer in case of MLO connection

Change-Id: I482e2259077eb8c74aeed93beb8472a683ce2817
CRs-Fixed: 3457780
2023-04-10 01:20:06 -07:00
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
syed touqeer pasha
df5ce68791 qcacmn: Umac reset support for direct switch
Umac reset support for direct switch.

Change-Id: Ic04880549ef4a38c795165e09a9f0d42673ae5f0
CRs-Fixed: 3438456
2023-04-07 06:29:42 -07:00
Jinwei Chen
401521fc7c qcacmn: Add DP API to evaluate if TX ILP needs to be enabled
Add DP API to evaluate if TX ILP needs to be enabled,
it is only enabled if following two conditions are met,
(1) INI for TX ILP is enabled
(2) htt msdu index to qtype mapping table index 3 value is
HTT_MSDU_QTYPE_LATENCY_TOLERANT

Change-Id: I4d0c1103941b8b12b8441762dc6b45d28ee1df21
CRs-Fixed: 3447096
2023-04-05 18:26:51 -07:00
Ripan Deuri
73e98e34e8 qcacmn: Add CDP op to get SAWF MSDU Queue info
Add CDP op to get MSDU Queue info

Change-Id: If76a6e4209d80e5da6093632e0f3d99b9aeaef77
CRs-Fixed: 3435987
2023-04-03 04:31:44 -07:00
Harsh Kumar Bijlani
af094fe095 qcacmn: Add support to get stats for MLD interface
Add support to get stats for MLD interface in single netdev model

Change-Id: I223a5c003191147970be57b92e99f1df3c66b339
CRs-Fixed: 3444443
2023-04-03 01:36:11 -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
Harsh Kumar Bijlani
9346230d59 qcacmn: Skip self peer for rdk stats flush on user request
Skip self peer for rdk stats flush when user makes a request for flush.

Change-Id: I2a25a798bbf1ec25aed4c4b2a7782b8d4b439a46
CRs-Fixed: 3444096
2023-03-31 06:07:09 -07:00
Parikshit Gune
1598a12f5c qcacmn: Add RX stats support for Direct switch
Add support to send RX stats when Direct switch is
enabled. For WDS extended mode get the stats from
peer object, else take it from vdev object. These will
be accumulated by PPEDS module

Change-Id: I1f73c50679c416536cfc1ebaaeaec9b307e8bf56
CRs-Fixed: 3421251
2023-03-30 21:45:28 -07:00
Tallapragada Kalyan
e4798ea69b qcacmn: optimization changes to improve RX KPI for WIN
done the following changes to improve the RX path KPI
	1. remove the extra invalidate in RX path as
	we no longer dirty the RX TLV cache lines.
	we now store the rx error codes in nbuf cb instead
	of RX TLVs reserved memory bytes.

	2. with features like flow tag and wds extended mode
	enabled by default, the rx_fast_flag is always set
       	to false, this resulted	in lot more instructions
       	being executed in RX path.
	Now we ensured this flag is at least set for other
	features which are not enabled by default.

Change-Id: I04c6bdc52a2b3f1248b822a108d8bd1a70abcc7c
CRs-Fixed: 3406505
2023-03-30 02:32:40 -07:00
Jeevan Kukkalli
34bcece450 qcacmn: Move cfr mon filter cdp func ptr to mon ops structure
Move cfr monitor filter cdp func ptr to cdp mon ops structure.
cfr monitor filter cdp function is different for 1.0 and 2.0
hence moving the func ptr to mon ops structure ensures that
func ptr is initialized appropriately.

Change-Id: I82b9c85e96f2f219521ae6ed908ade120081c748
CRs-Fixed: 3428791
2023-03-29 01:17:22 -07:00
Karthik Kantamneni
0562ed7a5e qcacmn: Code to init/deinit SOFTUMAC based Rhine architecture.
This code helps to initialize and deinitialize new SOFTUMAC
based Rhine architecture.

Change-Id: I374140ccb3b31e9351c6e683c77d81a5a876472a
CRs-Fixed: 3382913
2023-03-28 11:30:30 -07:00
Karthik Kantamneni
a7cd30b5da qcacmn: Route soc init/deinit handling via arch ops API's
Currently dp_soc_init/deinit API's are called first for
common soc initialization/deinitialization and then architecture
level init/deinit APIs are called from base dp_soc_init/deinit.
But with RHINE architecture dp_soc_init/deinit API's are not common,
so we cannot call these APIs as base. To handle this scenario
routing all the soc level init/deinit from arch ops APIs and
arch ops APIs will take care of calling common soc_init/deinit.

Change-Id: Ibb10d452931630c917088b4d222c7fbd82621f6a
CRs-Fixed: 3404205
2023-03-27 15:14:14 -07:00
Karthik Kantamneni
38f98d473f qcacmn: Refactor DP rings related code to different files
Refactor DP rings related code to different files, such that
both hardware UMAC based and Software UMAC based platforms
can use required code effectively.

Change-Id: Ie58eae34a2da77c2d63870fab74b9d2d9d49c14a
CRs-Fixed: 3382905
2023-03-21 10:14:08 -07:00
Shashikala Prabhu
f77ba421ee qcacmn: Add API to clear SOC from partner_map
Clear the target assert seen SOC from partner_map to disengage it from
umac reset process.

Change-Id: I588ae15977b1fd989b6dccb16c5fa3a5269f5f6c
CRs-Fixed: 3433794
2023-03-20 11:43:11 -07:00
Surya Prakash Raajen
7265d860b2 qcacmn: Add CDP api support to notify asserted soc info
Add CDP api support to notify asserted soc info to DP
umac reset module, to disengage a asserted soc from
umac reset process.

Change-Id: I92ee07ed90243567dab83d0686022c8327efe1b6
CRs-Fixed: 3428265
2023-03-20 11:43:02 -07:00
Shashikala Prabhu
56160b1881 qcacmn: Add API to print UMAC reset stats
Add API to print UMAC reset and MLO UMAC reset related  stats.

Change-Id: I0925cb8df74a9d33633d180a4cbecd11856d67a5
CRs-Fixed: 3425706
2023-03-16 23:59:18 -07:00
Santosh Anbu
ea42206e31 qcacmn: York Scan radio monitor mode bringup
Initial changes for York scan radio bringup in monitor mode.

Change-Id: I99c9a6eea4c9bf2255b92975e3862500d31c2f1d
CRs-Fixed: 3421410
2023-03-16 19:02:36 -07:00
Neha Bisht
1c335ff769 qcacmn: Fix for mac address in WDI_EVENT_PEER_PRIMARY_UMAC_UPDATE
Fix for mac address in WDI_EVENT_PEER_PRIMARY_UMAC_UPDATE

Change-Id: I06b51bbcccff17e0e2665200c5961af3d63cd59c
CRs-Fixed: 3432531
2023-03-16 13:50:43 -07:00
Himanshu Batra
21a548ada6 qcacmn: Rename WLAN_TELEMETRY_STATS_SUPPORT to WLAN_CONFIG_TELEMETRY_AGENT
Rename telemetry agent macro WLAN_TELEMETRY_STATS_SUPPORT to
WLAN_CONFIG_TELEMETRY_AGENT

Change-Id: I9b2feb33b32daf56e584ae04f260749c358c8ea4
CRs-Fixed: 3425567
2023-03-16 13:50:32 -07:00
Manikanta Pubbisetty
cd50866740 qcacmn: Handle flow map/unmap HTT messages for WCN6450
In the case of WCN6450, sizes of the TX descriptor pools are not known
to the driver during load time. The sizes are shared by the firmware
post VDEV creation via HTT_T2H_MSG_TYPE_FLOW_POOL_MAP HTT message.
After the VDEV gets deleted in the firmware, a corresponding flow unmap
HTT message will be sent to the driver to clean up the TX descriptors
of a particular VDEV.

Add logic to handle the flow map/unmap HTT messages for WCN6450. These
messages are specific to WCN6450 and hence the logic is implemented in
arch specific HTT code.

Change-Id: I8edcabbec77abae2c238f487acb7a48b478fd149
CRs-Fixed: 3381751
2023-03-16 11:19:31 -07:00
Devender Kumar
f230d96802 qcacmn: Properly set WDI version for WIN chipset
Set WDI version based on SOC architecture, set WDI
version to IPA_WDI_4 for QCA_WIFI_QCN9224 chipset,
else IPA_WDI_3.

Change-Id: Ib80435e5098cfbcb9f90d4ac9cfe81ea183f308a
CRs-Fixed: 3383949
2023-03-15 22:39:08 -07:00
Chaoli Zhou
ddabd3eda4 qcacmn: Replace kzalloc/kfree with vmalloc/vfree
At continuous physical address limited telematics platform,
in order to avoid occasional memory alloc failure with big
kzalloc size, it's better to use virtual memory allocation
API instead. And below items will be refined to replace
malloc with valloc if CONFIG_ENABLE_VALLOC_REPLACE_MALLOC=y.

1 x 30488 = 30488B @dp_soc_attach:15189
1 x 52096 = 52096B @hal_attach:1104
4096 x 64 = 262144B @dp_rx_desc_pool_alloc:337

Change-Id: I57a6f78f690b5be1838de954933ae36129cea234
CRs-Fixed: 3426935
2023-03-15 20:59:27 -07:00
Pavankumar Nandeshwar
80d41dc9b4 qcacmn: Handle Umac reset for MLO case
1. Add an API to process trigger_umac_recovery T2H message.
2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete
   messages for all the SOCs and then process these messages in the host.
3. Synchronize pre_reset_done, post_reset_start_done,
   post_reset_complete_done for all the SOCs before sending it to FW.
4. Add a new state in host for trigger_umac_recovery message.
   Ignore back to back trigger_umac_recovery messages received from FW.

Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af
CRs-Fixed: 3425833
2023-03-15 11:20:26 -07:00
Himanshu Batra
fe8e699301 qcacmn: Add API to get osif handle for wds ext peer
Add API to get osif handle for wds ext peer

Change-Id: I1294acee12c9f4d12f8b8728f8d89e61fec81d9f
CRs-Fixed: 3430300
2023-03-14 05:00:19 -07:00
Jinwei Chen
c2c0f7f7f9 qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration,
it is helpful for PCIe utilization improvement.
timer based threshold - M: issue pointer updates when M micro
seconds has elapsed.
number based threshold - N: issue pointer updates when N entries
updates occur.

Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f
CRs-Fixed: 3420101
2023-03-08 17:24:33 -08:00
Kenvish Butani
bad3898323 qcacmn: Ini and Config command Support for MLO Link Peer Stats
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command

Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
2023-03-08 07:43:00 -08:00
Amrit Sahai
ee22464bee qcacmn: Add support to aggregate Link level stats
Add support to aggregate and ship MLO link stats
for ML peer.

Change-Id: Icb6c7b66d6f5c27e8a8f99655cf468e90c655ad6
CRs-Fixed: 3397721
2023-03-08 07:42:38 -08:00
Kenvish Butani
4ae60e4df1 qcacmn: Add Support of MLO Link Stats for ML Peer
1) Allocation of memory to hold MLO Link Stats
   at MLD Peer level.
2) Modify the Macros to update MLO link stats.
3) Init and reset the Stats

Change-Id: Id4e9d40e212c5093159ae0c7d6316e93d19cf928
CRs-Fixed: 3397721
2023-03-08 07:41:57 -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
Pavankumar Nandeshwar
3377c445f8 qcacmn: Do not process Umac reset in DS mode
Do not process Umac reset in DS mode as it is
currently not supported.

Change-Id: Ieaa850ee65d17605cb2b2d3e6d3eb222531c93ae
CRs-Fixed: 3418738
2023-03-02 20:40:56 -08:00
Namita Nair
a33b4b04bb qcacmn: Fix opt dpath compilation error for OWRT SI
Currently, there is a compilation error on the
OWRT SI in the alternate code path when optional
dp feature is not enabled.
The caller wlan_ipa_wdi_init_set_opt_wifi_dp() passes an
argument of incompatible type. This change fixes the
compilation issue.

Change-Id: I1f2eecbb67bfb2ef17ee73ce2faedb85827b4bbc
CRs-Fixed: 3417214
2023-02-28 16:57:41 -08:00
Namita Nair
aab63b2b96 qcacmn: Add optional wifi datapath feature ipa layer
This change adds the optional wifi datapath feature
to transfer data to and from modem via WLAN.
By using the existing path between WLAN and IPA, this
change registers new interfaces between IPA and WLAN
to reserve, add, delete and release rx filters,
which are required for setting up CCE filter rules.
These filters help to determine which packets need
to be routed to IPA specific REO rings.

Change-Id: I17c2ab77ae343f15d6b79fa02bb70ed62294089c
CRs-Fixed: 3403314
2023-02-28 16:57:22 -08:00
Mukul Dhiman
66fa364229 qcacmn: Remove macro ENABLE_10_4_FW_HDR
Remove all occurrence of ENABLE_10_4_FW_HDR and conserve
any logic change.

CRs-Fixed: 3345419
Change-Id: I37993fd2412a99e605290f5a895b7d8d634b5a69
2023-02-13 04:04:52 -08:00
Nandha Kishore Easwaran
610ccaa126 qcacmn: DP changes for umac reset in QCA5332
Make DP changes for handling umac reset in QCA5332.
Changes are done to program msi_data value of the IPC interrupt to FW.

Change-Id: Ib6453755e191da655b87b528a7cef38a464f316b
CRs-Fixed: 3401146
2023-02-12 16:27:50 -08:00
Varsha Mishra
d6afad86bc qcacmn: Add global context
Global context will contain fst context, fst ref count
and global desc count.

Change-Id: I272fa2c3b8945822268d29b6c329df3f659753d4
CRs-Fixed: 3392039
2023-02-12 03:21:18 -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
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
Neha Bisht
30bc8285d2 qcacmn: Add global context for maintaining descriptor count
Add global context to maintain descriptor count at global level.

Change-Id: Ibfe3379bb4a747530794956cc0cba31e423598d3
CRs-Fixed: 3334340
2023-02-03 05:57:55 -08:00
aloksing
01569fa038 qcacmn: Get channel utilization from dp pdev
Set channel util stats to dp pdev from channel stats event

CRs-Fixed: 3380939
Change-Id: Ib908946a42077f936402afbe846a835cb91b0a8d
2023-02-03 03:39:40 -08:00
aloksing
1442fb17b6 qcacmn: Get deterministic stats from DP PDEV
Add cdp layer API to get stats and
Copy pdev deterministic stats from dp_pdev to cdp structure

Change-Id: Ia7dbbe4cfe7ebe66a040879144505b17aaaa625a
CRs-Fixed: 3380939
2023-02-03 03:39:13 -08:00
aloksing
444c6f16aa qcacmn: Get deterministic stats from DP mon_peer
Add cdp layer API to get stats and
Copy peer deterministic stats from dp_mon_peer to cdp structure

CRs-Fixed: 3380939
Change-Id: Ic90b9c9f5c7463ad0d5b7c2bb7a371e4d4fef070
2023-02-03 03:38:40 -08:00
Jeff Johnson
9a5f44727b qcacmn: Fix dp_main.c documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_main.c, 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 remove that documentation. The documentation at the
interface will be added separately if it is not already present.

Change-Id: Id9bcfd37d690b72ec7a04f25d1b91b0210bef8e3
CRs-Fixed: 3373154
2023-01-31 15:01:45 -08:00
Devender Kumar
d5b2560201 qcacmn: Disable IRQ line for vlan RX ring
Target is sending interrupt even interrupt handler is not
registered for the vlan RX DST ring, and causing kernel crash.

Fix is to disable the IRQ line if host is not supposed to handle
the interrupt for vlan RX DST ring.

Change-Id: I91b8a5784969e1022d283793905c33340492706b
CRs-Fixed: 3348574
2023-01-31 11:24:03 -08:00
Sai Rupesh Chevuru
9d8b5fa06d qcacmn: Set host inspect in the case of wds_ext
Set host inspect in the case of wds_ext

Change-Id: I5d14aede300694faca6bf81813e4f66752419239
CRs-Fixed: 3377865
2023-01-27 12:56:34 -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