Commit Graph

3481 Commits

Author SHA1 Message Date
Gaurav Saini
c1d7a3b4dc qcacmn: Fix Tx ring index selection
For target SDX waikiki, Tx data/completion ring
value should be 3 else it is 2. so, Added a condition
to make a selection based on the target type.

Change-Id: I1fe65894c1c5dfa8f4d3efdd781dbfac0f6e2c04
CRs-Fixed: 3430265
2023-03-15 07:46:16 -07:00
Subrat Mishra
235202f7de qcacmn: Add RC index macro for Smart Antenna 320 MHz BW
Add Rate Code Index macro for Smart Antenna 320 MHz BW in per PPDU
stats processing path.

Change-Id: I880cbc5d54f333dc2f8938c1a4d3bd56b96b7a6e
CRs-Fixed: 3429317
2023-03-15 07:46:05 -07:00
Amit Mehta
4a4820f85a qcacmn: Fix monitor filter config
For beryllium target in monitor mode host only subscribe
to MSDU end and MPDU start tlvs, but during monitor mode
up as part of monitor filter reset host is subscribing to
all the tlvs.

To fix the issue only subscribe to MSDU end and MPDU start tlvs
on target basis

Change-Id: I1599559b1af0b5121a7c361db403da857988cc01
CRs-Fixed: 3429044
2023-03-14 10:37:33 -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
Karthik Kantamneni
2edb0c0388 qcacmn: Add RX handling for RHINE architecture
RHINE is soft UMAC based architecture which is not having
REO block, all the REO functionality will be implemented
in F.W and host level. Host will get the RX packets in
CE-RX rings in HTT format, to reap RX packets new HTT
messages will be extracted and parsed.

So implement RX handling based on new softumac architecture for RHINE.

Change-Id: If430dd017309e2b2a3eb5e27e1d8b58696abceb4
CRs-Fixed: 3382920
2023-03-14 01:41:05 -07:00
Jeff Johnson
2574da9bf9 qcacmn: Fix misspelling "sucsess"
Fix misspelling: "sucsess" => "success".

Change-Id: I93f4b97e2d753362843a08c86a947f936b563c28
CRs-Fixed: 3430188
2023-03-13 23:54:11 -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
Devender Kumar
d67fc1fc09 qcacmn: Fix Tx queue selection when IPA is enable
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX data ring.

Change-Id: Ia7fe49ef50deee869c84de9e741362cb31d60bf0
CRs-Fixed: 3419264
2023-03-13 13:44:26 -07:00
Amrit Sahai
176e6fa814 qcacmn: Fetch and update rssi_chain stats from Firmware
fetch and update rssi_chain stats from firmware.

Change-Id: I0a16ebda0ab17d32c7f7daab36eeebb6c4d691f9
CRs-Fixed: 3404107
2023-03-12 00:23:28 -08:00
nobelj
3618c82727 qcacmn: Increase capacity to store status buffer in tx monitor
In tx monitor, the maximum capacity to store status buffer is 64.
During high throughput scenario number of status buffer exceeds 64.

Change-Id: I5e8d1945773d2027a4adbc141fa868587e80acd1
CRs-Fixed: 3430126
2023-03-11 13:41:25 -08:00
Kenvish Butani
8984ecea8d qcacmn: Fix for crash during FW recovery
Fix for the crash seen during FW recovery
while doing disable ol_stats for all the
MLO pdev's

Change-Id: Ie7b037e2d124009658a01d2a00d0a74a784ac51f
CRs-Fixed: 3430134
2023-03-11 03:50:37 -08:00
Rakesh Pillai
9374de2500 qcacmn: Fix monitor status ring history
Currently for the monitor status ring history,
the event type is not being logged.
Fix the event type logging in the monitor status
ring history.

Change-Id: I43f07bf9a4232a203b7a996db6038a081249ffc9
CRs-Fixed: 3425325
2023-03-10 19:42:04 -08:00
Chaithanya Garrepalli
97fcc90a7e qcacmn: Handle SG case with multiple MSDUs in MPDU
In case of where multiple scatter gather frames are
part of same MPDU last_mpdu_in_msdu will be set only
for last buffer of last scatter frame in MPDU.

Below is the hw descriptors bits when 2 scatter frames
are part of a MPDU

 -----------------------------------------------------------
|Buffer_num | MSDU_NUM | first_in_mpdu | cont | last_in_mpdu |
 -----------------------------------------------------------
|    1     |     1    |       1       |  1   |      0       |
 -----------------------------------------------------------
|    2     |     1    |       0       |  0   |      0       |
 -----------------------------------------------------------
|    3     |     2    |       0       |  1   |      0       |
 -----------------------------------------------------------
|    4     |     2    |       0       |  0   |      1       |
 -----------------------------------------------------------

In above case scatter MSDU boundary checks can be done only
based on continuation bit. So while reaping use continuation
bit instead of last_in_mpdu bit to detect boundary

Change-Id: I42e7360d6a1b7d0cfd9a6688cae51e3854d430ec
CRs-Fixed: 3388668
2023-03-10 16:11:55 -08: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
Parikshit Gune
5106bd66b4 qcacmn: Set PPEDS src info in WDS ext mode
For WDS ext mode in MLO cases, all the link peers
should get the the newly created VP as src info
for DS peer routing.

Change-Id: I0811f9403819c3ed204799e167994ecb3d60cf96
CRs-Fixed: 3425239
2023-03-09 06:33:11 -08:00
Parikshit Gune
ba18ce8164 qcacmn: Setup DS VP on FW recovery
On FW recovery, do not allocate a new VP and use
the existing profile to setup DS VP

Change-Id: I330613fa104c51becc1018750edf91d8055edb01
CRs-Fixed: 3427382
2023-03-08 23:01:59 -08:00
Karthik Kantamneni
84731a352a qcacmn: RHINE architecture specific HTT changes
Add HTT changes which are specific to RHINE architecture.
Some of the changes like dedicated TX endpoint service,
fastpath implementation and few other message handling
is different in RHINE. Current change add support for
RHINE specific HTT implementation.

Change-Id: I90c2d1d66cdadc5935e6b819e3f19e635c45cb51
CRs-Fixed: 3382915
2023-03-08 17:24:42 -08: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
Venkateswara Naralasetty
c66b8677cf qcacmn: add new counter to fisa stats
Add a new counter inccorect_rdi to fisa stats to log incorrect reo
destination indications in fisa processing.

Change-Id: I785ad90ae1d36b2f6b9b1888373a29fcbd65348e
CRs-Fixed: 3426537
2023-03-08 14:21:24 -08:00
Pavankumar Nandeshwar
e93182a1b2 qcacmn: Do not allow Umac reset in DS mode
Do not send prerequisite htt message informing
support of Umac reset feature to firmware
if DS is enabled

Change-Id: I1272579a3079e126b81a3b324009f6f32c65a904
CRs-Fixed: 3425584
2023-03-08 09:29:23 -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
Kenvish Butani
4c88b99fe7 qcacmn: Add support of HW Link ID
Add support of HW Link ID in PeerMetaData.
Retrieve the HW Link ID in both Rx per packet
path and RX Error path, store it in nbuf cb.
Use the stored value from nbuf while updating
MLO peer link statistics.

Change-Id: I11596d44fe8557af568fd399d0c0a04d2b887b2a
CRs-Fixed: 3397721
2023-03-08 07:42:49 -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
Amrit Sahai
24dc3d385c qcacmn: Add Support of TX MLO Link Stats for ML Peer
Add Support to update TX per packet path, MLO Link
statistics for ML Peer.

Change-Id: If8aa5433221ecbb7d84b3f6777784524f43179a3
CRs-Fixed: 3397721
2023-03-08 07:42:28 -08:00
Kenvish Butani
7fdd918e7f qcacmn: Add Support of Rx MLO Link Stats for ML Peer
Add Support to update Rx per packet path, MLO Link
stats for ML Peer

Change-Id: Ica25993126b4ce49f9e36b7b290d9887e4885155
CRs-Fixed: 3397721
2023-03-08 07:42:17 -08:00
Kenvish Butani
3243b9e4f4 qcacmn: Add Support of Rx Err MLO Link Stats for ML Peer
Add Support to update Rx Error path, MLO Link stats
for ML Peer

Change-Id: Ie5000d0d30a41fa69c86259bae0fd7a8094bddf7
CRs-Fixed: 3397721
2023-03-08 07:42:07 -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
jinbao liu
ff32a66fd5 qcacmn: Fix redundant moving the TP in the REO DST RING
In RX process, driver reaps the data in the REO DST RING
by successively move the tail pointer. The problem is
that driver will move the tail pointer twice if something
wrong happens, like sanity check, which will lead to the
miss of an entry next to the abnormal entry. This issue
has existed for a long time due to the code refactoring.

Change-Id: I2c5d402f81090497a4414efbf6e7e79130ba11f5
CRs-Fixed: 3426707
2023-03-08 05:59:29 -08:00
Jeff Johnson
3953ced714 qcacmn: Fix dp_internal.h documentation
During code review it was observed that dp_internal.h has several
documentation blocks that are not correctly using the kernel-doc
opening comment mark /**, so fix them.

Change-Id: Ib2f22fe1162711f1589bc829e988e202c9524d5d
CRs-Fixed: 3421603
2023-03-08 00:44:52 -08:00
Jeff Johnson
53deac6358 qcacmn: Remove pktlog.h include
The header file pktlog.h is a legacy remnant that doesn't provide any
value, so remove the unnecessary #include. This is a precursor to
removing the actual file.

Change-Id: I3f57b6fce39f0adebf5350badb59ce80f15db7e3
CRs-Fixed: 3420936
2023-03-07 21:05:01 -08:00
nobelj
daa0ae6a5d qcacmn: Modify tx monitor mode change log level
Modified tx monitor mode change log level.

Change-Id: I97233c4c4c86c3af887ccb86b9de4f9174e469df
CRs-Fixed: 3409912
2023-03-07 14:49:50 -08:00
Karthik Kantamneni
29eb537def qcacmn: DP changes to add new RHINE arch specific files
This change introduces new RHINE architecture specific DP files.
RHINE is new SOFTUMAC based architecture, unlike LI/BE targets
all the HW UMAC functionality will be replaced with software base
UMAC functionality. So current RHINE arch specific implementation
is aligned to softumac based implementation.

Change-Id: I70baf11130afc07c5c85437d2343d0976ce0ea0a
CRs-Fixed: 3382880
2023-03-07 07:51:34 -08:00
Sreeramya Soratkal
0186178b04 qcacmn: Update number of links for MLO
To support MLO on 4 links, update the maximum number of links that
can participate in MLO to 4.

CRs-Fixed: 3412356
Change-Id: I4e5c74e856be1b4850cc62b9700b65d3311b9b7f
2023-03-06 21:51:56 -08:00
Shashikala Prabhu
3634b11018 qcacmn: Add H2T command to trigger MLO UMAC reset
Add H2T command to trigger MLO UMAC reset for the given SOCs.

Change-Id: Ic205c7eb5c401006a03628c1e591ef5833459516
CRs-Fixed: 3416804
2023-03-06 16:00:37 -08:00
Harsh Kumar Bijlani
ef49de7005 qcacmn: Consider TID from skb mark even when tid_override is enabled
Consider TID from skb mark when tid_override is enabled along
with SAWF.

Change-Id: I2d1b55017f7c1de6fa3305aa903b8a97edca501c
CRs-Fixed: 3421733
2023-03-06 11:42:22 -08:00
Karthik Kantamneni
82a1c01b88 qcacmn: Refactor unused RX code for SOFTUMAC platforms
In RX and defrag path some of the code in common files will
not be used by new SOFTUMAC based platform. So placing all
the unused code under SOFTUMAC macro and for better readability
clubbing all the code at one place in source file.

Change-Id: I6ff3997a42872a25fb020898f7fb1879746fc8e6
CRs-Fixed: 3382899
2023-03-04 13:22:29 -08:00
Karthik Kantamneni
609cff4e50 qcacmn: Make static API's as global to be used in other files
Make static API's as global so that they can be used in external
architecture specific related files.

Change-Id: Ida906d5dba18cc7c87a3965addf882eecfe55e0e
CRs-Fixed: 3382927
2023-03-04 08:52:13 -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
Narayan Subramhanyan
4c942e661a qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats
Extract manual ulofdma trigger bit as part of rx ppdu stats per user
update process

Change-Id: I2a697f91e572f88a36f96085d15c90c679deaf0c
CRs-Fixed: 3418677
2023-03-02 23:53:59 -08:00
nobelj
20db7b641f qcacmn: Add initial support for word mask compaction
Add initial support for word mask compaction.

Change-Id: Ife05e355395fbc6c6804c34f62954a2b04a2cd03
CRs-Fixed: 3398292
2023-03-02 20:41:06 -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
Jeevan Kukkalli
7908154e77 qcacmn: Fix non-raw frag length issue
Subtract L2 header pad byte from frag length
while adding frag to skb

Change-Id: I6b3f710e8a7451de427640fdb92ac45ed97d8097
CRs-Fixed: 3414008
2023-03-01 05:45:12 -08:00
Namita Nair
23628bf248 qcacmn: HTT support for optional wifi datapath
This change adds rx filter reservation, addition,
deletion anad release support for optional wifi datapath
feature. The parameters required for the rx CCE filters,
are passed to FW in the HTT message. FW responds with the
result of the request. Rx data packets matching the applied
filter parameters are routed to specific REO rings.

Change-Id: I6762912bbb2aefce940d6fa3cea4871a7c89409c
CRs-Fixed: 3401148
2023-02-28 16:57:51 -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
Subrat Mishra
19f2d80322 qcacmn: Add 160 MHz and 320 MHz BW support for Smart Antenna
Add 160 MHz and 320 MHz BW support for Smart Antenna.

Peer connect gets rate codes for all supported BW on connecting peer
as part of wmi_peer_ratecode_list_event. This changes add 320 MHz and
160 MHz BW support.

Change-Id: I715dd5a64c38114fef6e17c2e2f6a526e1a716c2
CRs-Fixed: 3381648
2023-02-27 20:54:01 -08:00
Surabhi Vishnoi
bbae800e14 qcacmn: Fix checksum offload logic for rx packets
Currently, hardware supports checksum offload for only ipv4, tcpv4/v6 and
udpv4/v6 packets. But driver sets checksum as CHECKSUM_UNNECESSARY for
all rx packets if tcp_udp_err and ip_err bit in rx_attention_tlv is not
set. If driver sets CHECKSUM_UNNECESSARY in skb then network stack will
not validate checksum and will reply to even wrong checksum packets
which is incorrect.

So, fix is to set checksum for all rx packets other than ipv4, tcpv4/v6 and
udpv4/v6 to CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY so that network
stack validates checksum.

Change-Id: Ifb9c74fb729361da6db715fa667f926b71ce948f
CRs-Fixed: 3378925
2023-02-27 04:13:44 -08:00
Aniruddha Mishra
cb82f44a0d qcacmn: Add null checks in Rx TLV recording APIs
Add null checks in Rx TLV recording APIs for updating index,
clearing buffer and init deinit.

Change-Id: Iab40bd3130c335924a4849516b71ebaaa88e84bb
CRs-Fixed: 3416657
2023-02-27 00:14:26 -08:00
nobelj
d794bc0885 qcacmn: Add support of EHT and USIG in tx monitor
Added support for EHT and USIG in tx monitor.

Change-Id: I1f6cc345ace19532cc356464c82476b084ca53dc
CRs-Fixed: 3386918
2023-02-26 19:12:52 -08:00