Replace QDF_TRACE in dp_full_mon.c file with the
macros defined for QDF_MODULE_ID_DP_RX_MON_DEST module
Change-Id: I3f657ae760a9fd8f0bd5509d54a58fc874297461
STATUS_BUFFRE_DONE tlv written in first word for a status
buffer indicates that DMA is done for that status ring entry.
In existing implementation, for a status ring entry if
STATUS_BUFFRE_DONE tlv is not written by HW, we poll on to status ring
entry until DMA is done by HW.
During lmac reset it may happne that HW will not write STATUS_BUFFRE_DONE
tlv in status buffer, in that case we end up polling infinitely leading
to backpressure on monitor status ring.
As per MAC team's suggestion, when HP + 1 entry is peeked and if DMA
is not done and if HP + 2 entry's DMA done is set,
replenish HP + 1 entry and start processing in next interrupt.
If HP + 2 entry's DMA done is not set,
poll onto HP + 1 entry DMA done to be set.
Change-Id: I2da5a16ec901764fcb88c417f599d7a1344bcea0
CRs-Fixed: 2744602
In few scenarios,dp_get_pdev_lmac_id shall returns null.
To avoid this added a null pointer check to avoid the dereference issues.
Change-Id: I5a859c81295a49afd3fc083c6611eceec414d2ca
While monitor ring processing, do not assign ppdu_id to
pdev->com_info.ppdu_id in order to avoid duplication at HAL layer
processing
Change-Id: I2ab8e955bba7494c2fca45d8be9dbf2a5eb8c4bc
CRs-Fixed: 2740395
For full monitor, it is observed destination ppdu_id
and status ppdu_id mismatches.
a. If status ring ppdu_id is leading compared to destiantion ring
ppdu_id, drop destination ring ppdus
b. If status ring ppdu_id is lagging compared to destiantion ring
ppdu_id, drop status ring ppdus
c. Handle warp around scenarios
CRs-Fixed: 2686747
Change-Id: Ie059c891347d4ff59b230881d5a9049d8acf279e
If status ring and destination ring ppdu id mismatches,
a. If If status ring ppdu > destination ring ppdu,
drop destiantion ring ppdu untill it matches status ring.
a. If If status ring ppdu < destination ring ppdu,
drop status ring ppdu untill it matches status ring
CRs-Fixed: 2677655
Change-Id: I80638245a09c3ed5846c0e71c8ad94e1c22c9014
For qcn9000 in case of monitor mode, reap monitor destination
ring first and status ring later to avoid backpressure
on monitor destination ring
Change-Id: If107d40471a4d01ce8d42054ed844b98217e60cf
CRs-Fixed: 2670656
a. Add attach and detach for full monitor resources
b. Read 'sw_monitor_ring' descriptor and pop MPDU
c. Replenish buffers and link descriptors back to HW
d. Form a MPDU queue per-ppdu and all MPDUs per-PPDU to upper layer
Change-Id: I5abff75354dd3686491d4fee3c3c4612a3ca3e15