Lite monitor deallocation should happen before mon rings deinit.
Call lite monitor dealloc function before mon rings deinit
Change-Id: I9b93945ccc092ff524555e8a4aa9cd2e3877f70f
CRs-Fixed: 3578630
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
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
Direct switch support to handle Rx cookie conversion
when HW cookie conversion is disabled.
Change-Id: I861d854fbeecc2c70e87be3f289915b7e915985d
CRs-Fixed: 3547681
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
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
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
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
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
Add change to update monitor destination ring interrupt handling
thresholds from INI.
Change-Id: Ibfced2b809ac2101171e8fe9f58e021a5a1f8ccf
CRs-Fixed: 3569507
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
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
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
peer find by mac function is getting used by
many components. so, Movng that to common path.
Change-Id: I390b86af73618661857ed80d478fe4f48bee9fe1
CRs-Fixed: 3563204
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
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
Currently, WBUFF is being used only for WMI TX buffers.
Add HIF CE RX buffers support to WBUFF in an effort to re-use
the copy engine RX buffers instead of freeing/allocating buffers
for every CE RX transaction. This fixes the problem of CE RX
memory fragmentation.
Change-Id: Id9c043a5c5d0882a7994fa03cd8c335555d46b8d
CRs-Fixed: 3534539
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.
Change-Id: I324581691dfe683e0d5b046e19b444928657ce05
CRs-Fixed: 3556423
Currently FISA max msdu aggregation limit is fixed and always
programmed as 0xf, but there are platforms which support different
aggregation limit. So add support to configure different aggregation
limits while sending HTT FISA config message to F.W.
Change-Id: Icbf9b7a48a88dcbfb812e92c8f4032753fc07dc4
CRs-Fixed: 3542497
When the mem_alloc fails and fails to create spinlock
checks the mem allocation before destroying spinlock.
Change-Id: Id4c1a509cd0bb534040040f6948d3307181dc909
CRs-Fixed: 3552551
For legacy tx monitor, we need msdu completion in sequence.
Modifying the return buffer manager id during enqueue will serialize
the msdu completion.
Return buffer manager will be over ride only when tx_monitor
is turned enabled.
Change-Id: I500065077b59b3ea3561ec8fc49af8cbe58c1dfe
CRs-Fixed: 3539636
The data type of pending_action in 'struct dp_soc_umac_reset_ctx' is
'enum umac_reset_rx_event'. We assign the value of 'enum umac_reset_action'
to pending_action.
Hence, replace 'enum umac_reset_rx_event' with 'enum umac_reset_action' for
pending_action.
Change-Id: I3505648827ac6de5ce1c93a21b76c58942fc1f50
CRs-Fixed: 3550309
To eliminate the use of AST, using net dev to
find the peer related information, which helps
in avoiding the iterations of psoc list.
Passing the peer id as addition parameter to DP
Change-Id: I68e4ad8d5d62b2350ed0c2df66279de3fa9c0d83
CRs-Fixed: 3526799
Add INI to disable AST indication. AST disable flag will be
sent to the target in resource config.
Change-Id: If30cac010681faf06bbcaa2d492d6843e3e675d0
CRs-Fixed: 3544223
Use page frag init time rx buffer allocation for efficient usage of memory.
Add ini dp_bufs_page_frag_allocs to disable and revert to original slab
nbuf allocations.
Change-Id: Iac78895addfe9da0118bc071c691a26216d6fda1
CRs-Fixed: 3553800
It adds a set of frag way allocation APIs explicitly.
IPA Tx nbufs change to frag way allocation API, which saves memory.
Current __qdf_nbuf_alloc changes to non-frag way allocation by
default if SKB RECYLCER not defined.
Change-Id: I5f87ffac54c49f9af920775c13b6dfdd147476dd
CRs-Fixed: 3534452
Current HAL delayed reg write is tied to SRNG notions, hence
implement delayed reg write logic in HIF since WCN6450 does
not use SRNG interface.
New feature flag FEATURE_HIF_DELAYED_REG_WRITE is introduced
to disable/enable this support.
Change-Id: Id7087ad53cd5879cf49ee0e84dd727de61137541
CRs-Fixed: 3519702
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
All packets except TID 0 first come to REO error NULL queue.
This happens because only TID 0 queue is setup initially.
Added multipass specific code in NULL queue path.
Change-Id: I8103215ad3e28796c868caa3eec816b9d118da9d
CRs-Fixed: 3482796
Change number of packets datatype to unsigned 64bit and handle
respective print message changes.
Change-Id: I65e1ae90985b7d2fb29ea57f8034f5858491dae1
CRs-Fixed: 3534513