コミットグラフ

58 コミット

作成者 SHA1 メッセージ 日付
Jeevan Kukkalli
6057057ee1 qcacmn: Register monitor feature ops after mon object initialization
Register monitor dependent feature ops after monitor
object initialization to avoid race condition

Change-Id: Ia7973cdc2660c65f8afb708d251b7a1ec09c573c
CRs-Fixed: 3074789
2021-11-29 20:14:50 -08:00
Adwait Nayak
c3f8294cc4 qcacmn: FR65980: Process log contents to pktlog buffers
This change will enable packet logging for the fragments
from RX monitor status ring and send it to the pktlog module
for post processing through WDI event.

Change-Id: I283a20e7d0fa1f9b88223a989beda529beff6718
CRs-Fixed: 3074184
2021-11-26 10:13:26 -08:00
Adwait Nayak
de2c451d24 qcacmn: FR65980: Monitor filter setting for pktlog modes
Add monitor filter settings for various pktlog modes
for QCN9224

Change-Id: I8b236603277ba873f4f2cd9d4a96fb0e8f213996
CRs-Fixed: 3074184
2021-11-26 10:13:21 -08:00
Adwait Nayak
3664b4c5c2 qcacmn: FR65980: Add HYBRID TX support for pktlog
- A new pktlog mode called "hybrid", is added for QCN9224 only.
- Create WDI event for hybrid mode
- Add dummy APIs for monitor filter setting
- Send WMI_PKTLOG_EVENT_HYBRID_TX to FW for umac TLV subscription

Change-Id: I47f4e14bfc766f29a0ab4a8c07ab19e0d919e66b
CRs-Fixed: 3074184
2021-11-26 10:13:12 -08:00
Amir Patel
918c6cfdeb qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

Change-Id: I27e74f00102ee46572d89732c349058a4c540c1c
2021-11-26 04:54:06 -08:00
Harsh Kumar Bijlani
0a6cc5a1a0 qcacmn: Correct the computation of tx.ampdu_cnt and tx.non_ampdu_cnt
Update tx.ampdu_cnt and tx.non_ampdu_cnt as per num_mpdu.

Change-Id: I0a79787fe71b43f071ecfc13e41e7020436128d1
CRs-Fixed: 3081456
2021-11-25 06:17:24 -08:00
Shwetha G K
79ef411bbb qcacmn: Fix invalid VAP instance error in RCC case
Fix the invalid VAP instance error seen when RCC is
enabled and ol_ath_stats (enhanced stats) feature is
disabled case.

Populate gI as well similar to other rate stats in
CFR handler where this information would not be
available if ol_ath_stats is disabled.

CRs-Fixed: 3056621
Change-Id: Id1af6359408cb977ba0becf298121ee10dd5ef72
2021-11-24 02:44:06 -08:00
Devender Kumar
30482aa5c4 qcacmn: Change buffer replenishment model for SDX+Pine
For IPQ products, there is 1 refill ring which is of hardware type
and host replenishes the buffers onto this ring so that hardware can
use these buffers for Rx.

In IPA offload mode, the buffer replenishment model is different from
the one mentioned above. There are 3 refill rings, out of which,
2 are software refill rings (1 for host and 1 for IPA), and last ring
is hardware ring given to FW.
Ring given to IPA is to refill the buffers after processing the
regular Rx packets and ring given to host is to refill the buffers
after processing of exception packets. Since there are 2 entities to
refill the buffers, the hardware ring given to FW multiplexes these 2
software rings and provides the buffers to hardware.

Make changes to follow above replenishment model for SDX+Pine
integration.

Change-Id: I0d9e4ec811a3023a258e0a6b9ee22ccdffcebafa
CRs-Fixed: 3049633
2021-11-19 03:22:08 -08:00
Lincoln Tran
7ffc4a761b qcacmn: Fix compilation issue with mon_register_intr_ops
Some platforms don't have mon_register_intr_ops enabled so add
a similar macro around dp_mon_register_intr_ops to resolve
compilation issues.

Change-Id: Id9c7bb45d965005d4dd0dde3a08f254464244147
CRs-fixed: 3075651
2021-11-16 19:52:16 -08:00
Himanshu Batra
8096fd4cbf qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

CRs-Fixed: 3060183
Change-Id: Ia1936d2b124ede3f2082360140ab923f8b21fb43
2021-11-12 08:53:05 -08:00
Chaithanya Garrepalli
0edc443d5a qcacmn: Fix for tx buffer leak without monitor module
When monitor KO not loaded Return QDF_STATUS_E_FAILURE
from dp_monitor_tx_add_to_comp_queue() so that caller
will free the buffer

Change-Id: Idebcf81121767ccd93d95308433241fcf0a93c93
2021-11-12 03:13:27 -08:00
Neha Bisht
084e26e4d9 qcacmn: Fix double increment of tx ifconfig stats
In ifconfig athX stats, tx packets and bytes were getting double
incremented in NSS offload disabled case. It was due to tx.comp_pkt
stats getting updated both in per packet Tx completion path and in 
Tx per ppdu indication from HTT path.
Fix by updating stats only in the Tx. completion path.

Change-Id: Id75d914874480a4e24ccb13223818b67869eb378
2021-11-03 00:21:45 -07:00
Amir Patel
6d6881fff4 qcacmn: Fix compilation issues from monitor mode
Fix compilation issues from monitor mode

Change-Id: If687dd91bbf29d2bb7d30546e6c1e332cc97d220
2021-10-27 05:34:17 -07:00
Jianmin Zhu
fb1db30308 qcacmn: Fix wrong rssi in monitor mode
If ppdu rssi unit is dbm, need convert to db for API:
qdf_nbuf_update_radiotap, only need convert once for first mdpu in the
ppdu. if convert for each mpdu, wrong rssi will be saved.

Change-Id: I85e92121ddb289e3513022ff092083825197efb4
CRs-Fixed: 3057041
2021-10-27 02:36:07 -07:00
Naga
85bfde2f0a Revert "qcacmn: Enable timer based low threshold interrupt"
This reverts commit Ia33b110337e610ab9b5d7a9cecb61f6952cd3379.

Change-Id: I07e2c8565b2aaa6cfd55b262d65ba0269a0a1d8a
2021-10-22 12:41:13 -07:00
Naga
3e3c3c8df3 qcacmn: Fix to disable full monitor mode
Fix to disable full monitor mode.

CRs-Fixed: 3057668
Change-Id: I43238db8bf29ab3c7c24d8e5bea537cbd28da896
2021-10-21 22:07:57 -07:00
aloksing
2674d65536 qcacmn: Add tx capture timer stop flag
Add stop timer flag to avoid resubmission of tx capture work queue timer
while del_tiimer_sync.

CRs-Fixed: 3056656
Change-Id: I72bfb6916f02297b15bb733359c0e4d7f91f0b73
2021-10-21 08:55:47 -07:00
Naga
8020841ce4 qcacmn: Add sanity check for monitor pdev
Add sanity check for monitor pdev while enabling
enhanced stats.

Change-Id: Icd1a2e7daf57d32d85d7c5ad5e11f0d6ea2456ee
CRs-Fixed: 3055767
2021-10-14 03:34:55 -07:00
Naga
c46ec16889 qcacmn: Add change to modify if to ifdef
Add change to modify if to ifdef

Change-Id: I49e3841deb4168cbbc4e0a4f045413717aa97d2a
CRs-Fixed: 3050747
2021-10-12 02:29:35 -07:00
Naga
1648e13dbe qcacmn: Add HTT ring setup for monitor rings
Add HTT ring setup for monitor source and destination rings

CRs-Fixed: 3010856
Change-Id: Ice96ed938a25069fd60f07e2a4bebd9ad0184200
2021-10-12 02:29:29 -07:00
Naga
92ac36e016 qcacmn: Enable timer based low threshold interrupt
Enable timer based low threshold interrupt for waikiki monitor
tx/rx source rings

CRs-Fixed: 3010853
Change-Id: Ia33b110337e610ab9b5d7a9cecb61f6952cd3379
2021-10-12 02:29:23 -07:00
Naga
fa9b23b61f qcacmn: Enable monitor destination ring interrupt for waikiki
Enable monitor Tx/Rx ring interrupt for waikiki

CRs-Fixed: 3010851
Change-Id: I33537f7d4dbab700af7ccdb2ca511531fd3ade76
2021-10-12 02:29:17 -07:00
Naga
df329ebb84 qcacmn: Allocate and Initialize monitor rings
Allocate tx/rx monitor destination rings for waikiki

CRs-Fixed: 3010845
Change-Id: I1c6950188e2693cab648679d34d6731db53978f9
2021-10-12 02:29:11 -07:00
Naga
e1a6f926ed qcacmn: Add new HTT msg support for BE
- Add support htt msg for HTT_H2T_MSG_TYPE_TX_RING_SELECTION_CFG
  msg configuration
- Add support for configurable length dma
  per packet type for rx monitor.
- Add support for wordmask subscription for rx monitor.
- Add support for per packet msdu/mpdu logging config.
- Add support for tx monitor tlv subscription.
- Dummy APIs for 2.0 filter configuration

Change-Id: I36b18c03eff452537c2f051b24275b81ab98ebae
CRs-Fixed: 2991330
2021-10-12 02:29:05 -07:00
Naga
5475a38feb qcacmn: Add support for BE monitor buf processing
Add support for BE monitor buffer processing

Change-Id: I2b7563e7a2c4d7e091ed093774b4f24047791708
CRs-Fixed: 3010502
2021-10-12 02:28:53 -07:00
Naga
69bd3e218f qcacmn: Add buffer mgmt support for BE monitor
Add support to allocate, free and replenish
rx and tx monitor buffers.

Change-Id: I9e59f4466740c0cf29a02711b6a112715e0224ab
CRs-Fixed: 3010486
2021-10-12 02:28:48 -07:00
Naga
9d6b212c7a qcacmn: Add sw desc pool support for BE monitor
Add APIs to allocate, free, init and deinit
sw descriptor pool for rx and tx monitor.

Change-Id: I03287cf3c590ace91825f16a7b0c5752c04fc8ed
CRs-Fixed: 3010468
2021-10-12 02:28:41 -07:00
Naga
84c4158c87 qcacmn: Add support for BE Monitor soc attach
- Change to allocate BE specific monitor soc
- Allocate, initialize soc and pdev level monitor rings
- HTT srng setup for source ring
- Dummy APIs to allocate, initialize sw desc pool

Change-Id: Icf90994e7bd76017cf3c83ae00449d839967321d
CRs-Fixed: 2991298
2021-10-12 02:28:36 -07:00
Naga
db1a6c8418 qcacmn: Add new data structures and ops for BE monitor
- New data structures are added for BE monitor support
  - dp_mon_soc_be  - to maintain soc level BE specific fields
  - dp_mon_pdev_be - to maintain pdev BE specific fields
  - dp_mon_desc_pool - to maintain descriptor pool
- Monitor ops are updated for 2.0 and corresponding dummy APIs
  are added.
- dp_mon_filter_srng_type is enhanced for TxMON

Change-Id: I12a2fbc53e4eecc7a191b7aa925431298d0a9f54
CRs-Fixed: 2991276
2021-10-12 02:28:30 -07:00
Naga
3289db4279 qcacmn: Monitor code segregation
- Features common to both Li and BE and
  their APIs are retained files at dp/wifi3.0/monitor.
- New monitor ops are introduced if there
  is a requirement for divergence of API.
- Diverged API definitions for 1.0 are captured
  in this change.

All of code in below files are moved to 1.0
- dp_rx_mon_dest.c -> 1.0/dp_rx_mon_dest_1.0.c
- dp_rx_mon_status -> 1.0/dp_rx_mon_status_1.0.c

Only Li and HMT specific are moved for below file
- dp_mon_filter.c -> 1.0/dp_mon_filter_1.0.c
- dp_mon.c -> 1.0/dp_mon_1.0.c

Change-Id: I44d163b27565b86068d80e1d97ec11d0b4a081d4
CRs-Fixed: 2991248
2021-10-12 02:28:25 -07:00
Naga
cca6b74fe7 qcacmn: Add new directory structure for Monitor
- dp/wifi.3.0/monitor/ => directory for monitor specific code
  - dp_rx_mon.c: status TLV procesing + packet buffer processing
  - dp_rx_mon.h: Rx monitor header file common for Li and Be
  - dp_mon_filter.c: Monitor filter configuration
  - dp_mon_filter.h: Monitor filter header file common for Li and BE

  - 1.0/ => directory for Lithium specific handling
    - dp_rx_mon_1.0.h: Rx Monitor specific header file
    - dp_rx_mon_dest_1.0.c: Packet buffer processing
    - dp_rx_mon_status_1.0.c: status TLV processing
    - dp_mon_filter_1.0.c: Rx Filter configuration
    - dp_mon_filter_1.0.h: Rx Filter configuration header
    - dp_mon_1_0.h - Li specific monitor ops
    - dp_mon_1_0.c - Li monitor ops handling

  - 2.0/ => directory for BE specific handling
    - dp_rx_mon_2.0.h: Rx Monitor specific header file
    - dp_rx_mon_2.0.c: Packet buffer processing
    - dp_rx_mon_status_2.0.c: status TLV processing
    - dp_tx_mon_2.0.h: Tx Monitor specific header file
    - dp_tx_mon_2.0.c: Packet buffer processing
    - dp_tx_mon_status_2.0.c: status TLV processing
    - dp_mon_filter_2.0.c: Rx and Tx Filter configuration
    - dp_mon_filter_2.0.h: Filter configuration specific header
    - dp_mon_2.0.h: BE specific monitor ops and defs header file
    - dp_mon_2.0.c: BE specific monitor ops handling

Change-Id: I74b5408460b5f2f4b31f73947b55d97dfe3b971e
CRs-Fixed: 2991215
2021-10-12 02:28:19 -07:00
Devender Kumar
8ee13b33da qcacmn: Add Sanity check for num_users in pktlog feature
When num_users is 0 and PKT_LOG feature is enabled,
it can cause out of bound access
to avoid this add a sanity check for num_users

Change-Id: I33401d2e6a139f9fc6db145c588e08547afdd2ba
2021-09-25 11:36:09 -07:00
Jeevan Kukkalli
4ac551c7ef qcacmn: Set log level to info
Log level was accidentally bumped up during monitor legoization
change hence reducing log level to info to avoid unnecessary
prints on console.

Change-Id: I338632b98beb2a1f832f9e066109a2ac71a63749
CRs-Fixed: 3039441
2021-09-24 18:27:53 -07:00
Amit Mehta
cfa44c7843 qcacmn: init mon_intr_id_lmac_map in interrupt mode
Currently mon_intr_id_lmac_map is set only in poll mode
Which is only in Global Monitor mode.
In case of dynamic switch from STA to Monitor Mode
This can cause issue while removing monitor mode

Initialize mon_intr_id_lmac_map in interrupt mode also
and add sanity check for mon_intr_id_lmac_map value in
monitor ring flush.

Change-Id: Ic7dae948078661e376541b30aa70e4e12ca9d24f
CRs-Fixed: 3037952
2021-09-17 16:53:40 -07:00
Rakesh Pillai
157f4c7c51 qcacmn: Disable monitor peer attach when feature is disabled
Currently there is an attempt to allocate monitor
peer even when the feature is disabled, thereby leading
to an attempt to allocate 0 bytes. the failure in this
allocation propagates back and prints an error message
which can be misleading.

Disable monitor peer attach when the below feature is disabled.
- WLAN_TX_PKT_CAPTURE_ENH
- FEATURE_PERPKT_INFO

Change-Id: Ifc6ba1421da0f569971fafa530bbcd3dbaa16b87
CRs-Fixed: 3036720
2021-09-16 08:28:39 -07:00
aloksing
2f1aa9829a qcacmn: Fix continuous print on console
"Invalid peer id" prints are flooding the AP console
Adding log level as fatal to avoid these prints.

Change-Id: I773476542018389035996e45ea2f7c4cf296e9fd
2021-09-08 17:09:08 -07:00
Jeevan Kukkalli
4de1557d99 qcacmn: Release vdev ref in error cases
Release vdev reference in error cases while
collecting scan radio special vap stats

Change-Id: I030105f62fa8bb67c34c49950012f0e1dbf613a0
CRs-Fixed: 3025050
2021-09-06 09:32:48 -07:00
Surabhi Vishnoi
91674a4b07 qcacmn: Add support to parse HTT_PPDU_STATS_FOR_SMU_TLV
Firmware sends some ppdu stats required for packet capture
mode in new ppdu stats tlv HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse it if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.

Change-Id: I5567007a91093dd342f37458760b3a61c040b779
CRs-Fixed: 3004476
2021-09-03 08:45:17 -07:00
aloksing
ca013a2078 qcacmn: Add enhanced stats flag
Add enhanced stat flag in dp pdev to make independent of monitor ko

Change-Id: I6da989db54829e28ce680fc9671eb9b866e4b2b1
CRs-Fixed: 3020454
2021-08-31 05:39:42 -07:00
nobelj
050c08476e qcacmn: Add support to capture delayed ba in SU
add support for delayed block ack for SU frame type

Change-Id: Ia99aebcd84a2ccd3d4139b3ada0a68e010e093c9
2021-08-23 19:09:25 -07:00
aloksing
00832d6f5b qcacmn: fix mvdev NULL issue
set mvdev to null only if mvdev is pointing to vdev
for which monitor vdev detach is called.

Change-Id: I5c82db4e8ea192636a8c322c36f55a5574f9dcee
CRs-Fixed: 3015003
2021-08-23 13:26:31 -07:00
aloksing
a4d289451e qcacmn: Fix pktlog compilation error
Fix compilation error when pktlog feature is disabled

Change-Id: I2bf51c8a994e5b01ba83c21e5b5b4d1f02c10615
2021-08-21 09:58:04 -07:00
Neha Bisht
942476d37d qcacmn: Fill peer Tx/Rx statistics from ppdu
Fill peer level statistics such as nss, mcs, etc. from ppdu descriptor

Change-Id: Ibc348b7fa1b6438adc06de74aeff36c882519a80
2021-08-18 21:04:11 -07:00
Chaithanya Garrepalli
81de2fc14d qcacmn: disable monitor rings for QCN9224
Add dedicated monitor flag at SOC level and do not
enable legacy monitor rings for QCN9224
Also add flag to disable rxdma2sw ring for QCN9224.

Change-Id: I399d22d6c3361bb75ebaad4e46b156db5e628d6b
2021-08-15 09:01:31 -07:00
Jeevan Kukkalli
8fd6fe32e8 qcacmn: Conditionally compile scan radio special vap stats
Conditionally compile scan radio special vap stats.
Also rename spcl_vap to scan_spcl_vap to better reflect
funtionality.

Change-Id: I7d7f636209f6aa12cca0a3e808d7ae1fac9f397d
CRs-Fixed: 3009837
2021-08-15 01:53:08 -07:00
Vevek Venkatesan
6a3c9eaa85 qcacmn: add CDP interface support for pkt_log_exit
Add CDP interface API support for pkt_log_exit,
to cleanup pkt_log_init on failure.

Change-Id: Ib50efaed5997d341d3e76c2e1dbe42856df40191
CRs-Fixed: 3012201
2021-08-14 23:07:04 -07:00
Devender Kumar
c182e1e3e9 qcacmn: Use sw_peer_id instead of ast_index to get peer
In order to support flow overide feature,
AST table has to be split between RxPCU and DDR.
With this split, RX monitor cannot make use of
ast_index to fetch peer as it is not from DDR.
So make use of sw_peer_id to fetch peer.
This sw_peer_id is derived from RX_MPDU_STAT_START_TLV

Change-Id: Ib2a003a2640fded3287c318d2ad59fd3127af9b6
CRs-fixed: 3004363
2021-08-12 08:29:37 -07:00
aloksing
b158abe417 qcacmn: API renaming for monitor module
Add prefix dp for all monitor APIs
Add mon_debug/mon_info/mon_err for logs

Change-Id: I71d49f6bcacd77f5695269817fed83337169227b
CRs-Fixed: 3006497
2021-08-12 05:32:47 -07:00
Pavithra R
4a84bdb2ad qcacmn: Add dp_update_msdu_to_list function to dp_mon_ops struct
This patch adds the function dp_update_msdu_to_list to dp_mon_ops
struct. This is needed for supporting tx capture module in NSS
offload.

Change-Id: Id36aa6d1442eed4112585807e8798fc28ccdc424
2021-08-09 15:37:16 -07:00
Jeevan Kukkalli
1665e7c8e5 qcacmn: Scan radio special vap stats support
-Add flag to inidicate special vap configuration
-Add frame type counters while processing tlv
 WIFIRX_MPDU_START_E
-Add function to update special vap rx stats
-Add dp pdev param to enable/disable special vap
 stats reset
-Add function to reset special vap stats
-Add fucntion to get special vap stats
-Add CDP function to retreive special vap stats

Change-Id: Ia5de6743e472dc86c9e66b9e789c909a57025e35
CRs-Fixed: 3005425
2021-08-07 11:31:43 -07:00