In flow control V2, dp_tx_flow_pool_vdev_unmap marks flow_pool_id as
INVALID_FLOW_ID. To free descriptors inside pool dp_tx_desc_pool_free
uses flow_pool_id to get hold of pool.
Change-Id: I892052055b34638a1ba876fac6bfcd2ae3b0d5b3
CRs-Fixed: 2228943
Initialize the peer map and peer hash memory based on the config
received from target in service ready event
Change-Id: I8e1b62cd9586f5b2be7acb863a106d2486be1b35
CRs-Fixed: 2223428
a) Configure RXDMA_MONITOR_STATUS to support mpdu_start.
b) Need Monitor other filter in RXDMA_MONITOR_STATUS
to support monitor vap.
Change-Id: I7ac90203f085850906f8c55209a57bb6a5464098
nbufs received on wbm_release ring were chained based on
first_msdu and last_msdu bits if the peer is invalid for these
frames, but these fields in the rx tlv header were in-correct as
hardware does not decap these msdu's.
Based on inputs from firmware we now changed this logic to
using phy_ppdu_id field from the rx_mpdu_start tlv & rx_attention tlv.
Change-Id: Ifc7faa2d1b0585bcc226e5cb2045fcb29d152273
Fill htt msg length before the htt stats response
handler so that the wifistats tool can read the
htt msg data correctly.
Change-Id: I544d1b97c8d74a0115a4a5a509780a6e9c273ab7
CRs-Fixed: 2231948
Update function prototype of dp_ppdu_stats_ind_handler. It should be
same when WDI_EVENT_ENABLE is defined and not defined.
Change-Id: I390d35b3b9f5f283fc3b960f00563fb997ef7f95
CRs-Fixed: 2230955
Add option to ignore vdev_id match to peer hash lookup API
when vdev_id is passed as 0xff to the API, it ignores vdev_id
argument
This option is needed for usecases like peer level statistics
display where only MAC address is known and vdev_id is not known
Also add the missing accounting of rx broadcast frames in the
overall statistics
Change-Id: I9939ac8bf30f6be3d216f9aa28d52560bf445e06
As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
which is 3 active vdevs. So attach flow pool creation to vdev_start
instead of vdev_attach.
Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2220079
Add support in DP WDS source port learning handler to kickout a STA,
when direct associated peer(SA) roams to another AP/Repeater and
reachable via TA peer
Change-Id: I84d0b92c9b4e39c05f4d7c25b3f5afb1d535ca02
CRs-Fixed: 2219924
AMPDU flag check is not present when radiotap header is updated.
This fix will check for rs_flags to check and set AMPDU present
Change-Id: I9e0a703a46459b1013af092f8cb8b7cd35f1a3ce
CRs-Fixed: 2204278
Fix for setting the right length when incrementing Rx Multicast
Bytes value
Fix for incrementing the Tx multicast packet value by correctly
returning the peer pointer to the stats function.
Change-Id: I46d59b7a71936d6eefdcba4419d0737f70aa4d48
CRs-Fixed: 2220973
Retrieve length from every htt msg to
parse the tlv's from the htt msg and also
add statistics counters to account for error
packets in Rx path.
Change-Id: I17105174734975dc0d5093c587697346a8ada725
CRs-Fixed: 2214594
For FTM mode we receive peer map events without
peer created. This change checks for peer NULL case
to access peer vdev.
Change-Id: I1998e33ca3d9338dba939dc760dcf7bfdb70d1e3
Crs-fixed: 2212203
The following changes are added for Tx capture/Mcopy mode
1. Append ppduid for FW generated mgmt. frames
2. Append ppduid received in mgmt. TX completion for host
generated mgmt. frames
3. Reuse nbuf received in HTT msg to send mgmt. payload to
upper layers
Change-Id: I073cafa6389ed1ed835cc3ba4b9421b7a4b97d7f
CRs-Fixed: 2185543
Change the buffer manager from HAL_RX_BUF_RBM_SW3_BM to
HAL_RX_BUF_RBM_SW1_BM to handle regular and error packets.
Change-Id: I696d41f6cf0be1d5045ab27841ccc3ee2afea7de
CRs-Fixed: 2189452
Add a new API to update the stats which will be
called from dp_rx_process instead of updating stats
directly from within the dp_rx_process function
Change-Id: I13bdfd1606c3ceb2e38921ffa0cf3fe9f29c57ee
CRs-Fixed: 2189088
Add enumeration for invalid stat type htt_cmn_dbg_stats_type for
ol_txrx_stats_callback handler.
Change-Id: I8a976737af8f226a1774950170f445c93ebf683b
CRs-Fixed: 2215678
Add change to process packets received for invalid peer
when m_copy mode is enabled
Change-Id: I85aa41ff79e97eee9c696b63717206ac1329078e
CRs-Fixed: 2194058
ol_txrx_tx_flow_control_fp and ol_txrx_tx_flow_control_is_pause_fp are
redefined dp/inc/cdp_txrx_mob_def.h, original definition is in
dp/inc/cdp_txrx_cmn_struct.h. Remove duplicate redefinition.
Change-Id: I2c2af59d8b24360cd09efeb12ea19c0340771bb8
CRs-Fixed: 2215678
API to reset ast entry for son, ast entry active
field will be set on call of reset_api and all the
ast entry active field will reset on call of reset_table
api, ast_flush api will delete enteries in table
Change-Id: I26ed0fff818a112348a7aefba3b028ed40b2fe26
CRs-Fixed: 2209095
At the time of peer map delete_in_progress can be set for newly
created peer in case host send sends the peer delete to FW before
we receive the peer map even from FW
Hence removing the assert to check delete_in_progress flag in
peer map
Change-Id: I28b2f46cf4fdd12bf98ce54dd7dcea68d96dc795
CRs-Fixed: 2216550
If peer with given MAC Address
already exists, just increment the refcnt
instead of allocating a new peer and deleting older
peer object. This avoids unnecessary memory fragmentation.
Change-Id: I76a3ffca4e907fccfdfd1b6857de721623f455d5
CRs-Fixed: 2209045
ppdu tlvs are maintained in linked list and was not freed in detach
path but only freed after wdi post message. This was causing memory
leak to happen
Change-Id: I7b7b49d7ec829a6ef6b99edb1c7999bed713ae49
Create a lock for protecting rx descriptor
pool allocation during initialization and destroy it
during unloading the driver.
Change-Id: Icd489e400dab9bb648709134dcaa24c4d7724aa6
CRs-Fixed: 2215430
Use monitor mode lock to prevent vap down while monitor
vap is still delivering all MPDUs to radiotap Api.
Change-Id: I908d8048afbf3210bddaafc2c19b177ec8209085
CRs-fixed: 2212004
Source SRNG rings like RXDMA buffer rings only need low
threshold interrupts to ensure they are not empty. Disable
batch interrupts by setting batch count to 0.
Change-Id: I5de38caa1fccf162143d9598c0499dd8c5318391
In existing code, the RX payload buffer for M-copy mode contained
RX MSDU payload followed by additional TLV data.
Add change to strip the skb and only provide MSDU payload
Change-Id: I9834fabfb0e26404a620d8419e7c570fff68f182
peer rssi and rx rate stats counters aggregated
to vdev/pdev level so that athstats shows proper values
Change-Id: I4d4a28006c30b1f2eba77bbeaddb9723626166db
In dp_rx_get_free_desc_list() corrected the
return value in case when the number of requested
rx_desc are not available in the pool
Change-Id: I3de026726e885b8fe707f7c7318cc1936be73e65
CRs-Fixed: 2202247
Stats counters for BW were not printed correctly due to difference in
mapping of BW on host and FW.
Also added Tx NSS stats during aggregate vdev stats
Change-Id: I348a5f9f974544ffe17ba403cd64769eff05c9b5
CRs-Fixed: 2203582
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.
Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869