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
Update stats API with xmit type. Ingress stats will
be stored as per the legacy/mlo xmit type.
Change-Id: Ic7612a4cf6a4099d6a51dc1cce94c4c3d713672c
CRs-Fixed: 3561679
Stats updating functions will take an extra argument to specify,
under which xmit type respective stats should be updated.
Change-Id: I5a66f796079d177c87ac5bde7483c6431ed9bce6
CRs-Fixed: 3561679
Currently host is not printing peer info in
dp_get_peer_state, due to which its difficult
to check for what peer state is returned for
which peer.
To fix the issue print peer info in dp_get_peer_state
and print additional peer info in dp_peer_mlo_setup
and dp_peer_state_update
Change-Id: Iccaf46f1eb778c42e5039da14499b82502508727
CRs-Fixed: 3620093
We are caching status desc till truncated end reason.
Now if quota gets over before non truncated end reason
will exit from srng processing.
And before next napi if wifi down happens then during
pdev deinit we are not flushing cached status and packet desc.
which leads to duplicate desc because after
init we are resetting freelist to start of desc pool and
we still process previously cached descs.
Flushing all status and packet descs during mon pdev deinit.
Change-Id: Iaea1115f1660d0b35bf284d9b485ac86bfccf5c6
CRs-Fixed: 3587299
Since qdf list related structures are referenced in
'cdp_txrx_cmn_struct.h' when WLAN_FEATURE_TX_LATENCY_STATS
is enabled, include 'qdf_list.h' explicitly for such case
to avoid possible compilation failure (we've got failure
in Lanai perf build without this change).
Change-Id: Ib84c0ea0501475b9548033e5e74177ab95f3260b
CRs-Fixed: 3621305
When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.
Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.
Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
Use per pdev page frag cache to allocate page fragments
to efficiently use memory.
Change-Id: I8a16175ac72d56bcd9783ff0590710aa779454cb
CRs-Fixed: 3611781
Currently only peer mac address is logged if
failed to find peer, there is no log for vdev id.
If caller has passed wrong vdev_id from current
error print one can not identify the issue.
So to fix the issue add vdev id to error log
to check if vdev_id was passed correctly.
CRs-Fixed: 3616476
Change-Id: I3c500784e744f37dd8a1a2a7b84c7b94baf13149
dp_request_rx_hw_stats allocates memory to rx_hw_stats
and dp_rx_hw_stats_cb frees the memory. There can be case
that dp_request_rx_hw_stats is timed out and host
receives event from HW, if pending_tid_stats_cnt is 1
in that case rx_hw_stats will be freed from dp_rx_hw_stats_cb.
In case of race between request timeout and REO event
dp_request_rx_hw_stats will try to access the rx_hw_stats in
request timeout case which can result in use after free issue.
To fix the issue set rx_hw_stats = NULL in event callback
and add NULL check for rx_hw_stats before accessing.
CRs-Fixed: 3618526
Change-Id: I5dec8a1f94d309b5482f766e94fe5fd831a689d3
Currently host does not maintain TX completion stats for
MCAST frames separately for STA mode.
Add support to update MCAST stats for STA mode.
CRs-Fixed: 3608640
Change-Id: Ia28a4cd332783a6767704cd0c479235ff27ddd8b
The timestamp values in umac reset context saved using uint64_t data type.
Hence, use '%llu' to display these values.
Change-Id: Ifd1069d0d8fdb9c6e7d91bc087d064ef11e3aec4
CRs-Fixed: 3613628
Handle completion of packets with release source as FW even if
ultrafast path flag FASTPPATH_SIMPLE or ppeds flag is set.
Change-Id: I3d6a4bf23000d2ccf0a1a8546a9db3dc63a793e6
CRs-Fixed: 3616109
Receiving MPDU end TLV length as 0
because TLV compaction is enabled and
wmask for mpdu end tlv is set to 0.
Adding word mask for MPDU END TLV.
Change-Id: If065cbf19f979734123a433e467a8a9bb8a1013a
CRs-Fixed: 3613053
For CFR test, monitor reap timer will start, meanwhile
irq for monitor status ring is also enabled, these two will
conflict and access mon_pdev->rx_status_q in the same time,
skb double free issue is reported.
If irq for monitor status ring has been enabled, skip to start
monitor reap timer which is unnecessary.
Change-Id: Ic015d370cb80604d7e4c261054ad529b64edca25
CRs-Fixed: 3614097
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
This change removes two MACROs: DP_RX_REFILL_BUFF_POOL_SIZE
and DP_RX_REFILL_THRD_THRESHOLD because they have been made
configurable. Thus, they can be customized as per platforms.
Change-Id: Iba63b6fc9c9a0be764d35882f60c61867f969afe
CRs-Fixed: 3602356
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
Currently soc->ipa_mapped flag is set to true only after all
the buffers are SMMU mapped to IPA. This leads to a race
window where Rx buffers routed to WLAN HOST in the replenish
path are not mapped to IPA, as the ipa_mapped flag is still
set to 0. The fix is to set the ipa_mapped flag to 1, right when
the IPA pipes are enabled, before waiting for the complete
buffer pool to be IPA SMMU mapped.
With this fix, RX buffers can be unmapped and mapped to IPA
domain in dp_pdev_rx_buffers_attach() and
dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path when
ipa pipes are enabled.
This change also renames ipa_mapped flag to ipa_map_allowed.
Change-Id: Ibbe50cb211f858a3372e31644df2f5e98f99a292
CRs-Fixed: 3569745
Add support to trap protocol tagged packets for the unique
metadata to send it as trigger to standby application
Change-Id: I76644477d1df2a0851472283623c1dc3dbe19b8b
CRs-Fixed: 3608436
Wait for firmware response only if the response
is pending after posting the txrx stats query to firmware.
Change-Id: Ib300f97bc2cc08a2947be9021ff3e399191d1c8e
CRs-Fixed: 3599915
add new ini to configure skb size and change it in each place its used
correspondingly
Change-Id: Id00c6351bf6bc1b9df5e19064b2057dadd315e9b
CRs-Fixed: 3584462
Currently from dp_set_peer_param while calling dp_set_peer_freq
there is direct return which can result in peer refleak. as there
is reference taken in dp_set_peer_param.
To fix the issue instead of direct return break and release reference.
Change-Id: Ic3cfe993de64566afc13157810b80d3b3b28d244
CRs-Fixed: 3608000