Wykres commitów

4177 Commity

Autor SHA1 Wiadomość Data
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
Venkateswara Naralasetty
c62ef80144 qcacmn: Change number of RXDMA_STATUS_RING allocations
Currently two RXDMA_STATUS rings are allocated for the station targets
irrespective of whether DBS supported or not. Only one RXDMA_STATUS_RING
being used for non-DBS targets like QCA6750 and WCN6450, hence change
the number of RXDMA_STATUS_RING allocations to 1 for non-DBS targets.

Change-Id: I4f14c8b5cee892979765f776b37d44e99ba2d558
CRs-Fixed: 3578733
2023-08-16 13:37:11 -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
Namita Nair
f06f5e0791 qcacmn: Fix TX completion configurations
Currently when OPT_WIFI_DP is enabled, dp_tx_get_queue()
sets the ring_id always to one ring. This could potentially
affect the Tx data rates. This change is to ensure
all the Tx data rings are used.

Change-Id: Ib1ecf7f36f6967c0edf947d6310d6ae7caf43e5b
CRs-Fixed: 3577829
2023-08-16 02:17:06 -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
Adwait Nayak
7ce350b5a0 qcacmn: Do not enable word compaction for pktlog
Recently, Word compaction is by default enabled as part
of all monitor mode realated features. Due to which, while
parsing the pktlog data, multiple TLV parsing errors are seen.
Hence, with this change word compaction is disabled if pktlog
is enabled.

Change-Id: I35153f74da2de5978b225ced7f8c1112f3aff3b2
CRs-Fixed: 3551975
2023-08-15 17:52:45 -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
Amit Mehta
b7b5ec0c8a qcacmn: Do not set ref count as 1 for MLD peer
During dp_vdev_flush_peers after peer unamp ref_cnt
for peer is set to 1. Which in case if peer unamp
for MLD peer is called before link peers from dp_vdev_flush_peers,
it will result in MLD peer delete before link peer.

To avoid MLD peer delete before Link peer, after peer unmap
in dp_vdev_flush_peers do not explicitly set ref_cnt as 1
for MLD peer.

Change-Id: If7ab63eb213dc482205f3847f0b32e246ca76d51
CRs-Fixed: 3585860
2023-08-15 00:44:40 -07:00
Kenvish Butani
6939ceceb0 qcacmn: CDP API's to support MLO Dev context
Add support of CDP API's to create, attach,
detach and destroy MLO device context
structure in Datapath

Change-Id: I0c2019b70f12639de949ebe5bec44f1f202cff6b
CRs-Fixed: 3566879
2023-08-13 23:59:24 -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
f86703892d qcacmn: Add qdf API for dev_hold
Add qdf API for dev_hold

Change-Id: I585e6781718fd55e8359906e5355f068376406c2
CRs-Fixed: 3579431
2023-08-11 01:24:21 -07:00
Sai Rupesh Chevuru
98eff70aff qcacmn: skip WDI peer creation and deletion events in STA mode
In the case of STA mode, will be marking bss peer as part of
peer map events during the creation.
Due to this create event will be triggered during the peer creation
as bss flag is not set and there won't be any peer delete event
to bss peer resulting stale entries in mld hash.
Hence will be avoiding creation and deletion events.

Change-Id: I15a78ad0b8a90b34505880af94522abbe1de8fb5
CRs-Fixed: 3581548
2023-08-10 14:43:49 -07:00
Manikanta Pubbisetty
882184c8f1 qcacmn: Increment TX enqueue stats on Rhine targets
Increment TX enqueue stats on Rhine targets.

Change-Id: I526ee8e1e1b2e8aa10e5c7a1c7dad2c45d236ba2
CRs-Fixed: 3574412
2023-08-10 14:43:28 -07:00
Karthik Kantamneni
6e1fe7f344 qcacmn: Reset nbuf data pointer properly in RX fast path handling
Currently RX nbuf data pointer is reset considering
headroom reserve size of NET_SKB_PAD. So while reattaching
buffer back to H.W always data pointer is reset back to head plus
NET_SKB_PAD offset. But if skb is not allocated with head room
reserve then we should not reset data pointer taking NET_SKB_PAD
as consideration.

Fix this by pushing nbuf data pointer back to the state when
nbuf entered the host.

Change-Id: Ie96f99fdd92deaa921619a45cd5993a42f7b8f6e
CRs-Fixed: 3582873
2023-08-10 14:42:45 -07:00
Nandha Kishore Easwaran
1f24545139 qcacmn: Suppress MLD print
Suppress MLD print since this print is unrelated for
non-mld platform.

Change-Id: I4cf04001d3f0e3c1c63b27adc5a71cc627a382fd
CRs-Fixed: 3582264
2023-08-10 05:13:44 -07:00
Harsh Kumar Bijlani
9cbb3b7b3e qcacmn: Change macro DP_MAX_STRING_LEN value to 1000
Change macro DP_MAX_STRING_LEN value to 1000.

Change-Id: I4220c6288a55700f2f3ed89db30ec01ae2d77771
CRs-Fixed: 3579776
2023-08-09 07:26:16 -07:00
nobelj
d26a05fafd qcacmn: Add fix to free buffer properly on error case
In rx monitor deliver, Buffer need to be free properly for any
failure after MPDU restitch.

Change-Id: I7d2f649e8266d91d50a429a92c07bc42d1d730eb
CRs-Fixed: 3580509
2023-08-08 06:11:04 -07:00
Jeevan Kukkalli
c92389fe5f qcacmn: Improve readability of monitor error messages
Improve readability of monitor filter update error messages.
This will help to avoid redundant error message printing from
caller.

Change-Id: I63dbc52be7a2f9537bf226fe0008c4efb51fe582
CRs-Fixed: 3576860
2023-08-08 00:01:41 -07:00
nobelj
641a8433ff qcacmn: Add support to enable monitor peer for all peer
monitor peer is not allocated for MLO MLD peer this lead to drop in
broadcast and multicast frame in legacy tx monitor path. Added support
to enable monitor peer for all peer.

Change-Id: I786554a918bae966a929e4c9188c1b0f324b5846
CRs-Fixed: 3544695
2023-08-07 16:29:04 -07:00
Amir Patel
8af70480b3 qcacmn: Fix compilation issues
Fix compilation issues when QCA_KMEM_CACHE_SUPPORT
is not defined

CRs-Fixed: 3577327
Change-Id: I0715e6d5702aab793823a0b42c1eea5322eadb74
2023-08-03 13:17:47 -07:00
Jeevan Kukkalli
2e35a8785e qcacmn: Fix lite mon deallocation
Lite monitor deallocation should happen before mon rings deinit.
Call lite monitor dealloc function before mon rings deinit

Change-Id: I9b93945ccc092ff524555e8a4aa9cd2e3877f70f
CRs-Fixed: 3578630
2023-08-03 10:04:02 -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
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
Karthik Kantamneni
c88b38afa1 qcacmn: Fix RBM id assignment for Rx buffers in Rhine
Currently RBM id is not assigned properly for RX buffers
in Rhine architecture. Fix this by assigning RBM id during
soc attach in Rhine.

Change-Id: I8f3a781bfaf81366417107f4bd3da61b142ca1e2
CRs-Fixed: 3573342
2023-08-01 20:30:36 -07:00
Jeevan Kukkalli
07824cbd75 qcacmn: Fix indentation
Fix indentation in status tlv processing function

Change-Id: Ie575c71ebdf3def30ec2a914cdca44442a6a9fa3
CRs-Fixed: 3575953
2023-08-01 20:29:53 -07:00
Amir Patel
dae2d5c316 qcacmn: Adjust mon ring fill level based on num_entries
Adjust mon ring fill level based on num_entries in ring

Change-Id: Iaa6fa2f1c3742a60b5980bbf153ddc7b03733168
CRs-Fixed: 3575947
2023-08-01 20:29:33 -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
Karthik Kantamneni
a671ff2ee1 qcacmn: Modify refill buff pool enqueue to use max_bufq_len
Currently Refill buffer pool enqueue is using POOL_SIZE
macro, but there is possibility of dynamically configuring
max pool size less than that. So use max_bufq_len which will
be configured dynamically during refill pool init instead of
POOL_SIZE macro.

Change-Id: I610b5dff71861254aa8b6d30e2c562bd7316e120
CRs-Fixed: 3575599
2023-08-01 20:29:01 -07:00
Karthik Kantamneni
838ed5edf5 qcacmn: Mark nbuf cb for offloads handled frames in Rhine
Mark nbuf cb if Rx packet is routed via offloads, this gives the
info whether particular packet rx ring routing info is correct or
whether packet has entered offloads layer and rerouted back.

Change-Id: Ib3ad71216c514381d0bce1fb4744550d91880254
CRs-Fixed: 3540537
2023-08-01 09:38:01 -07:00
Sai Rupesh Chevuru
7157add22c qcacmn: Avoid wdi events for bss peer
As the bss peer is closely tied with the vdev creation
and deletion, listeners might be uninitialized and result
race conditions. send an event only to the connected peers.

Change-Id: Ia0ae063c92bba38d2fb67fe4eae84f5562991fa2
CRs-Fixed: 3574176
2023-07-31 02:12:38 -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
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
Santosh Anbu
22a0b8805b qcacmn: Print mon dst interrupt threshold
Add change to print monitor destination ring interrupt
threshold values.

Change-Id: I5750d7e491e4e8761b4dca61630c2f04355b0b59
CRs-Fixed: 3569507
2023-07-27 04:51:12 -07:00
Santosh Anbu
32d27588db qcacmn: Update mon dst interrupt from INI
Add change to update monitor destination ring interrupt handling
thresholds from INI.

Change-Id: Ibfced2b809ac2101171e8fe9f58e021a5a1f8ccf
CRs-Fixed: 3569507
2023-07-27 04:50:58 -07:00
Jeff Johnson
9ce54cdba4 qcacmn: Fix dp_tx_tso_num_seg_pool_init_by_id() stub
The dp_tx_tso_num_seg_pool_init_by_id() stub implementation has an
incorrect semicolon, so remove it.

Change-Id: Ie70aafdb83116e3e3fb7bd96223b0c770e80eb7f
CRs-Fixed: 3500205
2023-07-26 21:24:51 -07:00
KARTHIK KUMAR T
63bf6f5d07 qcacmn: Added code to include rx packet tlv hdr
Added code to include rx_pkt_hdr_tlv in
rx packet tlvs header

Change-Id: I0609cf94e3b53cf625f7c347d86e42fe815e452e
CRs-Fixed: 3563009
2023-07-26 10:52:45 -07:00
Sushant Butta
8b9b8a9a16 qcacmn: Add check to validate length of packet buffer
Add check to validate length of the packet
buffer before adding to skb.

Change-Id: I78cf436c4bf6a00b1aa08ef82cb790c2b3478733
CRs-Fixed: 3553974
2023-07-25 15:21:59 -07:00
Hariharan Ramanathan
ab649e0622 qcacmn: Featurization of DP_TX_DESC_POOL_OPTIMIZE
1. In lowmem profiles the number of tx_desc in 4th pool is reduced to
quarter for memory optimizations.
Added new API dp_get_updated_tx_desc which will return the desc value
from INI based on the flag DP_TX_DESC_POOL_OPTIMIZE.

2. Changes to introduce new INI to get reduced desc value for 4th tx
desc pool.

This helps optimize 0.75M per SOC in lowmem profiles.

Change-Id: I033fcaeb843019fb03bb77e0d05a3ebf60fa806a
CRs-Fixed: 3557483
2023-07-25 00:19:37 -07:00
Amit Mehta
ca46c1b02d qcacmn: Add changes to get link_id in reo error path
Add changes to get link_id in reo error path.

Change-Id: Ia0ac59318b992be97be5ae15a8e111a730866609
CRs-Fixed: 3566184
2023-07-24 15:51:19 -07:00
Mukul Dhiman
fe14b1901b qcacmn: dp stats aggregate handling for bridge vap in mlo
dp stats aggregate handling for bridge vap in mlo

Change-Id: I4bb934776a35f76b091694de024b173c744ac087
CRs-Fixed: 3557225
2023-07-24 05:10:18 -07:00
Hariharan Ramanathan
5ec64fb74d qcacmn: Featurization of DP_TX_EXT_DESC_POOL_OPTIMIZE
This flag DP_TX_EXT_DESC_POOL_OPTIMIZE if enabled will reduce the number
of ext tx desc pool to 1.

1. Changes done to split the tx_desc and ext_tx_desc pool number
variables in alloc and free path. Based on this flag the reduced
ext_desc_pool count will be returned.

2. In Tx path, since the pool id is selected based on the CPU, changes done
to override the desc_pool_id of ext_desc_pool via new API
dp_tx_ext_desc_pool_override to 0 with which from whatever core the packets
comes from, pool 0 will be chosen for ext_desc.

Change-Id: Iae8bf9952a136ba2c55256d8f305b6d5fbde5d83
CRs-Fixed: 3552532
2023-07-21 16:50:14 -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
Jia Ding
f3fcb9b56e qcacmn: Initialize ipa_mapped to 1 in soc attach
Two SMMU issues are seen on IPA domain with regard to RX.
1. map without unmap
2. Buffers not mapped into IPA.

With If198a6c5f22af58fdaf9d9c020c74b1f76002e37, mapping
RX buffers to IPA domain are deferred to IPA enable pipes
phase with soc->ipa_mapped flag check added. This leads
to a race window where RX packets are routed to WLAN Host
first with soc->ipa_mapped still being 0. In such case, RX
buffers handled by WLAN driver will neither unmap from IPA
domain nor map into IPA domain.

For !ipa_config_is_opt_wifi_dp_enabled(), fix is to set
soc->ipa_mapped to 1 earlier in soc attach phase instead of
IPA enable pipes phase. With this fix, RX buffers can be unmapped
from IPA domain and mapped to IPA domain in dp_pdev_rx_buffers_attach()
and dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path so
as to avoid above two SMMU issues.

Change-Id: Idcb86db99f522959b639865f77178cd47a234277
CRs-Fixed: 3560191
2023-07-20 19:19:34 -07:00
Srinivas Girigowda
afd51dc121 qcacmn: Add local packet capture type based filtering
For the control frames regenerated by the host driver based on the
TxMon TLV, add the local packet capture type based filtering.

Change-Id: If6b47368ce36524e1c84c51c298278ced671b915
CRs-Fixed: 3531895
2023-07-18 22:55:44 -07:00