Add cdp layer API to get stats and
Copy pdev deterministic stats from dp_pdev to cdp structure
Change-Id: Ia7dbbe4cfe7ebe66a040879144505b17aaaa625a
CRs-Fixed: 3380939
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
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
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
change allocation location for reo qref table.
per probe allocation results in mem alloc failure when
frame is fragmented
Change-Id: I5922bddebcd0577ba38734ae7d4194d726d825aa
CRs-Fixed: 3326520
The function dp_print_mlo_ast_stats() is currently a public function.
However this function is only called from within the file where it is
defined, so make it static.
Change-Id: Id83c7b3110c60ca6e3dc3263aaf87d21e9365a31
CRs-Fixed: 3374039
Current rx_mpdu_received and rx_mpdu_error stats reporting is incorrect.
rx_mpdu_received would be rx_mpdu_delivered + rx_mpdu_errors.
Also get combined rxdma_errors(rx_mpdu_errors) handled across host and FW.
Change-Id: Icbfeaffd7cd27d7f894df2d39add9cc7b47714be
CRs-Fixed: 3333010
Add history to record the config/control events
e.g. peer create/delete/unref-delete, vdev attach/detach
in datapath.
Change-Id: Ic3c8122fca9124e41931ec445946aec5e8863434
CRs-Fixed: 3371899
Add debug logs in the MLD peer create/delete path
to help debug any issues with MLD peer leak.
Change-Id: I63126d9b86f3179a88809836371fc765d340b6d8
CRs-Fixed: 3379148
from Beryllium onwards a single Flow Search Table
will be used across multiple radios. to ensure this
a single FST attach is called for the first SOC's
pdev and FST detach is called only during last pdev
of last SOC. the same FST instance is saved in all
pdevs of all the SOCs
CRs-Fixed: 3366409
Change-Id: I42fbdc6f09fb902021877e100a2831a1a24bc975
An INI dp_tx_spl_device_limit is defined and can be used to configure the
limit of TX descriptors that can reserved on the SOC to handle
special frames like EAPOL.
CRs-Fixed: 3343207
Change-Id: Ic84a11249880a3541749a72ac6d60df548f2bc5c
An INI dp_tx_spl_desc is defined and can be used to configure the
limit of TX descriptors that can reserved on the pdev to handle
special frames like EAPOL.
CRs-Fixed: 3343209
Change-Id: I6578bddd1f4ea07528c9f66f778b113ec6fb9e61
Add get parameters for features. These flags are
set in datapath vdev object and need to be extracted
outside datapath.
Change-Id: I4b4d8adcc523fc030bca699e0f0f9eb10475920c
CRs-Fixed: 3367490
REO module may hang when REO commands are queued after WoW enable WMI
sent to FW. Change is used to check WoW progress before accessing REO
CMD ring. If WoW is in progress, then defer REO commands.
Change-Id: I9cd8390e77ef33f98f84cb604f152e3f9a0e4203
CRs-Fixed: 3362608
In case where memory alloction failure for RX TID return
appropriate status for CP
Change-Id: I96a3694b05f84034ebacd15d87e58cd1f59207de
CRs-Fixed: 3365642
Special frames like EAPOL should not be dropped as it would cause
failure in connection. To prevent the dropping of higher priority
special frames, reserve a set of descriptors from the tx descriptor
pool.
Check the regular soc or pdev limit for the allocating tx descriptors
for the regular packets and use the reserved set of descriptors
only for the special packets.
CRs-Fixed: 3331359
Change-Id: I15532fb5e325ba6ad997090008bda8c52707a05b
1. Change the names of parameters and functions related
to direct switch feature from ppe to ppeds
2. Remove the unused ppe_release_ring
Change-Id: I5a95b1273e338f354903af98158578ac65758a8a
CRs-Fixed: 3345097
Issue:
When DS mode is configured for a VAP
in both AP and STA (RDP 433), the tput reduces.
For instance, for an ingress of 7G
in standalone case, the egress rate is
1) 6887 Mbps when DS is enabled only in AP
2) 1900 Mbps when DS is enabled in both AP and STA
RCA:
With the help of debugs & proc/interrupts, identified
that we are not setting up the peer when the
device in STA mode due to AP mode check in
dp_soc_txrx_peer_setup.
Hence, the traffic is not flowing via DS
and so, tput reduces.
Fix:
Added changes to invoke txrx_peer_setup in
STA mode and DS mode will configured in that mode.
With the fix, traffic flows via DS, which
in turn improves the increased
Change-Id: Ib51e9a27e5078ed99160f213ddffed801c2e4ecf
CRs-Fixed: 3355603
Change interrupt timer threshold for ppe2tcl ring to 30 us
from existing default timer threshold.
Change-Id: Id6a2625c086af6c4c49188c0abdc8d24fb8bdfe5
CRs-Fixed: 3355208
1.Add check in Tx completion path to handle
mcast packets from all ML partner vdevs
2.Handle cases where a ML mcast vdev can be
deleted and started as NON-ML vdev and
viceversa by adding reset ML mcast conf.
3.Optimized Register configurations for Mcast
at Init/Delete and Start/Stop AP
Change-Id: Iab8a5a081e2e0377509574d362754d32c5b83df2
CRs-Fixed: 3350350
set rx_reo_queue_desc_addr_31_0 and rx_reo_queue_desc_addr_39_32 to 0
in hal_reo_shared_qaddr_write_be
Change-Id: Ib92775e0883b68f49c27e606e762384239bae955
CRs-Fixed: 3339043
Enable and register PPE2TCL and REO2PPE ring interrupts
for direct switch
Set interrupt timer threshold for ppe2tcl ring as 30 us.
Change-Id: Ida1ff6c3c2000f16f07960f7eae0d10edc337dc0
CRs-Fixed: 3341790
Add support for GET MLO Multicast API to check
if the vdev is primary multicast vdev.
Enhanced SET MLO Multicast API to reset primary
multicast flag for all partner vdevs.
Change-Id: Ic88949ce922bb1d0fd34349058d254de0d1f563c
CRs-Fixed: 3322523
In the dp_tx_desc_set_ktimestamp() return false case,
tx_desc->timestamp will not be updated, instead,
tx_desc->timestamp_tick used. So it will cause
dp_tx_comp_delay_check() always return false when
timestamp equal zero. Need to move the tx desc
timestamp check to correct place.
Change-Id: Ic1d5f1035784dcc3f240d832ac1e8820bc24f782
CRs-Fixed: 3331251
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.
Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.
Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
In force teardown case disable the interrupts before
going down. As target may be still active, we may
still continue to receive traffic. Disabling
interrupts to nsure we dont process interrupts while
cleaning up partner SOC
Change-Id: I7092d398c039302234206cb72f7453b6dc0cbcb7
CRs-Fixed: 3332961
Add support and ops for initialization and
deinitialization of Direct Link refill ring.
Change-Id: I2c7018c4f8411fb7a590cfbb8b991f9152b22397
CRs-Fixed: 3316656
MSI vector number is defined in platform driver, so use platform
driver API to check whether it is in one MSI mode or not.
In case of one MSI vector, interrupt migration needs to be disabled.
This is because when interrupt migration happens, the MSI data may
change. However, MSI data is already programmed to rings during initial
phase and there is no way to know that MSI data is changed during run
time and reprogram again.
If it is in one MSI mode, disable interrupt migration by adding IRQ
flag IRQF_NOBALANCING.
Change-Id: I54579dfe1e658c1a2c395be93875d013d6e6affd
CRs-Fixed: 3290829