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
In existing code vdev is getting referenced after being
freed, during pdev detach while releasing tx descriptors.
Add code to drain tx descriptiors during vdev detach.
Change-Id: I2ea447d5d0a5be6539fddacb4b1c0b5f4601a71e
CRs-Fixed: 2203070
Traffic will hang during PKTLOG operations for 2.4GHz Mac. The reason
is that Reaping operation is missed for RXDMPA status ring for MAC1.
Add reaping MAC1 along with MAC0 for 2.4GHz band during PKTLOG
operations in mission mode.
CRs-Fixed: 2198593
Change-Id: I8591c6cd85d7970c2d0835e18dbfd74d2aaae08e
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.
Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
In monitor mode, it is needed to reap RXDMP error ring for RING1.
Also need to replenish for RING1.
Add this missing operations.
CRs-Fixed: 2190071
Change-Id: I8cd60c6cb70b472a26d55783d0964e85e99680b9
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.
Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.
Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.
Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.
Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer
Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
Update WLAN-IPA WDI-2 datapath for DMA buffer sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled DMA
APIs return IO virtual address(IOVA) instead of physical address.
This IOVA need to mapped to physical address by IPA module
before accessing them.
Change-Id: I33082bc74760b0f12c348238c6f48f5ce5750172
CRS-Fixed: 2072953
We need to free the chain of nbufs associated to
an a-msdu if its last msdu is not received and the one
received belongs to a new a-amsdu
Change-Id: Id90e58306650ad885caa79271e81de3bf81ee5bd
Add new rx function pointer for connectivity stats
as part of ol_txrx_ops structure.
Change-Id: I91300de995b20e5dfc2c85c780453e63ea14ec93
CRs-Fixed: 2168412
Remove ast entry from the previous peer ast_list and add it to the
new peer ast_list when ast_update is called
Change-Id: Ic6e628ec2c225e6743d042fe3f3e227cb1864a3c
When reaping rx monitor msdu in dp_rx_mon_mpdu_pop, if msdu_ppdu_id >
ppdu_id, then the corresbonding dp_rx_desc will not be added to free list,
and in_use flag still is 1 but it has done nbuf unmap which linked
to this rx desc. meantime, if rmmod triggered then it will go through the
rx desc pool and unmap the linked nbuf that in_use flag is 1, panic
happened. add unmapped flag checking to avoid double unmap.
CRs-fixed: 2201071
Change-Id: Idead32b189f513897deebf646b72585b257151c2
add the nbuf map result checking when replenish rx
nbuf to monitor status ring, this could avoid the
case nbuf map failed and invalid dma address
posted to HW or do unmap for unmapped nbuf.
Change-Id: I45cfc015f71a2d7295f7fcb4803bd6e68e2752d4
CRs-Fixed: 2182546
Disable HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV for Pktlog
Tx path for MCL only as it is currently a requirement
for WIN to keep it enabled.
Change-Id: If162384783139613f1bdad1d3820288a7887286d
CRs-Fixed: 2182626
Add linked list logic to hold all ppdu descriptor status in a list till
all TLVs have been processed
This design handles asynchronous arrival of tlvs from fw per ppdu
Change-Id: Ib8943d7c826c0b441f58f0eaba7ae0bdc0539d9a
Currently variable "tid" is from message, which is used
directly as array size which causes buffer over-write.
To address this issue add check for the array size.
Change-Id: I61ffaef69d97936774d89ee4e745ab509d77adb5
CRs-Fixed: 2200862
In existing code M-copy feature was designed to provide
first 100bytes of payload of self BSS packets.
Add change to enable promiscusous mode and provide metadata and
100bytes of payload of all the packets received by the radio.
Change-Id: I5b1f168028a4fba3a24e9d2ccd0d68c246661d76
Change default DSCP-TID mapping table so that all possible TID
values can be used in transmit datapath.
Also propagate a fix from legacy Tx classification code required
to compute the offset of L3 header pointer correctly
Change-Id: Ia6426817410e67018491c0f4a8122bfae7a1cfe2
CRs-Fixed: 2197640