Revīziju grafs

386 Revīzijas

Autors SHA1 Ziņojums Datums
Kenvish Butani
74e7f3c660 qcacmn: Fix 3addr mode Ping failure
Ping fails if the AP VAP is not a  part of
bridge as it missed the DA Peer checks
Fix is to move the check of MLO dev ctx
after DA peer validation

Change-Id: I3386bd6a4c9a3574893bc836278d9fb02254645b
CRs-Fixed: 3653128
2023-11-10 02:47:52 -08:00
Rakesh Pillai
b9881b700b qcacmn: Fix nbuf sanity failure handling in wbm error path
Currently when processing the WBM error entries, if there
is an nbuf sanity check failure, i.e. paddr in the srng
entry does not match the paddr from the rx_descriptor, then
the rx_desc flag "unmapped" is being set, without the nbuf
being unmapped and the rx_desc is getting added to the freelist.
This results in the rx_descriptor being replenished with a
new buffer, and the existing nbuf is leaked (without being unmapped).

In order to fix this issue, do not modify any fields of the
rx_desc, since it will be moved to err_state, due to the
sanity failure. Also this rx_desc will not be added to the
freelist, since it should not be replenished due to err_state.

Change-Id: I394cbf884488e75423ada2ad69087c5280bc0ab0
CRs-Fixed: 3656509
2023-11-07 19:05:33 -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
Rakesh Pillai
ab914e6f3e qcacmn: Handle stale entry in tx completion ring
Currently SW writes a magic number in the tx completion
ring descriptor after reaping from the ring. This magic
number is used to determine, if the HP of the srng has been
updated without the contents of the ring descriptor has been
written.

There were cases of such stale entries observed and as a SW
workaround, add a logic to wait for a specific timeout for
the contents of the ring descriptor to be updated before
moving on to process subsequent ring entries.

Change-Id: I17c0dc0ac55ca81dee3c0825ce934d60ccb1a720
CRs-Fixed: 3648443
2023-11-03 10:09:13 -07:00
KARTHIK KUMAR T
18f8a249da qcacmn: Flush the reo rings before cache flush
Flush the reo rings before cache flush during primary tqm change

Change-Id: I99e705a42411b14ed2e28d8ae96aa7c8b4d2a3d1
CRs-Fixed: 3592386
2023-11-03 10:08:36 -07:00
Chaithanya Garrepalli
06d48f99c7 qcacmn: do not allocate TCL credit ring for BE
As BE chipsets already have 4 TCL_DATA rings
do not allocate TCL credit ring to re-purpose as
TCL_DATA ring

Change-Id: Idf3adbd6394c1a07e48418484083a6aa8946f318
CRs-Fixed: 3636230
2023-10-29 19:50:35 -07:00
Shivani Soni
8d4e888c77 qcacmn: Update ppe_vp profile during bank update
Update ppe_vp profile during bank update

Change-Id: I2dff11bfa66ddf3c65ff974cb42da87c78ca8bad
CRs-Fixed: 3646206
2023-10-27 07:38:10 -07:00
Himanshu Batra
7dbcea96f9 qcacmn: MLO 3 link simultaneous tx transmission
MLO 3 link simultaneous tx transmission.

Change-Id: I1f92e49a5ea634f99e354dd02737c74bae20c483
CRs-Fixed: 3634563
2023-10-25 09:39:58 -07:00
Chaithanya Garrepalli
c88f3c2d9a qcacmn: Fix overflow issue with hlos_tid_override set
In dp_tx_fast_send_be() fix issue while updating
hlos_tid_override bit in TX descriptor

Change-Id: I470d5140585ad3abefcb1345b52dc0caa3cf6fe4
CRs-Fixed: 3631006
2023-10-11 02:13:08 -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
Varsha Mishra
a4a989e5b7 qcacmn: Fix nbuf leak in tx datapath
Free nbuf_clone before returning from dp_tx_mlo_mcast_multipass_send.
Since this API is allocating nbuf_clone, it has the responsibility
of freeing it.

Change-Id: I7a1334a1d941ec352533e788a65596a1b12ae08a
CRs-Fixed: 3628989
2023-10-10 19:37:26 -07:00
Harsh Kumar Bijlani
8616350ebe qcacmn: Change order of SAWF enabled conditional check
Legacy SCS uses skb mark field to specify the priority i.e TID.
This feature is to be supported independent of SAWF framework.
Therefore change the order of SAWF enabled conditional check.

Change-Id: I445f697395c8140b3b9fd7f877dfa8d057f0eaa8
CRs-Fixed: 3630722
2023-10-04 22:03:15 -07:00
Aman Mehta
6e3897bd78 qcacmn: Update stats API interface with xmit type
Update stats API interface with xmit type. Also, updates
unmap peer update mechanism.

Change-Id: Ib39dee1c74e59d5c2ff523b3eca983e54b54676b
CRs-Fixed: 3561679
2023-09-27 22:13:56 -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
3768768424 qcacmn: Update tx ingress stats with xmit field
Update tx ingress stats with xmit field

Change-Id: I86ad9c59f49213e2968751bfc488eb2bdd95baa5
CRs-Fixed: 3561679
2023-09-27 22:13:14 -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
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
Pavankumar Nandeshwar
50089ddecd qcacmn: Handle SG packets in null queue path for KIWI
Handle scatter gather packets in null queue path
for KIWI platform

Change-Id: I3ae3fb20bdddf8b8bf283982772205072dd20bc1
CRs-Fixed: 3609032
2023-09-18 20:29:00 -07:00
Neha Bisht
2e13c17be4 qcacmn: Add API to fetch ast entry by mac and ast type
Add API to fetch ast entry by mac and ast type

Change-Id: Ib8cfa5c269fd10c149804d02fcfae35e88c2a53f
CRs-Fixed: 3614965
2023-09-18 15:32:33 -07:00
Neha Bisht
29b42e6ee2 qcacmn: Add hlos_tid_override feature in fast_path for be
Add hlos_tid_override feature in fast_path for be

Change-Id: Ib9d0015993b9c84e047e12cb47dd92eebb84508e
CRs-Fixed: 3613823
2023-09-17 02:36:39 -07:00
Sushant Butta
37c16635b1 qcacmn: Set fast_tx flag when ol_stats are disabled
Set fast_tx when ol_stats are disabled in
ultra_fastpath to avoid Tx completion overhead.
And also includes following fixes:
cdp support to get jitter stats
cdp support to set/get vow stats
cdp support to get Sojourn Stats

Change-Id: I8bdb176edbdf210b4dedfaa117f058f57bd17241
CRs-Fixed: 3604215
2023-09-16 07:45:49 -07:00
Namita Nair
429dc9c9e6 qcacmn: Ensure rx_desc->unmapped is set to 1 before releasing lock
Originally Change-Id: I9fa71bdb6d4e4aa93fc795cc5dd472a181325991
was brought in to fix a race condition between Rx buffers
map/unmapped in dp_ipa_handle_rx_buf_smmu_mapping() and at the
same time map/unmapped from dp rx replenish context.
The fix ensured that rx_desc is unmapped and rx_desc->unmapped=1
flag will be set atomically within a lock.

But Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
introduced a flaw by releasing the lock before setting the flag to 1.

This is currently causing race condition and causing double
unmap calls when IPA smmu pool unmap and dp_rx_replenish unmap
is running in parallel. This change will fix this issue, by setting
the flag before the lock is released.

Change-Id: I3533bb5f6cc0437395149cd3c718826ef0b482a3
CRs-Fixed: 3594252
2023-09-15 21:09:32 -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
Jinwei Chen
ebc572b89c qcacmn: Support RX MPDU sequence logging from DP
tcp_seq_num and tcp_ack_num in qdf_nbuf_cb is not used
for Beryllium, repurpose them to store RX MPDU sequence
number. get RX mpdu sequence number from DP and store
it in qdf_nbuf_cb for logging later.

Change-Id: I3c21b383d827f12a1e1ec6202a5fc17804dddc1b
CRs-Fixed: 3610468
2023-09-12 14:43:14 -07:00
Mukul Dhiman
e9acbea027 qcacmn: fix dp_update_mlo_ctxt_stats calling location
fix dp_update_mlo_ctxt_stats calling location

CRs-Fixed: 3593264
Change-Id: I3421609b77b975a2579fc03dcbaf011520af772b
2023-09-05 15:15:01 -07:00
Tiger Yu
dbfc30e61b qcacmn: Add pdev checking when processing the htt completion messages
Add pdev checking when processing the htt completion messages to avoid
NULL pointer dereference both in the dp_tx_process_htt_completion and
dp_tx_comp_handler.

Change-Id: I9e8129cfa297d4f2e180550c50ad8a4f1be20ee0
CRs-Fixed: 3583893
2023-09-04 06:21:55 -07:00
nobelj
beede07860 qcacmn: Add fix to populate transmit count
Add fix to populate transmit count for exception frame

Change-Id: I3fa77783169b86779b8a3d6cc0152de8f58cbadf
CRs-Fixed: 3583259
2023-09-03 10:42:18 -07:00
Chaithanya Garrepalli
084db81bf9 qcacmn: Add null check for DP MLD context
Add NULL check in CDP API for MLD context as it can
be called by upper layers for non-MLO VAPs

Change-Id: Id77284ca81462a7e799a7b93e3528d9d9144372c
CRs-Fixed: 3605323
2023-09-02 21:23:49 -07:00
Neha Bisht
5e70737f80 qcacmn: Handle special descriptor cases for global tx pool
Handle special descriptor cases for global tx desc pool

Change-Id: I33253b726b1b8a2e7438b3bc1dddcac43ad8fb25
CRs-Fixed: 3592887
2023-08-30 13:40:05 -07:00
Neha Bisht
82e9711f5b qcacmn: Move Tx desc pool to global context level
Move Tx descriptor pool to global context level.

Change-Id: Iff13a41f3bebbaa93e559c38842a596d47f4e534
CRs-Fixed: 3534184
2023-08-30 13:39:55 -07:00
Kenvish Butani
59bc72aa0f qcacmn: Use MLO Device Context for finding MLO Partner vdev's
Use vdev list present in MLO device context structure to find
MLO Partner vdev.

Change-Id: I6660ab91b27474dbe80562cc763417f07a7a2776
CRs-Fixed: 3583614
2023-08-30 01:38:35 -07:00
Kenvish Butani
8981a2f3c7 qcacmn: Cleanup MLO Partner list from DP vdev
Clean up MLO Partner vdev list and Bridge vdev
list from DP vdev_be as this is moved to MLO
device context
Also clean up the supporting DP API's and
relevant CDP API's

Change-Id: I614a2c43e493a8aba26ccf75813614ce9fbc8e5f
CRs-Fixed: 3588063
2023-08-30 01:38:11 -07:00
Kenvish Butani
fadd99318e qcacmn: Fix Ref leak issue in MLO dev ctx
Fix ref leak issue in MLO dev ctx detach

Change-Id: Ib42b809cd81f8e36b402d9329ea49338b420c7bd
CRs-Fixed: 3598739
2023-08-28 05:43:43 -07:00
Amit Mehta
fcf4ae51f3 qcacmn: Add changes to update band info in nbuf cb
Add changes to update band info into nbuf cb for
connectivity logging.

Change-Id: Iec5e91fe6b39a9a0f8a7a37d4945914d7a9e748f
CRs-Fixed: 3571823
2023-08-25 18:06:06 -07:00
Venkateswara Naralasetty
b5028a76d4 qcacmn: Enable interrupts on RXDMA MONITOR STATUS ring for wcn6450
Enable interrupts in monitor mode for wcn6450.
Interrupt configuration related code is moved from dp_main.c file to
dp_rings_main.c file as part of 'Ie58eae34a2da77c2d63870fab74b9d2d9d49c14a'
as Evros does not use dp group interrupts.

Move back the interrupt configuration related code from dp_rings_main.c
to dp_main.c  to enable interrupts in monitor mode for wcn6450.

Change-Id: I7a3cbbe905072dad1cf38799ac6ef441281f78f9
CRs-Fixed: 3565734
2023-08-25 03:03:23 -07:00
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
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
Kenvish Butani
b3f6de339b qcacmn: Move CDP common MLO ops under MLO Macro
Move CDP common MLO ops under MLO Macro

Change-Id: Icd1f13856091c973d213d0d90aabfe86bd588cdd
CRs-Fixed: 3590973
2023-08-18 18:10:17 -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
nobelj
d754731461 qcacmn: Add start and end flag set for raw frame
For RAW frames, setting zero to start and end flag make difficult
to reconstruct amsdu frame.

Change-Id: I28ffb87682427c7986f98730d514a0421eae1972
CRs-Fixed: 3584549
2023-08-16 13:36:59 -07:00
Kenvish Butani
e617b8791c qcacmn: Add Mcast Seq num in MLO dev ctx
Move multicast sequence number field from
dp_vdev_be to MLO device context struct.

Change-Id: I28c3a9f4480a5da5b622f9dd2a070ac25b9b6e5b
CRs-Fixed: 3586918
2023-08-16 13:36:38 -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
Nandha Kishore Easwaran
15812b8137 qcacmn: Optimize tx completion processing in fast path
Optimize tx completion processing in fastpath by adding the list of
tx descs to the free list directly instead of individually accessing
each descriptor and adding it to free list. This gives advantages of
not taking descriptor pool lock for each descriptor and rather takes
the lock only once when appending the whole list of descs to the
free list.

Also removed unused member shinfo_addr from tx_desc structure. Removal
of this member enables increase of flags type from u16 to u32 without
increasing the size of tx_desc structure. These changes improved peak
KPI by 2% in SFE mode.

Change-Id: I995de9cc08c866ad6e1cd1efc76ac2a35d40fb7c
CRs-Fixed: 3584578
2023-08-15 15:09:54 -07:00
Kenvish Butani
8e969e5393 qcacmn: Add Support for MLO device Context Struct
Add support for below operations for MLO device
context structure.
1) Allocate MLO device structure
2) Attach vdev to MLO device structure
3) Detach vdev from MLO device structure
4) Free MLO device structure

Change-Id: Ifc282a5a04657aa618e0dac6a64d118aa8a8f422
CRs-Fixed: 3566880
2023-08-13 23:59:12 -07:00
Himanshu Batra
c290e36c21 qcacmn: Setup max BA value for tids for mesh peers during peer add
Setup max BA value for tids for mesh peers during peer add

Change-Id: Ia18f5d65db819d87b81c217e5e11fba3316b8d16
CRs-Fixed: 3536290
2023-08-03 03:41:19 -07:00
syed touqeer pasha
3041fbd68f qcacmn: Handle HW coookie conversion disable in DS mode
Direct switch support to handle Rx cookie conversion
when HW cookie conversion is disabled.

Change-Id: I861d854fbeecc2c70e87be3f289915b7e915985d
CRs-Fixed: 3547681
2023-08-01 20:29:12 -07:00
Mukul Dhiman
59ec56d44f qcacmn: add partner vdev debug prints in TXRX_AST_STATS
add partner vdev debug prints in TXRX_AST_STATS

Change-Id: Icf3cc557572519e43e3135e2b22ff457982a8d32
CRs-Fixed: 3571207
2023-07-30 19:08:19 -07:00
Amit Mehta
8a052c3b88 qcacmn: Get correct peer id in htt tx completion
Currently in htt tx completion for MLO connection
host is not converting peer id into ml peer id.

Due to wrong peer_id host is not able to find txrx_peer
due to which stats are not getting updated.

To fix the issue in case of MLO connection convert
received peer_id into MLO peer_id.

Change-Id: I2e90104053d59a319d46a2628c4e9cdcb32832a0
CRs-Fixed: 3574182
2023-07-28 23:43:08 -07:00
Lin Bai
09432f7ace qcacmn: Compute pages required by SPT properly
Compute the required pages properly, when num_descs is not
multiple of DP_CC_SPT_PAGE_MAX_ENTRIES(512).
For example, if num_descs less than DP_CC_SPT_PAGE_MAX_ENTRIES,
then 1 page needed rather than 0.

Change-Id: I1c4b12cfebef6a9b315baf9044355caab1b112de
CRs-Fixed: 3571562
2023-07-28 23:42:57 -07:00