Commit Graph

104 Commits

Author SHA1 Message Date
Madhavan Ganesan
60b98ddd10 qcacmn: check monitor vdev is valid before attaching
Monitor vdev attach is called both AP and Monitor VAPs
AP vap creation are started prior to monitor install.
So, add the check to determine whether valid monitor vdev or ap vdev.

Change-Id: If7a83a6826499574f88a4a1220ba3642c028f66a
CRs-Fixed: 3240300
2022-07-25 05:13:54 -07:00
Amrit Sahai
9ea6f8dc13 qcacmn: Add support for rx stats from REO block
Add support for rx stats from REO block in IPA use case.

Change-Id: I90a6f57507838645dea9095615f378bd5a3a6ffc
CRs-Fixed: 3231322
2022-07-18 17:45:10 -07:00
Amrit Sahai
7cc4edf06c qcacmn: Add support for TX stats in IPA use case
Add support for TX stats in IPA use case

Change-Id: Ie7d2c6d27219c49dc09bcacc65851b0c37fc337e
CRs-Fixed: 3231035
2022-07-15 02:56:18 -07:00
Harsh Kumar Bijlani
eb56570ae1 Revert "qcacmn: Use qdf flex mem to allocate rx ppdu info"
This reverts commit I2318f6c5f33e5337f6398263d6717da698be7c92.

Change-Id: Ia60fe6ddb66623761c11398d89d6039c66994b66
CRs-Fixed: 3235962
2022-07-08 19:47:28 +05:30
Harsh Kumar Bijlani
1f40cb6ec2 Revert "qcacmn: Initialize ppdu info flex mem pool during pdev attach"
This reverts commit I7970ab056e600ccfe28ae1ccdc50a66d5ae0ade8.

Change-Id: I1837ddb8840a4f567890991d41fbeb78d8d8e0de
CRs-Fixed: 3235962
2022-07-08 19:06:06 +05:30
KARTHIK KUMAR T
0365423471 qcacmn: update RSSI specific parameters in mon pdev
Update RSSI specific parameter from beryllium
specific path to common path as part of
extending feature for lithium also.
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.

Change-Id: I4e35d873db6d1ad03d86694a8d36decffe409a0e
CRs-Fixed: 3231120
2022-07-08 01:20:55 -07:00
Amir Patel
e7422a7db6 qcacmn: Initialize ppdu info flex mem pool during pdev attach
To avoid memory fragmentation during wifi down/up,
initialize ppdu info flex mem pool during pdev attach
instead of pdev init.

CRs-Fixed: 3235962
Change-Id: I7970ab056e600ccfe28ae1ccdc50a66d5ae0ade8
2022-07-07 02:38:25 -07:00
Jeevan Kukkalli
e0231b2771 qcacmn: Handle invalid decap type during rx mon tlv processing
- Handle scenario where decap type may be invalid when
  buff address tlv is received.
- Add check for min number of frags during restitch process.
- Minor fixes during rx mon tlv processing.

Change-Id: I0120d97e297701362183189e29c1d5df91affdc1
CRs-Fixed: 3216050
2022-07-06 01:02:13 -07:00
Shwetha G K
56d67b3e32 qcacmn: Configure monitor ring for CFR on Waikiki
Changes to configure the rxdma ring for CFR. Move existing
API of legacy chipsets to dp_mon_1.0 and add Waikiki
specific API in dp_mon_2.0.

CRs-Fixed: 3231265
Change-Id: Id7276bb7bb7f58461c7e10a0695c3e78a1c39b0c
2022-07-05 03:18:57 -07:00
Amir Patel
59b643e25f qcacmn: Use qdf flex mem to allocate rx ppdu info
To avoid fragmentation, use qdf flex mem framework
to allocate rx ppdu info

CRs-Fixed: 3230970
Change-Id: I2318f6c5f33e5337f6398263d6717da698be7c92
2022-07-04 01:14:15 -07:00
Srinivas Girigowda
6d056b9959 qcacmn: Add support for Mango device id
Add support for Mango device id.

Change-Id: I2b32a39e258caab408723db77f132af364dc6b04
CRs-Fixed: 3232512
2022-07-02 09:55:56 -07:00
Amir Patel
debe4c7ecf qcacmn: Fix issues from monitor path
a. Fix memleak issue due to RX_HDR not received for a MPDU
b. Compute appropriate packet offset for non-decapped packets
c. Add correct DMA_LEN while adding a frag to SKB.
d. Add debug stats

Change-Id: Ie946f79df94df05789220b97c159c60d608bf1b2
CRs-Fixed: 3213698
2022-06-28 12:17:51 -07:00
Wu Gao
cd9a1b63a3 qcacmn: Fix compilation issue after enabled CONFIG_WDI_EVENT_ENABLE
This change fixed compilation issue when enabled two configures -
CONFIG_WDI_EVENT_ENABLE and CONFIG_REMOVE_PKT_LOG.

Change-Id: I121ea61bd3681b834a36c0bc8017b855897023a4
CRs-Fixed: 3223552
2022-06-25 03:03:44 -07:00
Tiger Yu
89e38bb46b qcacmn: Remove unused local variable mon_soc to fix compiling issue
Remove unused local variable mon_soc in the dp_pktlogmod_exit to
address the compiling issue when PKT log enabled.

Change-Id: I5de03433603988e6f8125285a58c141551d7a149
CRs-Fixed: 3225370
2022-06-24 02:07:12 -07:00
Himanshu Batra
99dbc9ca4b qcacmn: Update peer consumption stats before checking primary peer
In case of MLO, peer consumpiton stats are getting incremented only for
primary peer as the API was called after primary peer check.
Add fix to call the API before primary peer check so that the stats are
updated for all the link peers

Change-Id: I603e7a37564858e030d8f0f5f16792f516728f60
CRs-Fixed: 3222984
2022-06-19 21:17:17 -07:00
Yu Wang
a9461beb20 qcacmn: refine the APIs for reap timer of monitor status ring
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.

With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.

When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.

Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
2022-06-13 22:54:46 -07:00
Himanshu Batra
768250e291 qcacmn: Add support for telemetry agent stats
For telemetry agent, some more statistic support is required.
Hence, add support for telemetry agent required stats.

Change-Id: Ieb2210a4a5dfe6fa0a0dd46a85f2d9ae483bb746
CRs-Fixed: 3210797
2022-06-07 03:29:51 -07:00
aloksing
ddad8e0543 qcacmn: Deregister stats handler before monitor pdev deinit
Module unload is getting trigered in between
Vap restart due to channel switch
while waiting in monitor module unload for 500ms VAPs are coming up.
And after wait, during monitor pdev deinit
HOST start receiving stats indication.
Monitor pdev is getting dettached while processing stats indication.

Move register/derester of stats handler to intr ops.

Change-Id: I821c144f54bfe78c567039ab57fcf1eac7cb4f46
CRs-Fixed: 3192980
2022-06-04 09:27:32 -07:00
Jeevan Kukkalli
660a0d7e2c qcacmn: Add stats to count mpdu dropped due to ppdu id mismatch
During frequent channel changes in corner case we observe
that mpdu ppdu id does not match dest ring curring ppdu id.
Such mpdus are dropped. Add stats to count such dropped mpdus.

Change-Id: If52e81f4e718ce0d7f83a41f4f0121394525b9df
CRs-Fixed: 3144784
2022-05-20 14:21:26 -07:00
Amir Patel
0bfdc54393 qcacmn: Drain Rx monitor workqueue
Drain Rx monitor workqueue on wifi down

CRs-Fixed: 3186360
Change-Id: I524b08338da1f2a4567c17551a8b44d420ca3455
2022-05-02 14:08:50 -07:00
Harsh Kumar Bijlani
cfe5ee5060 qcacmn: Add support for Tx MIMO and OFDMA stats for Waikiki
Add support for Tx MIMO and OFDMA stats for Waikiki.

Change-Id: I54de5ff93841c98fde1dc4b4eda743748dab4bbb
CRs-Fixed: 3181946
2022-04-29 09:01:29 -07:00
KARTHIK KUMAR T
c7acbbd7ba qcacmn: calculate RSSI in DBM
calculate rssi_comb and rssi per chain values using
parameters received from the fw.

Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
2022-04-25 04:12:10 -07:00
Jeevan Kukkalli
19c030e751 qcacmn: Enable smart monitor on wkk
Enable smart moniotr operations to add/delete
NAC clients and to get NAC client rssi value.

Change-Id: Ifc933d474da15101293cf3e1c07261917fb634f9
CRs-Fixed: 3169256
2022-04-20 03:12:47 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Harsh Kumar Bijlani
484198b257 qcacmn: Add MSDU counters to account for 11BE puncturing BW stats
Add MSDU counters to account for 11BE puncturing BW stats.

Change-Id: I2c1d420b8d8b4533dcbf64f206783c07555cac99
CRs-Fixed: 3171770
2022-04-19 01:27:03 -07:00
aloksing
2c977089aa qcacmn: Get puncture type from puncture pattern
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.

Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
2022-04-13 05:18:17 -07:00
Harsh Kumar Bijlani
c41c8f1d8c qcacmn: Correct computation of tx.tx_rate and tx.last_tx_rate
Correct computation of tx.tx_rate and tx.last_tx_rate in Tx HTT
PPDU completion path.

Change-Id: I8dcc4913c651a2c90e0f1d153e4e09f02d7403d4
CRs-Fixed: 3167357
2022-04-11 16:30:38 -07:00
Harsh Kumar Bijlani
ad3d4de01a qcacmn: Use correct set of macros for Rx monitor dependent features
Use correct set of macros for Rx monitor dependent features.

Change-Id: I51833852811bb339afd284a1291460ec827fe6e5
CRs-Fixed: 3169125
2022-04-10 00:28:05 +08:00
Jeevan Kukkalli
7f9da4ae12 qcacmn: Add lite monitor set/get functions
-Add lite monitor tx/rx filter config set/get fucntions
-Add lite monitor tx/rx peer config set/get functions

Change-Id: I47cc1085c64468b8a0fada871e2f5d3707ca7063
CRs-Fixed: 3078298
2022-04-05 10:11:03 -07:00
Jeevan Kukkalli
53a654f2e8 qcacmn: Set log level to info
Log level was accidentally increased hence reducing log level
to info to avoid unnecessary prints on console.

Change-Id: Idbe495cbdc8a17112f034083c2f8ebf297dcdc6b
CRs-Fixed: 3157393
2022-03-29 12:22:24 -07:00
Subrat Dash
20b758944f qcacmn: Decouple FEATURE_PERPKT_INFO from MESH_MODE_SUPPORT
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.

Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
2022-03-08 05:37:52 -08:00
Amir Patel
f78b0ccc9c qcacmn: Add workqueue infrastructure for Rx monitor processing
Add workqueue infrastructure for Rx monitor processing

CRs-Fixed: 3074291
Change-Id: I9b898c0101bf3e294e06cd2d491a0eecb47ec765
2022-03-03 03:38:12 -08:00
Basamma Yakkanahalli
70f4513196 qcacmn: Add support for undecoded frame error stats
Display phyrx aborted undecoded frame count and the aborted
reason statistics as part of pdev rx mon stats.

Change-Id: Ia86074e62af3179855734b47801715abd1899fe1
CRs-Fixed: 3123540
2022-03-01 07:07:33 -08:00
Harsh Kumar Bijlani
caf5400575 qcacmn: Changes to enable and disable enhanced stats for Waikiki
Changes to enable and disable enhanced stats for Waikiki

Change-Id: I6e3a747f31abda9cfcefec3156327295412088b5
CRs-Fixed: 3138098
2022-02-28 17:44:09 -08:00
Harsh Kumar Bijlani
c1b9ccd925 qcacmn: Update enhanced Tx stats from Tx HTT PPDU completion path
Update enhanced Tx stats from Tx HTT PPDU completion path in WKK.
Define and use function pointers for architecture specific
functionality.

Change-Id: I4ba443647dbd81c83e899c0f88c5d9a4cc695e14
CRs-Fixed: 3132255
2022-02-28 17:44:03 -08:00
Basamma Yakkanahalli
bfde0ca01b qcacmn: Fix bkp on monitor dest ring when disable undecoded capture
During undecoded mode capture reset expected to reset
only phy error filter flags. But disabled monitor mode
capture filters as well. This resulted a backpressure
in monitor mode destination ring.
Added an appropriate check to disable only phy error
filter without disturbing monitor mode filter setting.

Change-Id: If3ef8e9f41f32dff30773aeb939256920c515800
CRs-Fixed: 3137636
2022-02-28 10:19:54 -08:00
Jinwei Chen
6a194730ae qcacmn: rename dp_is_hw_dbs_enable function
dp_is_hw_dbs_enable() is checking DBS and update number of
MAC rings value, current function name makes confusion.
rename it to dp_update_num_mac_rings_for_dbs().

Change-Id: I82540a943445560a99e27067e58d59035147208b
CRs-Fixed: 3131546
2022-02-23 22:45:48 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Rakesh Pillai
595926af77 qcacmn: Handle monitor buffer allocation failure
Currently the monitor buffers allocation is attempted
for 2 RXDMA monitor status/destination rings.
For certain targets, eg KIWI, there is only one RXDMA
monitor status/destination ring, and the monitor buffer
allocation for the second ring fails. This return status
is not handled properly.

Fix the monitor buffer allocation to use the number of
rxdma rings from cfg context and handle the return status
properly.

Change-Id: I86718dbd790d96d794963b17a4c9bdf32792d854
CRs-Fixed: 3128299
2022-02-15 17:28:24 -08:00
Harsh Kumar Bijlani
b934da0701 qcacmn: Correct computation of retry_mpdus
Correct computation of retry_mpdus

Change-Id: Ic1c3ecb458dd371a46161e87727b35016bc78fb4
CRs-Fixed: 3115325
2022-02-10 00:17:16 -08:00
Harsh Kumar Bijlani
d8e05be641 qcacmn: Changes for vdev and pdev stats
Changes for vdev and pdev stats as per the new peer stats
re-organization architecture.

Change-Id: I48f9fb4b0915c40f4add83f2e2dd074cc97874fd
CRs-Fixed: 3092123
2022-02-09 11:55:12 -08:00
Harsh Kumar Bijlani
e8082534bd qcacmn: Changes to get and reset peer stats
Changes to get and reset peer stats as per the new peer stats
re-organization architecture and taking MLO scenario into
consideration.

Change-Id: I1c49e11d502585cc955ad087ffe3a606be23d83e
CRs-Fixed: 3092123
2022-02-09 11:55:06 -08:00
Harsh Kumar Bijlani
ce45e71913 qcacmn: Update stats in monitor peer in Tx HTT and Rx monitor path
Update stats in monitor peer in Tx HTT PPDU completion and
Rx monitor PPDU indication path.

Change-Id: Icfeb49fc6f1fa2c1f2648a9b4576f31a927c7ecd
CRs-Fixed: 3092123
2022-02-09 11:54:53 -08:00
Harsh Kumar Bijlani
eee813ad02 qcacmn: Initialization of stats in txrx_peer and monitor_peer
* Initialize stats in dp_txrx_peer and dp_monitor_peer as per
  the stats re-organization.
* Update peer calibrated stats on every timer expiry of 1 second.
* Define APIs to reset monitor_peer stats and to fetch rdkstats_ctx
  from monitor peer.
* Place check to make sure that monitor peer related APIs are
  are called only for legacy peer or MLO Link peer.
* Update peer based pktlog flag, tx and rx capture feature flags
  in monitor_peer.

Change-Id: Idadbe19e85d4a9fdf77fb6dabe0c8a4952b024b8
CRs-Fixed: 3092123
2022-02-09 11:54:14 -08:00
Pavankumar Nandeshwar
9c6800383c qcacmn: Move per packet params to txrx_peer
Move the parameters from the dp_peer which are used
in per packet path to txrx_peer and params related
to monitor path to monitor peer.

Initialize txrx_peer and monitor peers.

Change-Id: I0449c67c1cd47deb76bc89b5ddc64174f6694eb0
CRs-Fixed: 3095637
2022-02-09 11:53:37 -08:00
Adwait Nayak
9a61b83a20 qcacmn: Fix issues in monitor path
1. Replenish path issue:

a. when number of required buffers passed to replenish API is '1',
host does not replenish '1' buffer.

b. If no. of available entries in ring are '0', return sw desc
   back to pool.

2. 32-bit compilation issue

3. Block ppdu desc deliver API when pktlog is enabled for BE

Change-Id: I79ebf1f84830b4c2f5e5b727e3e08c5ee1870898
2022-02-08 00:56:27 -08:00
Amir Patel
8e96dd29e8 qcacmn: Disable Enhanced PPDU stats and low watermark interrupt
Disable Enhanced PPDU stats and low watermark interrupt for WKK

CRs-Fixed: 3120686
Change-Id: I8eecd2e17cb0748d1e7d15b28ce3d16f69fe81d5
2022-02-02 04:25:52 -08:00
nobelj
357bfbe52d qcacmn: Add support to Legacy tx monitor and Waikiki
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.

Change-Id: I28612d388009292ff751fe514183fb801909f485
2022-01-28 04:05:13 -08:00
Adwait Nayak
71cb851a00 qcacmn: Filter setting and pktlog processing support
Add filter setting and pktlog processing support for
rx based pktlog.

Change-Id: I64b76759f348ef75b45b4166495aa733995de474
CRs-Fixed: 3109099
2022-01-26 11:00:07 -08:00