Grafico dei commit

371 Commit

Autore SHA1 Messaggio Data
Aditya Kodukula
2b03e92990 qcacmn: Add support for flexible length arrays
Convert size 0 and size 1 length variable arrays to
flexible length arrays.

Change-Id: Iafe5fd8cd1c3cf6bbff49054d815ef74a10814c6
CRs-Fixed: 3690248
2024-07-02 08:36:43 -07:00
Yu Tian
60d9ef02ec qcacmn: Add verbose log for RX frame dropping
Now only error counter is present in normal
datapath RX frame dropping. This change add
verbose log for easy debug.

CRs-Fixed: 3706290
Change-Id: Iae2fb9f6100109173921c4f1d43258a0722dc0de
2024-02-19 20:15:26 -08:00
Yu Tian
9ae6559c96 qcacmn: Separate Peer state get call from fast path
Peer state could be queried from both fast path and
slow path. Change separates this call and allows log
print from slow path call.

Change-Id: Iad2cc209e15fe95366cd606c5daa6233f2c5535e
CRs-Fixed: 3700370
2024-01-17 00:37:50 -08:00
Rakesh Pillai
d149d2a2e8 qcacmn: Do not unmap buffer if MSDU done is not set
Currently if the msdu_done bit is not set in the
rx_pkt_tlvs, the buffer is unmapped and freed.
There was an issue seen where hardware accessed a
buffer address, which probably was delivered to driver
without DMA of data to the buffer (thereby unmapped
and freed before hw attempted second access). This
results in unwanted recovery.

Based on the above hypothesis, add a workaround
to skip the unmap-and-free of any buffer for which
the msdu_done bit was not set in the rx_pkt_tlv.
Also mark the corresponding rx_desc as in_err_state.

The rx_desc corresponding to such aforementioned
msdu_done failure msdus are stored in a rolling
list, where the old entry is force unmapped & freed
when a new entry needs to be added. This force
unmap-and-free of the oldest buffer gives an uncertain
amount of delay between it being reaped from rx ring and
actual unmap-and-free.

Change-Id: Ibf8f3c886118d532af818466cb46218d88146271
CRs-Fixed: 3667674
2023-11-28 04:08:22 -08:00
Rakesh Pillai
f7d4e2a300 qcacmn: Do not re-init rx_tid for non-first link peer
As per the current design, the rx_tids are shared across
all the link peers belonging to the same MLD. The rx_tids
are allocated and referenced from txrx_peer, which is common
for all the link peers.

But during the peer_setup, which happens during the initial
connection or during link switch, these rx_tids are being
initialized(or reinitialized) every time for each link peer.

This leads to a situation where:
1) The rx_tids may get re-initialized during the 2nd/3rd/subsequent
link peer setup, even after the BA session has been established via
the first link, thereby setting incorrect BA window size and other
BA parameters for all the non-first link peers. Even the BA session
status will be reset, which can lead to issues for fragmented packets
aggregation.

2) After link switch, when the new link peer is setup, it will be
setup with a default BA window size of 1, when the actual BA window
size has already been established earlier, thereby indicating
an incorrect BA window size for the switched-in link peer.

In order to mitigate the above mentioned issues, the full setup
of tids will only be done for first link peer. For all subsequent
link peers, only the re-order queue setup (wmi notification to fw)
will be done. Also, during the re-order queue setup for all the
non-first link peers, the BA window size will be updated from the
rx_tids in txrx_peer (if the BA session is active).

Change-Id: Ia3f7516ba6efd1014648ead1730712834f450c42
CRs-Fixed: 3657693
2023-11-27 00:31:55 -08:00
Pavankumar Nandeshwar
c71f2aaf75 qcacmn: Clean up global desc pool during Umac reset
Make sure that the global dp tx desc pools are cleaned
up only once during MLO umac reset.

Change-Id: Id6e0ac6532b11ffb9ea190b6ab4d481fb486d853
CRs-Fixed: 3647660
2023-11-03 10:09:59 -07:00
Jinwei Chen
d047565c37 qcacmn: Support watermark stats for TX completion srng
Support watermark stats for TX completion srng.

Change-Id: Id13bd12ec9c2723f5b5e5afffedcb939cd5e5d74
CRs-Fixed: 3635719
2023-10-15 22:17:35 -07:00
Ruben Columbus
70b5c653d0 qcacmn: set customizable rx_buffer_size
introduce custom rx_buffer_size from INI within the bounds of
2048-4096

Change-Id: I17ad727cea74fc559d6407d3c8662cb6a4cd6b0a
CRs-Fixed: 3631271
2023-10-10 19:37:37 -07:00
Aman Mehta
3694cff9dc qcacmn: Update mlo ctx stats API with xmit type
Update mlo ctx stats API with xmit type. MLO ctx ingress stats will
be stored as per the legacy/mlo xmit type.

Update stats incrementing mechanism on peer unmap.

Change-Id: I2f16b95e64e6a7697d18d9453e9f7c60631f80bb
CRs-Fixed: 3561679
2023-09-27 22:13:35 -07:00
Aman Mehta
15edfd0a13 qcacmn: Update stats API with xmit type
Update stats API with xmit type. Ingress stats will
be stored as per the legacy/mlo xmit type.

Change-Id: Ic7612a4cf6a4099d6a51dc1cce94c4c3d713672c
CRs-Fixed: 3561679
2023-09-27 22:13:24 -07:00
Ruben Columbus
4a7db7f38e qcacmn: revert 2 gerrits from 4k ini change
This reverts commit Icd1bbe85182d6baf1e25dceed0b45994aa9f55fc.
This reverts commit Id00c6351bf6bc1b9df5e19064b2057dadd315e9b.

- revert add rx_buffer_size to softumac case
- revert 4k skb buffer change.

Change-Id: I623b200c0c5f08f0e372629cb1c972b521c25eaa
CRs-Fixed: 3623665
2023-09-26 14:41:43 -07:00
Linux Build Service Account
288f8c09ea Merge "qcacmn: Add DP rings to SSR dump" 2023-09-22 01:14:07 -07:00
Gaurav Saini
b64de0cf4a qcacmn: Handle RX exception from IPA on WDS-EXT netdev
When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.

Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.

Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
2023-09-21 17:57:45 -07:00
Amit Mehta
0b0fde8706 qcacmn: Add DP rings to SSR dump
Add DP rings to SSR dump

Change-Id: If1d1fe0a66a0f836bd5344b14ba4187e58921568
CRs-Fixed: 3604903
2023-09-20 07:21:36 -07:00
Karunakar Dasineni
6bb232bd38 qcacmn: Fix negative shift operand
Fix to avoid negative shift.

Change-Id: Idff0836e7e5ded0aeca400b057790df26c1c67fd
CRs-Fixed: 3609048
2023-09-16 07:45:38 -07:00
Yu Wang
3f6e59aef9 qcacmn: add support for transmit latency stats
Add support for per-link transmit latency statistics

Change-Id: Iadb87deb6e19cd4d9f86565fe687c7d9a1f05679
CRs-Fixed: 3597028
2023-09-15 17:34:02 -07:00
Ruben Columbus
4902c68f4d qcacmn: 4k skb buffer change
add new ini to configure skb size and change it in each place its used
correspondingly

Change-Id: Id00c6351bf6bc1b9df5e19064b2057dadd315e9b
CRs-Fixed: 3584462
2023-09-13 14:19:51 -07:00
Pavankumar Nandeshwar
d003031f93 qcacmn: Avoid multiple pre reset done triggers in Umac reset
Make sure that the pre reset done notification is sent
only once during Umac reset.

Change-Id: I1d9e1d8caef49443d25e879086043e815ea087a1
CRs-Fixed: 3594653
2023-09-09 03:36:44 -07:00
Ruben Columbus
dcfc490267 qcacmn: debug and reset functionality for monitor
monitor reset functionality when bkpressure is seen.
debug logs added to inspect monitor ring in case of bp.

Change-Id: I8e79f97b315653f302da087ea8d82362ba02723d
CRs-Fixed: 3542923
2023-09-03 10:42:07 -07:00
Pavankumar Nandeshwar
ad866ad37f qcacmn: Avoid asserts in dp related to HW interactions
Avoid asserts in data path which related to HW interactions
and instead use work arounds.

Change-Id: I86089d21c5be23784f8a077b085f3f3b8a2308e4
CRs-Fixed: 3564940
2023-08-23 10:33:18 -07:00
Amrit Sahai
f223bd29ee qcacmn: Add support for to_stack at link level
Add support for to_stack at link level

Change-Id: I794a1bd8ef78a3af15f006ac3306b1c9b23e457d
CRs-Fixed: 3571870
2023-08-18 18:10:07 -07:00
KARTHIK KUMAR T
39bb6afc38 qcacmn: added MLO MCAST packet stats
added MLO MCAST packet stats in tx stats

Change-Id: I46ad1a94bf986d21a9b865d7531298e805abcda8
CRs-Fixed: 3582328
2023-08-16 13:36:26 -07:00
Mukul Dhiman
0ad05f4a1a qcacmn: aggregate vdev stats in to mlo ctxt at vdev detach
aggregate vdev stats in to mlo ctxt at vdev detach

Change-Id: I002e48e4b95a32a0ff58e3e1cc26ea97d94f7a5d
CRs-Fixed: 3572527
2023-08-16 02:17:17 -07:00
Adwait Nayak
9c55f0cc3c qcacmn: Add pdev_id for word mask subscription
Add missing argument pdev_id in dp_mon_rx_wmask_subscribe
to avoid compilation issue.

Change-Id: I3a13163d062c93f67ba0101b881f48ab239a585f
CRs-Fixed: 3551975
2023-08-15 17:52:55 -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
Amit Mehta
54976d0150 qcacmn: Add changes to aggregate rx packet count
Add changes to aggregate rx packets count for
per link stats.

Change-Id: Iba3409751a36a2d1bbb7559289bdd6ae414678ac
CRs-Fixed: 3547369
2023-07-04 19:15:49 -07:00
Rakesh Pillai
f3a0177ae3 qcacmn: Add CDP APIs for FISA HTT msgs
Add CDP APIs for sending HTT messages used for FISA
related configurations.

Change-Id: Ie4076794b8b4b53611ecb71fbb11d19bd0c36442
CRs-Fixed: 3512038
2023-06-24 13:32:18 -07:00
Rakesh Pillai
b47aea82ae qcacmn: FISA data structure movement
Move the non-converged data structure for FISA
out of converged DP section.

Change-Id: I76d8ac924814d5881f3fd1f75db3ee01cf87113f
CRs-Fixed: 3512037
2023-06-24 13:32:07 -07:00
Rakesh Pillai
7bec9986f0 qcacmn: FISA suspend/resume code movement
Move the suspend/resume related handling for FISA
out of cmn DP.

Change-Id: I96aad736023a5d749b892a64b84827aab11ccdca
CRs-Fixed: 3512035
2023-06-24 13:31:46 -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
Venkateswara Naralasetty
39ed82e609 qcacmn: qcacmn: Add Monitor 1.0 support for WCN6450
Currently in monitor mode, links are released to WBM through the
SW2WBM_RELEASE ring and WBM will feed the links back to RXDMA
through the WBM2RXDMA_LINK_RING.

WCN6450 uses SOFTUMAC architecture where WBM is not present.
Hence the WBM2RXDMA_LINK_RING is repurposed to SW2RXDMA_LINK_RING
where host will directly release the links to RXDMA using this ring.

Change-Id: I110f607e38c4c2ab10eb1bd7b1f5a7bce2f03692
CRs-Fixed: 3493368
2023-06-16 15:03:02 -07:00
Karthik Kantamneni
fb80921508 qcacmn: Sync DP soc/pdev cfg with profile
Sync DP soc/pdev config items with profile selected.

Change-Id: If7fd67117ac512b57934b2d30c00ce8422130970
CRs-Fixed: 3504105
2023-06-02 16:51:02 -07:00
Shashikala Prabhu
925a2a3d1c qcacmn: Define umac reset API under 11BE MLO compile time macro
dp_umac_reset_is_inprogress() unknown symbol issue is seen for the customer
profile. The definition of this API is present in dp_mlo.c file which is
complied when WLAN_MLO_MULTI_CHIP compile time macro is enabled.
For the customer profile, DP_UMAC_HW_RESET_SUPPORT is enabled and
WLAN_MLO_MULTI_CHIP is disabled. Hence unknown symbol issue is seen.

To fix this issue, call dp_umac_reset_is_inprogress() defined in dp_mlo.c
file if DP_UMAC_HW_RESET_SUPPORT, WLAN_MLO_MULTI_CHIP and
WLAN_FEATURE_11BE_MLO are defined.

Change-Id: Ibc91ff73595bc502e970375f59515a2a523e19b2
CRs-Fixed: 3512322
2023-05-31 19:08:23 -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
Vivek
419c3a57ef qcacmn: Initialize wds ext field in txrx_peer
Initialize wds ext field in txrx_peer.

Change-Id: I0aaedcc7cffc64fb02ba8128985291b431383425
CRs-Fixed: 3504698
2023-05-22 20:15:23 -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
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
Amit Mehta
2debf5d6e6 qcacmn: Add support to print per link stats
Add support to print per link stats

Change-Id: Ifd1c1b5c075401a1545bcaaf76e1c79706a86974
CRs-Fixed: 3442916
2023-05-07 18:10:59 -07:00
Amit Mehta
239bf915dd qcacmn: Add CDP API to get per link peer stats
Add new CDP API to get per link peer stats.

Change-Id: I5685699601b31341caa655c5fe16655fa3bcc2a4
CRs-Fixed: 3442913
2023-05-04 01:35:28 -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
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
2e3e6b1315 Merge "qcacmn: Set trigger action after checking Umac reset in progress" 2023-04-21 09:15:36 -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
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
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
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
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