Calculate last_per based on unicast packets and success packets
in last one second
Change-Id: I8b469e5d9c1e40498b3267bf7bdf3149159bdc31
CRs-Fixed: 2343479
Removet the host ast_entry after sending delete ast_entry
to the firmware. This will handle the situation where we
might receive an add request for the same ast_entry,
while we are waiting for delete response from the firmware.
Change-Id: I105504a9c6a1e8e53bef9f3d011c10f846fd098e
CRs-Fixed: 2347989
Add new flags for MEC and DA enable/disable
and keep it independent of WDS enable flag
Change-Id: Idb49c45ebb34a38f876dbdb293806c4e96d49b5d
CRs-Fixed: 2336332
Add support to handle Tx completion processing and Rx processing into
different NAPI threads/contexts for Lithium DP
Change-Id: I4f5c6ef3ce969ce457e26cf3e8305df1ae782f09
Add support to configure a specific tid for unicast packets derived from
multicast packets.
Set the user provided tid value when both multicast enhancement and
tid_override_en flag is set.
Change-Id: I770166a37c920a7e642c6649f918456846fb5f90
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2342717
Add reference for peer before adding ast entry
Reference is taken to avoid any synchronization
issue wrt to peer when adding ast entry.
Change-Id: Id3116daed84ad15eba515fedddb1146845542742
CRs-Fixed: 2335943
mon_lock is created only once for each PDEV, but is destroyed
according to the RXDMA number. Need to ensure this lock is freed
only once.
CRs-Fixed: 2338573
Change-Id: I3630dd0a3aaf808fa910cd40864042bf23ecc79e
Currently buffers reaped in REO exception ring handler are being
replenished into 5G MAC ring always.
Fix this by using appropriate MAC ring for replenish
Change-Id: I04f5a1179a7df4b018b6a0b435e2a0421ef534e5
Invalid status completions have already been accounted
in the counters. Remove error message for every
invalid status completion as it would lead to excessive logging.
Change-Id: I4af025f3a8731e8488d1d49799c65399a6cc9e37
CRs-Fixed: 2342963
The excessive/unnecessary ERROR level log during defrag_flush will
cause WDOG timeout on MSM platform. Also, it will lead to the
spinlock be held too long.
Move them out of spinlock, and de-priority/remove unnecessary one.
Change-Id: I3501e0e40a268f073c80ab36abfe762a007e5672
CRs-Fixed: 2342065
there is a use after free case observed with the
recent changes to wait for a WMI WDS delete response
Basically the peer got deleted by the time we got
response for WDS delete and we are trying to access this
peer when trying to delete the AST entry from host.
Change-Id: I78215345ccd12d5bdd801fccf8d9f5cd196466de
Add support for parsing AST entries to resolve the RA for
multicast enhancement (mode 6) and enabling access of the API to
the higher layers through the use of the CDP framework.
Change-Id: I909bea86b90c22f311484c0b2653dd7623971c24
CRs-Fixed: 2333014
Interrupt batch count configuration "dp_int_batch_threshold_other"
was initialized to wrong values, which was causing missed interrupts
from REO status ring.
Also remove the extra RXDMA2SW ring handling, which is currently
done in both UMAC and LMAC interrupt processing loops.
Change-Id: I9a9e951780356db6b491d1301d2c08ef1ac585d5
Add debug logs for AST add, delete
and update functions under debug
level trace for debugging purpose
Change-Id: I2a1728fc97cdd00dd9bdabab5a6055e9f8464e65
Using wds_en flag to control ADDR search flags in Transmit Descriptor was
causing DP to wrongly use ADDRY search instead of ADDRX search
on WDS repeater for DBDC repeater and SON scenarios.
Fix this by removing the use of this flag in dp_tx_vdev_update_search_flags
API
Change-Id: Id8ca40f926d58b8267e89d30c2b54cc42b4d4182
CRs-Fixed: 2335867
Replace ol_if interface with WDI for dp stats updation to upper layer.
Define a new CDP API to get radiostats.
CRs-Fixed: 2326789
Change-Id: Ieaee2fe18fc9a0ad0e259e36f59529fe9bc4e208
Avoid processing tx rate stats if STATS_USR_RATE_TLV is not processed
in htt_ppdu_stats
Change-Id: Icce8ca0b351ae1ae784ba605d1d984dcdd033715
CRs-Fixed: 2316130
Add iwpriv <interface> txrx_stats 29 and
iwpriv <interface> txrx_stats 30 to print wlan_cfg
parameters for both soc and pdev.
Change-Id: I666fe4fa999e82e92ea2961ab662e3e629b58bc7
CRs-Fixed: 2331949
1. While saving ast_entry of type DA, use bss_peer.
2. Display the correct peer_mac_addr in ast_entry of type DA
Change-Id: Ic6150d6e3fc0b1c1274844ea6685df6b66afd811
CRs-Fixed: 2332417
Support Monitor Mode for QCA6390 as RXDMA1 block is
now removed.
1. Monitor buffers are now received on rxdma_err_dst_ring
2. RXDMA1 monitor status ring is moved to RXDMA0 monitor
status ring
3. Msdu link descriptors are now returned to WBM descriptor
release ring.
4. Reap the Monitor buffers and return it to SW Refill ring.
5. Use the same rx descriptor pool for regular and monitor data.
Change-Id: If41e5d13f942da2b97e5aab72b88ae344925ba67
CRs-Fixed: 2297300
invalid peer stats in rx when m_copy is enabled,
adding stats for invalid peer at pdev level
Change-Id: I394cfad0642eeb66062d8ab79858a8d7720d8c9f
CRs-Fixed: 2309099
Ageout MEC entry after two minutes of inactivity and changes
included to modify existing WDS entry of a peer to MEC on promption
Change-Id: I0ad89671a053250413cbadad2d495f5abff89ac2
CRs-Fixed: 2316368
Maintain SG/TSO desc_cnt at pdev stats instead of ingress
stats to support legacy stats and change the fw_rem counter
to cdp_pkt_info to have packets and bytes information
for legacy platforms as part of convergence effort.
Change-Id: Ib908e8d1c1d78d191418d3884f41f981ba002b54
There are several duplicated spin unlock function calling in the
AC based TX flow control path. Remove this redundant codes.
CRs-Fixed: 2329973
Change-Id: I483bf97612b8e56f745360a3e84fbdff8c357ea9
In dp_soc_dettach flush the reo command list before freeing
pdev to avoid use after free of pdev memory in reo command
callbacks
Change-Id: I2644b259ed9b10dee9b11007ed9064dd7d2399a9
There will not be any AST entry
for HMWDS Seconday
Hence add check for the same in
del_peer_del_ast to avoid deletion
for such entries
Change-Id: Ia96856d93531200e27e0d0a97b80ed6ec1baa42b
MultiVap if no sta associated or monitor mode,
data packets do not carry any rx rssi
or rate values while aggregating pdev or vdev stats.
Do not update for vap in if rx rssi or
rx rate value is zero.
Do not attach monitor vdev to vdev list
Change-Id: Ie64a05d795660d557d928cb9b874fa5e702f4f55
Add a flag for AST entry to indicate if AST entry is
mapped to AST table and use this flag while dereferncing
ast table with ast_index in ast_entry
Change-Id: I8c90f3c40116e24303aac8a7bd53e8f5b67e22bf
To avoid race conditions where BA window size can change, always
flush entire REO descriptor from HW cache irrespective of current
BA window size.
Change-Id: I608996722e7dc2dc6acfd145b8c190b58ce09822
CRs-Fixed: 2251811
In STA roaming scenarios it is possible that an
AST entry for a given MAC address already exist
on the other radio
Delete the existing WDS AST entry on other radio
if present before adding the new wds entry on the
current radio as part of WDS source port learning
Change-Id: I15ef79be0441f3b27fd55e728f5bb27b073c6469
CRs-Fixed: 2334625
SA might be valid for the mac address after AST entry is deleted from
host AST table as GSE caches the AST entry on other radio even after
it is deleted.
In this case send add AST with updated peer and vdev
Change-Id: I6178785f158a0323bb5dc86179db29785c3a392e
- Support to pass IPA enabled(disabled) flag from ini to DP layer
- Use ioremap call to translate tx_comp_doorbell_paddr obtained from
calling ipa_setup api to tx_comp_doorbell_vaddr. This is needed to
write the initial value of HP at the doorbell address.
- Change REO_DST_RING_SIZE and WLAN_CFG_TX_RING_SIZE to 1023
for napier/hastings if IPA is enabled. This is needed because,
ipa_setup API can handle only 16-bit values for the size param(bytes)
of the ring.
- Disable hash based flow steering for SAP peers in case IPA is enabled
and set default reo_dest_ring_4 as default RX ring. Since IPA will be
reaping RX packets from reo_dest_ring_4 only, flow steering is not
needed for SAP peers.
- Unmap pre-allocated TX buffers for IPA in the TX completion ring.
- Donot execute IPA functionality if IPA is disabled from ini.
Change-Id: I6855bfe293a457ccc0abd1ad5567f5c95232a9d2
CRs-Fixed: 2183519
Datapath supposed to be HLOS-agnostic, but there is some use of
Linux fixed-width types u8, u16, and u32. These should be replaced with
C99 fixed-width types uint8_t, uint16_t, and uint32_t so that they will
correctly be HLOS-agnostic and work on non-Linux targets.
CRs-Fixed: 2326406
Change-Id: I8f9099a0170e4f94a54cdd6cc6c2e321a29af717
Change Ia75f88c03c4d0eba0edbebf8e8f40d41396543d5 initialized the
ast_idx to 0xFFFF, and when deleting ast for self BSS of STA mode,
this index will be used to access ast_table whose size is less than
0xFFFF, and OOB may occur.
For AST of STA's self BSS, do not clear the related ast_table.
Change-Id: I3ceffd216061950024a524b25f1d38c43e1ee0e4
CRs-Fixed: 2334039
As multicast is supreset for mcast and bcast,
derive pdev unicast stats only from to_stack and multicast.
Change-Id: I207e1e1d1950b52e0758aac539c79c1865192371
CRs-Fixed: 2323824
ensure we setup tid queues only if default route is set
Also we no longer set default route or tid queue setup
for BSS Peer.
Change-Id: Id240b9b8ddd67136ff85e1098840938928857fc4
Tx descriptors that belong to a particular vdev are released in
vdev detach path. Since DP soc is not detached yet, interrupts
are not disabled, so it is possible that host gets completions
for same tx descriptor and it tries to process it again.
Add a check for vdev in tx completion path to avoid duplicate
processing of tx descriptors
Change-Id: I5a62ef4d981dbfd0a5ca7483acf4270145d016be