As part of debug enhancement Print ring information in
htt srng init and htt srng cfg
Change-Id: I59a7831b6ded1028b3a8f246656e982ae7de5b86
CRs-Fixed: 3133836
Update enhanced Tx stats from Tx HTT PPDU completion path in WKK.
Define and use function pointers for architecture specific
functionality.
Change-Id: I4ba443647dbd81c83e899c0f88c5d9a4cc695e14
CRs-Fixed: 3132255
Define macro for maximum mcs values for 11AX and 11BE.
Also move bandwidth enums to cdp header file.
Change-Id: Ic24b9fa459b160702fa35162955c6bcdf678c97f
CRs-Fixed: 3134964
Rate statistics are updated at both peer and vdev level in Tx HTT
and Rx monitor path.
As per peer optimization changes, macro DP_UPDATE_EXTD_STATS is used
for aggregation of extended stats and this macro is used for both peer
and vdev stats query.
With this approach, when user requests for vdev stats, then rate stats
for vdev are updated with the rate values of the last peer present in
peer list of vdev and this results in wrong output.
In order to fix this, add an API to update the rate stats for vdev
separately.
Change-Id: I546a130e84f7fd577b80ace24e1dbb71000c0698
CRs-Fixed: 3132195
During undecoded mode capture reset expected to reset
only phy error filter flags. But disabled monitor mode
capture filters as well. This resulted a backpressure
in monitor mode destination ring.
Added an appropriate check to disable only phy error
filter without disturbing monitor mode filter setting.
Change-Id: If3ef8e9f41f32dff30773aeb939256920c515800
CRs-Fixed: 3137636
Define API to get the link peer_id using peer_id and lmac_id.
This is required in Rx monitor path for stats updation as Rx
monitor provides MLD peer id, whereas stats updation is done
for link peer.
Change-Id: Ib1c9e2729ccaea2e28272b7d175b3ef7fba9fd7a
CRs-Fixed: 3133003
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.
Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
dp_is_hw_dbs_enable() is checking DBS and update number of
MAC rings value, current function name makes confusion.
rename it to dp_update_num_mac_rings_for_dbs().
Change-Id: I82540a943445560a99e27067e58d59035147208b
CRs-Fixed: 3131546
Ageout flush does not happen for WBM2SW4 if there
is only one TX completion pending in FIFO and all the
other WBM release rings are not active. This is due to
an issue in HW and this prevents suspend to happen due
to pending tx completions.
Fix is to avoid using WBM2SW4 release ring and instead
reuse WBM2SW0.
Change-Id: I250d8c9d460895449939212ebdb7abd62edb0234
CRs-Fixed: 3124733
check null pointer for soc return val and
check array index input for out of bound access.
Change-Id: Ib1d52f70128eaf9ba24e9024440490e470fec3d4
CRs-Fixed: 3127451
Currently pn-check logic for OOR frames does not take into account
the security mode. For open mode case, BE hardware does not populate
current and previous pn_numbers. Hence a PN-check comparison may yield
incorrect results.
Check for secure mode, before checking for PN numbers.
Change-Id: I398872d467058bc1ee1d04c811818ea20c5aec7e
CRs-Fixed: 3129986
Bifurcate the hal_get_reo_qdesc_size to corresponding lithium
or Berillium platforms.
This can handle difference, if any between them and later enhance
to set the qdesc size based on peer negotiation.
Currently for NON_QOS_TID, the BA window size is hardcoded as
256 for Li and 1024 for Be.
Also modify hal_reo_cmd_update_queue_params to accommodate higher
Block-Ack Window size. For this steal bits from pn_size and use
pn_size values as macros PN_SIZE_XX which is only 3 bits,
instead of 8bits.
Change-Id: If310175da579aa3a47a8b031a1774c6c8982d4b2
CRs-Fixed: 3125986
Disable monitor mode on sdx65,it will save 5MB buf,
and improve iperf performance.
Dp_rx_buffer_pool_refill is used monitor mode in
MCC, and rxdma1_enalbe=0, we don't need this logic.
But in WIN side, only monitor mode need this logic,
and rxdma1_enable will set true.
Add func dp_monitor_pktlog_reap_pending_frames and
dp_monitor_pktlog_start_reap_timer in dp_internal.h
for compile issue.
Change-Id: I43fee6d7a1836063a7539c3bd4745eef15a4e4b2
CRs-Fixed: 3129542
Ignore peer if it is missing txrx_peer in reinject path while
going through the peer_list. This condition can hit when the
peer_setup call from the control path is not yet received for
the peer.
Change-Id: Ie57d07353f33749a439415d808fc010702c3c884
CRs-Fixed: 3130821
The monitor status ring is configured for filtering
in undecoded phy error packets. Each phy error can
be controlled using a specific error mask configuration.
Added below cfg80211tool command to configure phy error
mask for filtering undecoded phy error packets.
cfg80211tool wifix set_phyrx_error_mask mask_0to31 mask_32to63
cfg80211tool wifix get_phyrx_error_mask
Change-Id: I5e4f6a49458cc534d6d1d0f7f2a7424f3cc747b4
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
from hal ppdu_info rx status and generate WDI event to deliver it
to upper layer
Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
Flush dp cached frames only for mld peers and legacy peers, as
link peers don't need it.
Change-Id: I19a27c5810a1fec6a62bfe5a6377073dc382fb4c
CRs-Fixed: 3131405
Add default queue map config msg handler. This msg is sent by the target
in response to a default queue map request.
Change-Id: Id08e0b175172614514b9fb2dcabcc5f7f068896f
CRs-Fixed: 3126854
Support TX completion and RX delay tracing by Ftrace for KIWI,
Add generic IP protocol packt tracing like ICMP packet.
Change-Id: Ie0c4b1764ce953fd2ed41fc5eea8aa28c8d427d9
CRs-Fixed: 3126080
For 1x1 DBS case, host also need to configure max_mac_rings
as 2 and initialize each RX ring, currently host only consider
2x2 DBS case.
Check DBS capable instead of 2x2 DBS capable only.
Change-Id: Ic2d4fda9be245a3d0448b6b87ba8676f41d9187e
CRs-Fixed: 3129165
2x_pdev changes are include for support new IPA API's
and change the existing API's argument to support new
parameter which is ipa handle, create a new API to get
the IPA hdl from IPA component in DP
Change-Id: I3d2b378620dbd1e64d295623534126e0eebc2d28
When kernel calls driver callback to get stats, dev_get_stats()->
ndo_get_stats64() .Host driver allocates memory using
kmalloc (size, GFP_KERNEL) routine,
but as ndo_get_stats is under RCU lock but not in interrupt
context(in_irq = 0, in_interrupt = 0, irq_disable = 1),
qdf_mem_malloc () uses ‘GFP_KERNEL’ to allocate memory,
leading to backtrace for sleeping function call from invalid
context.
As per kernel doc
(https://www.kernel.org/doc/Documentation/networking/statistics.rst),
while in ndo_get_stats64 () API, driver should not calling a routing
which can sleep. Use atomic variant of qdf_mem_malloc() to fix this.
Change-Id: I775f53dd1e8165e962321215e65d46142fb3b3cc
CRs-Fixed: 3128647
Adding SAWF ops for CDP and adding SAWF context
to DP peeer.
Add calls to initialize DP SAWF peer context
when DP peer is created.
Change-Id: I7efb89ae18a28c8b070ad9fcee7754553caa7ff3
CRs-Fixed: 3118160
Currently the monitor buffers allocation is attempted
for 2 RXDMA monitor status/destination rings.
For certain targets, eg KIWI, there is only one RXDMA
monitor status/destination ring, and the monitor buffer
allocation for the second ring fails. This return status
is not handled properly.
Fix the monitor buffer allocation to use the number of
rxdma rings from cfg context and handle the return status
properly.
Change-Id: I86718dbd790d96d794963b17a4c9bdf32792d854
CRs-Fixed: 3128299
Specify vdev_id in bitmask format for HW vdev stats reset instead
of directly specifying the vdev_id.
Change-Id: I6e3cecdc83d01ecdfdeca3236e94cc91c57511ef
CRs-Fixed: 3128590
MO stands for Monitor Other which is a filter setting specified by
host to hardware to receive TLVs for non-associated clients.
In case of enhanced stats and smart monitor, non-associated clients
are not considered and therefore disable filter settings for MO for
these features.
Change-Id: Ic533072ff668c7ab54188101a889882c4ee4ba4a
CRs-Fixed: 3123784
Add change to fetch and save the WMI service capability of FW to
support multi AST delete using service bit
Change-Id: Iba1af7c230574ae68086357cbb49ae3ca3d944e4
CRs-Fixed: 3118892