Commit Graph

40 Commits

Author SHA1 Message Date
Shikha Bakshi
7c42aed98a qca-wifi: Remove FL macros from logs
Remove FL macros from logs as it is already being taken care
of bu QDF_TRACE

Change-Id: Iaceae56e4b91eefe9da9cbb7e1df254b78f70446
2020-12-24 02:34:47 -08:00
Shikha Bakshi
51ac5a4837 qca-wifi: Modify logs for module ID QDF_MODULE_ID_DP_TX_CAPTURE
Add macros dp_tx_capture_info, dp_tx_capture_info_low,
dp_tx_capture_high, dp_tx_capture_alert, dp_tx_capture_err,
dp_tx_capture_debug to define logs.

Change-Id: I32f31638d1e197f1c2b0a9b5d956a002948047df
2020-12-17 10:25:38 -08:00
nobelj
968aa5d1a5 qca-wifi: add fix for peer mismatch and xretry mpdu
added fix for below issue

peer derived from peer_id for a radio return peer
from different radio which cause corruption in the queue

current we store xretry mpdu queue to ppdu desc user
which live for short time. added fix to use
xretry mpdu queue from peer user.

Change-Id: I320e3aae9f3df25aff5a6769acc4c037f40ced5c
2020-12-11 02:03:36 -08:00
Linux Build Service Account
529e160dec Merge "qcawifi: Use timer to schedule work queue for stats process" 2020-09-18 17:36:03 -07:00
Kai Chen
78c7be2508 qcawifi: Use timer to schedule work queue for stats process
Use timer to schedule work queue for tx capture stats
process to fix the deauth missing issue in tx capture
when AP is down.

Change-Id: Ie1d1e3fa9f576cd6034fe6035ef933b1e78df99b
2020-09-03 11:39:40 -07:00
nobelj
cde48bdd58 qca-wifi: tx capture memory leak fix
Added memory leak fix and added assert in few more
places to capture other corner case issues.

Change-Id: I5c728f73aafa20b7d65f74e866e652fd8c73de83
2020-09-01 11:38:25 -07:00
Manoj Ekbote
2de00c0bd2 qca-wifi: Use atomic operation in peer tid queue init
tid queue init can be called from peer MAP event handler and peer
setup functions. Since they can run at same time because of the
sequencing, make init_done an atomic variable and set it before
allocating the retry ppdu. Otherwise, it can result in double
allocation and memory leak.

Change-Id: I354bf2763b8ddedcf83f04eccccaafc329eac66d
2020-08-28 09:59:58 -07:00
Chaithanya Garrepalli
fe5cbcd4ab qca-wifi: use the generic peer iterate API
Use the peer iterate APIs to iterate through peers
in vdev list at vdev, pdev, soc level

Change-Id: I983d825a780d76370ecb652e5151029df0334a26
2020-08-11 03:35:15 -07:00
Linux Build Service Account
fba80373cc Merge "qca-wifi: Fix tx capture tid init issues" 2020-07-27 13:37:05 -07:00
Linux Build Service Account
c4aaaef829 Merge "qca-wifi: Memory optimization for PPDU stats" 2020-07-26 23:49:36 -07:00
Manoj Ekbote
2d96374ca3 qca-wifi: Memory optimization for PPDU stats
Currently, per-user information in Tx PPDU completion is allocated for
37 users though FW may send information for fewer number of users. In
new scheme, FW provides number of users in USERS_INFO TLV and host can
allocate the per-user struct based on this number. This can save memory
while processing each completion message.
Make related changes in tx capture files to use pointer instead of fixed
size member.

CRs-Fixed: 2730933
Change-Id: I8709665a481d64dc4ab086ce9b27e8837c38b53f
2020-07-23 23:21:21 -07:00
nobelj
36e778c0f8 qca-wifi: Add support to store and display ppdu desc
Debugfs is added to store the last 30 ppdu desc and display
as readable format to user. Feature of storing ppdu desc is
enabled through debugfs and it is not enabled by default.

Change-Id: I85ff52760462abd9a6e33d082db45d8179e67c0d
2020-07-23 03:15:57 -07:00
Srinivas Pitla
d0e7ec087c qca-wifi: Fix tx capture tid init issues
For some peers, tx capture tid init is not invoked,
It is resulting in ppdu_desc leak.

Invoking tid init on tid peer update, if tid is not
initialized.

Change-Id: Ia49c7e6d093a42e57e8d9239a60ad0b8dabfcc5b
CRs-Fixed: 2718150
2020-07-21 11:29:38 -07:00
nobelj
1c7273d13c qca-wifi: tx capture modify config lock with user mode flag
user mode flag is added instead of config lock.

Change-Id: Ie83823d1bfff9b50fe3e87faa929882cfeb8b5c7
2020-06-30 12:44:18 -07:00
nobelj
221302d6bc qca-wifi: Drop msdu on queue exceed threshold
Add support
a. Drop msdu on queue exceed threshold of 4096
b. Add support to print consolidated peer tid queue.

Change-Id: I2b91b151531c839657716ac52987cf5e4a62e7cc
2020-05-04 23:25:52 -07:00
nobelj
0d28ccb9e9 qca-wifi: Support MU in tx capture mode
Support tx capture for OFDMA and MIMO packet

Change-Id: I24ed22168f5aec30c6c2281028257037f860f3c6
CRs-Fixed: 2621791
2020-04-26 01:40:05 -07:00
nobelj
9bd45e8e5b qca-wifi: Drop ppdu descriptor in pending ppdu queue and other fix
a. ppdu desc in pending ppdu queue is dropped on queue length exceeds
threshold which is 32.
b. configuring ring map for soc only once.

Change-Id: I7398a478ce9e4d974d9ecc2a06d30821f151a1b5
2020-04-24 13:15:18 -07:00
Christopher Chopp
cf78ddd987 qca-wifi: Add frame types to TX Capture
The current implementation of the TX Capture
feature assumes a non QoS 3 address frame for
each frame. If a frame is a QoS frame, the extra
fields are manually added, but if the frame is a
4 address frame, there is no handling. Add QoS,
4 address and 4 address QoS frame types to the
TX Capture feature and update accordingly.

Change-Id: Idd7f8f55a5543718f52bc38be396d671b87b54bd
CRs-Fixed: 2636684
2020-04-14 16:38:53 -07:00
Srinivas Pitla
e13d2f6375 qca-wifi: Fix RTS and CTS duration in tx capture
This change updates correct timestamp for self gen RTS/CTS frames

Change-Id: I934de171f7d78288a91b57581c9cdb0ff48b9067
CRs-Fixed: 2632369
2020-03-27 10:26:00 -07:00
Kai Chen
f4aeb4b87e qca-wifi: Fix the issue on block ACK for BAR frame
Fix the issue on block ACK on response to BAR frame.

Change-Id: Ib8b8b55994ed44ed73a4272e0246f0f688118352
2020-03-09 15:56:18 -07:00
Linux Build Service Account
7022f867ec Merge "qca-wifi: Add support for noAck frames for TX capture" 2020-02-28 14:36:21 -08:00
nobelj
c42f615d91 qca-wifi: Fix for tx capture softlockup on mode change
In tx capture, while changing the tx capture we run into
soft lock up. The fix addressed the soft lock up issue.

Change-Id: I0cb6abb9ede2fb0a5d380e6986ec14dcaa31a13f
2020-02-24 22:54:13 -08:00
Amit Shukla
bc3ff96089 qca-wifi: Add support for noAck frames for TX capture
noACK action frames are generated in response to NDPA
frames.

Change-Id: Ib441041353050e7a4736e1e5830dbfd5d08e0f50
CRs-Fixed: 2622583
2020-02-21 14:13:25 -08:00
nobelj
a503717b9c qca-wifi: Support mgmt packet filter based on mac address
tx capture mgmt packet peer filter are filtered
based on RA mac address.

Change-Id: Ib5a5b4d6fc8170e711127e3d15b4389330da9f11
2020-02-13 22:45:38 -08:00
Karunakar Dasineni
f7e9e55e85 qca-wifi: Support HW generated CTS in Tx capture
Generate CTS frames when RTS is received for Tx capture.

Change-Id: I18facb952bbdc3f34fd2403806b7cd5c9c6f18d4
2020-02-11 10:24:47 -08:00
Linux Build Service Account
c339a0ffb2 Merge "qca-wifi: fix the issue in block ack/ack for tx capture mode" 2020-01-28 19:39:18 -08:00
Kai Chen
b49539b149 qca-wifi: fix the issue in block ack/ack for tx capture mode
1. Hanndle BAR frame.
2. set rate for ACK frame.
3. Check block ack session and use block ack if block
ack session is established.
4. no ACK for broadcast probe request.
5. no ack if the ack policy is set to no ack in qos control.

Change-Id: Id42b0e95fc7ea043d35c8d7d5686f15140acdea6
2020-01-23 17:41:41 -08:00
Pavankumar Nandeshwar
5ccd5a8727 qca-wifi: umac-dp decoupling changes in ctrl_ops for datapath
Modify datapath APIs to make sure they do not need
to receive dp handles from umac interface.

Change-Id: I0979795a6356a29394daa2719dfbd36cdde3d0e2
2020-01-16 12:59:04 +05:30
Ruben Columbus
6829a32527 qca-wifi: Check peer capture enable while enqueuing MSDUS
this is done to queue frames when filtering and eventually free them
when the feature is disabled

Change-Id: I2dcaa1b354e8e2a0403cf438526a545669ed84e6
2020-01-08 06:24:57 -08:00
Kai Chen
0c218ff57a qca-wifi: Add block ack and ack frame in tx capture feature
Block ack and ack frame is composed and sent to up
layer after a unicast packet to AP is received for
tx capture feature

Change-Id: I512519de7eaf4f524825b854b33dedc4caf90e0e
2019-12-23 12:37:53 -08:00
nobelj
2726d39497 qca-wifi: support dummy frame for rts success, mprot_type
before sending tx capture data frame to stack
rts_success flag is checked on set we send rts and cts dummy frames
before data frame.

Change-Id: Id3dccf5c03b05ff381eb595d7807385afb78d462
2019-12-20 09:56:25 -08:00
nobelj
4623df972f qca-wifi: Fix mgmt/ctrl retries frames in tx capture
Fix tx capture retries mgmt/ctrl frames

Change-Id: I6060a48368f609522a326b5801d82e9899403e77
2019-12-20 07:40:04 -08:00
Linux Build Service Account
2e01bacee7 Merge "qca-wifi: Fix NULL data Tx frame capture" 2019-12-19 22:32:10 -08:00
nobelj
826fd86990 qca-wifi: support for tx capture stats
added debug stats for tx capture

Change-Id: Id5f9206b0996607419ce0d90ea2ff54c42b51026
2019-12-17 07:21:10 -08:00
nobelj
d8a5ccc005 qca-wifi: Fix NULL data Tx frame capture
Handle ppdu descriptor for NULL data frame as payload comes in
mgmt ctrl payload tlv.

Change-Id: If0292688620c44e4ebd907217d61e13b6551b4ab
2019-12-05 08:08:07 -08:00
Karunakar Dasineni
207fb25c9b qca-wifi: Include SW retries in Tx capture
Changes to include SW retried frames in Tx capture.

Change-Id: Id42e2aafa94c81e22f5cd9a0dfd1cce5d2039312
2019-11-22 17:19:22 -08:00
Karunakar Dasineni
781e84c254 qca-wifi: Fix mgmt/ctrl frames in tx capture
Include host generated management and also update
phy information for control and mgmt indications from
FW when Tx capture is enabled.

Change-Id: Icbc0b175c73b6eab0bb6e35fa157bfce92927d24
2019-10-01 11:01:55 -07:00
Sumeet Rao
4338fc07aa qca-wifi: Add support to enable/disable tx packet cap on per-peer basis
Currently, tx_monitor mode is enabled/disabled for all peers on a
per-pdev basis. Since tx_monitor mode consumes significant amount of
MIPS and reduces throughput, new requirement is to enable/disable
tx_monitor mode on a per-peer basis as well.

Change-Id: Ib70ccd3238dfd5fae1be92a81e9bf91fe441e228
CRs-Fixed: 2500931
2019-08-07 00:19:37 -07:00
Karunakar Dasineni
505d7d9c6c qca-wifi: Drop excessive PPDU status buffers
When CPU cores are fully loaded, PPDU stats process workqueue
is not getting enough time, resulting in excessive backlog of
PPDU status buffers. Check and drop buffers if the backlog is
beyond a threshold.

Change-Id: Ideef46cb4eec54dcd5a8315f36f2206653d81659
2019-08-05 07:27:37 -07:00
nobelj
e37d964295 qca-wifi: Move WIN ENH TX capture feature out of cmndev
support TX capture mode to deliver msdu along with meta data

Change-Id: I05b988860eec4afe29382b26136958801cccb6eb
2019-05-09 12:16:14 -07:00