Commit Graph

59 Commits

Author SHA1 Message Date
Nandha Kishore Easwaran
9032211008 qcacmn: Hal changes for Big endian platform
Hal layer changes to support big endian platform.

Change-Id: I3fa6015ee1915b59c69e593ced57225edcca1c38
CRs-Fixed: 3427031
2023-03-21 17:33:15 -07:00
Nobel Sharanyan Jeganathan
799d46a277 qcacmn: invoke hal api to populate word mask
Added hal api to populate word mask

Change-Id: Ic13fdb1fa4104618d67f3f7aae25681951d78581
CRs-Fixed: 3422903
2023-03-16 01:33:31 -07:00
Narayan Subramhanyan
ff85561570 Revert "qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats"
This reverts commit I2a697f91e572f88a36f96085d15c90c679deaf0c.
Original change was added to support manual ulofdma trigger but it
needs to be reverted here due to a small tweak in design approach.
New design to be integrated and hence reverting this one.

Change-Id: I4c358db48298666c753aa89166a31adbba067e36
CRs-Fixed: 3429084
2023-03-15 09:31:33 -07:00
nobelj
8c72eb9696 qcacmn: Add hal api to set word mask
Add hal api to set tx monitor word mask

Change-Id: I4eb365b3a7d4f83edcb20146951daf0d5af3d68d
CRs-Fixed: 3421500
2023-03-09 00:41:24 -08:00
Narayan Subramhanyan
4c942e661a qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats
Extract manual ulofdma trigger bit as part of rx ppdu stats per user
update process

Change-Id: I2a697f91e572f88a36f96085d15c90c679deaf0c
CRs-Fixed: 3418677
2023-03-02 23:53:59 -08:00
nobelj
d794bc0885 qcacmn: Add support of EHT and USIG in tx monitor
Added support for EHT and USIG in tx monitor.

Change-Id: I1f6cc345ace19532cc356464c82476b084ca53dc
CRs-Fixed: 3386918
2023-02-26 19:12:52 -08:00
nobelj
5c911bbaca qcacmn: Add initial support of EHT and USIG in tx monitor
Modified the code to support EHT and USIG in tx monitor and additional
fix

Change-Id: I1cc58f0787a84a379fb4e2ce4954455e0c6551a2
CRs-Fixed: 3386918
2023-02-26 19:12:42 -08:00
Aniruddha Mishra
a70effe5d4 qcacmn: Restructure Rx TLV recording
Restructured Rx TLV recording implementation.
Shifted definitions to monitor 2.0 files.

CRs-Fixed: 3410093
Change-Id: I083f3a37e5caff668976c9ca955926afe16a242d
2023-02-22 01:54:50 -08:00
Aniruddha Mishra
fe48e79218 qcacmn: Add TLV recording support for Rx monitor
Add TLV recording support for Rx monitor. The TLV
tag and its data are recorded in a fixed size buffer

Change-Id: Idad896d1ece25a499ab76028c8a231fcd9947f66
CRs-Fixed: 3402543
2023-02-17 08:00:57 -08:00
Jeff Johnson
f518df0727 qcacmn: Fix hal/wifi3.0/be documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/be folder, so fix them.

Change-Id: I9730c36e4d36dbe0ae551067c5c500441f07569f
CRs-Fixed: 3400933
2023-02-16 17:02:41 -08:00
Sushant Butta
42be95a6df qcacmn: Word mask TLV support for monitor
Word mask TLV support for QCN9224.

Change-Id: I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
CRs-Fixed: 3368626
2023-02-08 22:56:03 -08:00
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
aloksing
d47d3c4723 qcacmn: Update vht flag values per user
Update vht flag values per user when vht flag is set

CRs-Fixed: 3387851
Change-Id: Ibc0f729f39539a796d4deb0ddae35460c27ce9a8
2023-02-05 04:32:59 -08:00
Yu Tian
70c9b142e8 qcacmn: Fix invalid rate info. in monitor mode
Fix NSS value is not filled in VHT monitor mode.

Change-Id: I9a3edd48d677b61c14503a5a55d8d177b5c92629
CRs-Fixed: 3368014
2022-12-29 02:46:25 -08:00
nobelj
f1dd81866f qcacmn: Add support for firmware to software tlv
Added support for parsing firmware to software tlv. which is mainly used
for populating frequency of the current packet.

Change-Id: I67c552e6d6b5caf9c12c34e553bad70b89b30c40
CRs-Fixed: 3270364
2022-12-27 17:07:35 -08:00
Amir Patel
af0472aa08 qcacmn: Update PPDU drop counter
Update PPDU drop counter from monitor ring

CRs-Fixed: 3341905
Change-Id: I63f5b4d6a3e1e0155cf0558bea18704df073e2a9
2022-11-23 21:52:03 -08:00
Mohammed Ahmed
2f2d0e141c qcacmn: Add break in case statement
Case statement is missing a break between cases.

Change-Id: Iedba605d2fdd0f111730bc2f9f02bb89bdb6c834
CRs-Fixed: 3343781
2022-11-22 18:45:12 -08:00
Kai Chen
9cb6199f70 qcacmn: Add EHT debug counter on PPDU
Add debug count to count PPDU based on UL/DL and type compression
mode

Change-Id: I2b320e6562d309cc0a178a137162ab0499c81e58
CRs-Fixed: 3326278
2022-11-17 08:09:23 -08:00
Kai Chen
83521665e6 qcacmn: Add debug counter for monitor mode
Add debug count for count MPDU received based on preamble type,
reception type, UL/DL and user for max 4 user for MU monitor
mode

Change-Id: I87f1553e1f2f8276501366a825d629cf051d8a80
CRs-Fixed: 3326272
2022-11-14 16:20:25 -08:00
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -07:00
Jeff Johnson
117ae69181 qcacmn: hal: Fix misspellings
Fix misspellings in hal/...

Change-Id: Icf033a647e6a15d46420d7102dc161b94fa7dd2c
CRs-Fixed: 3304685
2022-10-10 23:02:47 -07:00
nobelj
5e42bbc352 qcacmn: Add support for tx monitor HE MU and minor fixes
Add support for,
	a) HE MU radiotap information
	b) Multi sta BA frame generation and
minor fix,
	a) handling timestamp NULL,
	b) update NSS and other field in radiotap

Change-Id: I7a8b95328779f967b9e63ff8048242412ab472b0
CRs-Fixed: 3270361
2022-09-19 01:49:40 -07:00
aloksing
d3753e856b qcacmn: Fix incorrect sgi in 11ac VHT mode
sgi is getting overwritten in cmn usr TLV.
Add check if sgi and ltf_size is already set.

CRs-Fixed: 3279670
Change-Id: I8260eb71230b2c218e45460adc8f404a19eefa80
2022-09-13 23:02:56 -07:00
Rakesh Pillai
b98780527f qcacmn: Handle monitor tlvs to avoid extra logging
Currently there are few TLVs which are received in
the monitor status ring, but are not parsed for any
data. Since these TLVs are unhandled, it causes
excessive logging per monitor status ring entry.

To avoid such excessive logging, handle the currently
unhandled TLVs which are always received as part of
other TLVs in monitor status ring.

Change-Id: Idbe5a25e926a088adacaf5dfb892aff5885f8576
CRs-Fixed: 3266650
2022-08-16 15:18:32 -07:00
nobelj
09bc440ca9 qcacmn: Add support for tx monitor full buffer and minor fix
Add support and handle tx monitor full buffer payload and
other minior fix include change of name for uniformity.

Change-Id: If401ecd5e1c6263584fa7013df672459c883ca8b
CRs-Fixed: 3215244
2022-07-26 18:03:44 -07:00
David Oladunjoye
61b329ec5c qcacmn: hal: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: Id97d026b2d90a607974cc541d0301565af423f2f
CRs-Fixed: 3218239
2022-07-07 02:38:33 -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
nobelj
69a8a9c767 qcacmn: tx monitor populate basic tlv
tx monitor populate basic tlv data.

Change-Id: I346b5da00b967fb9717009a153e8f8db239494ef
CRs-Fixed: 3204929
2022-06-23 16:21:59 -07:00
Nandha Kishore Easwaran
debafd9b7b qcacmn: Add subtype filtering support
Add subtype filtering support for tx lite monitor.

Change-Id: I330f98abdfad3b9134f824b794a016dbd46696be
CRs-Fixed: 3219324
2022-06-16 09:15:21 -07:00
Harsh Kumar Bijlani
372f5a1376 qcacmn: Correct the value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT
Incorrect value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT
leads to non-zero value of field "Punctured Channel Info" in
USIG TLV in radiotap header even if puncturing is not enabled.

Correct the value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT to 14.

Also use correct set of macros for setting of usig_mask.

Change-Id: I4a5594f784137238ee4aa072c7595e83673c1960
CRs-Fixed: 3218536
2022-06-15 13:54:53 -07:00
Rakesh Pillai
ae051ef432 qcacmn: Handle Status buffer done tlv for monitor mode
WIFIRX_STATUS_BUFFER_DONE_E tlv indicates the dma
to monitor status ring is complete. Currently this
tlv is unhandled and the logs are flooded with error
message for this TLV being unhandled.

Handle the status buffer done tlv to remove the
unnecssary logging onto the console.

Change-Id: Ie1ac6adf46092ba7bff3ee4a3262fc98c8a6eb3d
CRs-Fixed: 3208659
2022-06-03 19:39:32 -07:00
Amir Patel
bf92ed7b61 qcacmn: Add sanity check while adding a-msdu subframe header
1. Add sanity check before adding a-msdu subframe header
2. Add truncate MPDU handling

CRs-Fixed: 3191386
Change-Id: I11e6f971e470e486438ece9c4a7daef3df9f71ed
2022-05-26 01:32:33 -07:00
nobelj
ba3853e95f qcacmn: Add fix for tx monitor double free and other minor fixes
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.

Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
2022-05-19 00:20:12 -07:00
Harsh Kumar Bijlani
5eeabf4f49 qcacmn: Update reception type from PPDU Start User Info TLV
For MU_MIMO traffic from AP to STA, RSSI Legacy TLV gives
reception type as QDF_RECEPTION_TYPE_ULOFMDA which is incorrect.

In order to fix this, update reception type from PPDU Start User
Info TLV. Also remove updation of reception type from LSIG TLVs
to avoid override of reception type value.

Change-Id: I9ef4c5bc7a15d4e68404d702bec61eca9c9bad4c
CRs-Fixed: 3178085
2022-04-29 17:21:08 -07:00
aloksing
4022e9c245 qcacmn: Fix build issue
Fix build issue when WLAN_FEATURE_11BE undefined.

Change-Id: Id94702aaa23480cb3793716a8c820a68c9c7cacb
CRs-Fixed: 3180403
2022-04-25 08:58:16 -07:00
Jeevan Kukkalli
cedb0f2795 qcacmn: Handle lite monitor frames
Call function to process mpdus when lite monitor
feature is enabled

Change-Id: I0df722a92e91bddc09a84dce2bc2aa6a67548045
CRs-Fixed: 3173953
2022-04-22 03:10:57 -07:00
aloksing
9cc1b3a305 qcacmn: Get RU details in MIMO case
Get NSS, MCS and RU size from PPDU_START_USER_INFO TLVs.

Change-Id: I5898a46a52e8a1eb25e3cf54e7dfe50c503e1b68
CRs-Fixed: 3167954
2022-04-21 04:33:31 -07:00
Amir Patel
19970ea217 qcacmn: Add MPDU restitch logic For Waikiki RxMON
a. For decapped frames, convert frames from 802.3 t 802.11
b. for non-decapped frames no conversion is needed
c. Apply radiotap header and deliver MPDU to osif layer

CRs-Fixed: 3074441
Change-Id: Ia03b4bad35d69aa292958782cd424f3df56dabbc
2022-04-19 05:17:25 -07:00
Jianmin Zhu
c180aaa364 qcacmn: Fix build issue
Fix build issue when WLAN_FEATURE_11BE undefined.

Change-Id: I98f0ecce27c363c8ad81b71034db243ea8547da1
CRs-Fixed: 3175322
2022-04-19 02:46:39 -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
Amir Patel
83294e6613 qcacmn: Add support for common_user_info TLV parsing
Add support for common_user_info TLV parsing for WKK

CRs-Fixed: 3160709
Change-Id: I4c76e6a6ca19cba7d21a0d42143811023c9b69b9
2022-04-08 01:57:23 -07:00
nobelj
9e0ab8e096 qcacmn: Add tx monitor flush/drop/truncated handling
Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon

CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
2022-03-29 14:11:56 -07:00
Harsh Kumar Bijlani
ff6dd1fab7 qcacmn: Update PPDU specific fields in Rx monitor HAL parsing
Update PPDU specific fields in Rx monitor HAL parsing.
Also correct the offset to be used for user info in EHT_SIG_HDR.

Change-Id: I9dd133d3617754475f097b54b6e1e460f2e67baa
CRs-Fixed: 3153475
2022-03-21 07:03:29 -07:00
Rakesh Pillai
00dcb987ed qcacmn: Fix the detection of non-ofdma packets from USIG header
Currently the detection logic for non-ofdma packets based
on the ppdu_type_comp_mode and ul_dl is incorrect.

Fix the logic to detect non-ofdma packets from USIG header.

Change-Id: Ic029a2fea948595157146e4105337d02d2e5ed43
CRs-Fixed: 3143088
2022-03-07 03:44:11 -08:00
Amir Patel
b37c8d9550 qcacmn: Handle empty, flush and truncated ppdu in RxMON
In case of empty HW descriptor, sw cookie is not valid.
Instead, HW reports ppdu_drop_cnt, mpdu_drop_cnt and
tlv_drop_cnt.
Do not process sw desc, if it's empty HW desc indication.

In case of flush and trucanted PPDU, status buffer need to be discard,
added handling for same.

Change-Id: I1219f71645072bb9e0e80ff271fa354f305c7961
CRs-Fixed: 3144525
2022-03-07 02:16:44 -08:00
aloksing
7148dfedf8 qcacmn: Handle enhanced stats from Rx monitor path in Waikiki
Update enhanced stats from Rx monitor path in Waikiki.
Populate mpdu_retry_cnt, sw_peer_id, mpdu_ok_byte_cnt and
mdpu_err_byte_cnt from PPDU_END_USER_STATS TLV.
Fix KW issue.

Change-Id: I055ff84f6304ba71b09a9a75b8420183ab6e9d8a
CRs-Fixed: 3134900
2022-03-03 04:56:34 -08:00
Amir Patel
f17d789fa6 qcacmn: Add Waikiki monitor HAL processing
Add Waikiki monitor HAL processing

CRs-Fixed: 3073467
Change-Id: I2b1768b827f34785effed6c076a099628870e2a5
2022-03-03 03:38:05 -08:00
nobelj
f0064e8e52 qcacmn: Waikiki tx monitor packet construction
Added function to construct packet and send to stack
after parsing.

Change-Id: I4621eb24840253db261aea63079e27f744f92698
CRs-Fixed: 3115608
2022-03-01 05:39:37 -08:00
nobelj
eb6d660139 qcacmn: Add HAL specific api to support tx monitor
Added HAL specific api to support tx monitor,
	1. to get buffer address
	2. get number of users
	3. get corresponding structure to handle tx monitor and
	4. parse limited TLV tag.

Change-Id: Ic354c76b3bcf5fa454db973c2aa4ee5f9c1b4208
2022-02-18 01:27:37 -08:00