Grafico dei commit

59 Commit

Autore SHA1 Messaggio Data
Nandha Kishore Easwaran
72a6ff4b6e qcacmn: Fix tlv processing for Big endian mode
Fix tlv processing code for monitor mode in Big endian mode.
Changed all the 64bit tlv extraction apis and used 32 bit extraction apis.
This is needed in big endian mode since HW supports word swap option and
TLV has to be intepretted using 32bit extraction APIs.

TLV tag, userid and TLV len falls on the first 32 bit and hence using
both 32bit or 64 bit extraction APIs give same result.

Change-Id: I9b9ff78c79f21888964d405016c58c3b5988b254
CRs-Fixed: 3551002
2023-07-31 19:37:48 -07:00
Aniruddha Mishra
ba55e0f2a8 qcacmn: Add Tx TLV Recording support
Add Tx TLV recording support for monitor 2.0
Also add support to control Rx and Tx TLV
recording

Change-Id: I27a0d2c9ea8bdfacd46e6b7188b45b08ed47bbcd
CRs-Fixed: 3422787
2023-05-16 11:43:14 -07:00
Srinivas Girigowda
5d8e550bb7 qcacmn: Add support for local packet capture start
Add support for local packet capture start and relevant changes.

Change-Id: I709e41e0be09cf73e93694efc59bfefbf51fe359
CRs-Fixed: 3415788
2023-05-10 11:50:28 -07:00
Srinivas Girigowda
0419d28f6e qcacmn: Move TX 2.0 code under WLAN_PKT_CAPTURE_TX_2_0 macro
Move TX 2.0 specific code under WLAN_PKT_CAPTURE_TX_2_0 macro.

Change-Id: I20bb1e49a902ec085fbc3df6828fef94a7c577d6
CRs-Fixed: 3415780
2023-05-10 11:48:59 -07:00
nobelj
45043b787f qcacmn: Add fix to increment NSS after parsing
NSS value derived from HW, need plus 1 to match the sniffer capture.
Added fix to increment NSS after parsing the TLV.

Change-Id: I1e0ef3949cefa1453290e400fa4a66000a3b5dea
CRs-Fixed: 3444508
2023-04-18 22:03:00 -07:00
nobelj
d1ddb7d4fe qcacmn: Add fix to receive response window ppdu
Received window ppdu are dropped in work queue context as it doesn't
have ppdu timestamp. Added fix to populate ppdu timestamp.

Change-Id: I3276284351f27ae2e8bfb787aa96fb031e4025ac
CRs-Fixed: 3439473
2023-03-22 05:58:47 -07:00
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
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
nobelj
85c8196528 qcacmn: Add support for tx monitor word mask compaction
Add support for tx monitor word mask compaction.
a. define word mask compaction structure
b. generalized function for compaction structure.

Change-Id: I508b6beca7e5da28377b31c754344c07a0abd438
CRs-Fixed: 3420593
2023-03-07 14:49:41 -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
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
Ruben Columbus
11742e7129 qcacmn: alloc reo qref table in dp_soc_attach
change allocation location for reo qref table.
per probe allocation results in mem alloc failure when
frame is fragmented

Change-Id: I5922bddebcd0577ba38734ae7d4194d726d825aa
CRs-Fixed: 3326520
2023-01-26 16:11:27 -08:00
Hariharan Ramanathan
a11c0b998f qcacmn: Remove file hal_be_api_mon.h included in hal_be_generic_api.h
Removing this file hal_be_api_mon.h included inside hal_be_generic_api.h
as it will get included from the parent files when required flags are
enabled.

Change-Id: I5dcf211dd03e2bd77cea51d4de3c07597a5dcf8e
CRs-Fixed: 3384459
2023-01-24 01:35:47 -08:00
Sai Rupesh Chevuru
166a30648f qcacmn: sanity checks in hal_attach
In case of memory allocation failures,
return appropriate failure to the caller in hal attach.

Change-Id: Ifc319bbc274d8a13836968d460eb8067857363b8
CRs-Fixed: 3357203
2022-12-29 05:19:31 -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
Nandha Kishore Easwaran
70a8c0b8f8 qcacmn: Add monitor includes into 2_0 support
Add monitor 2.0 code into QCA_MONITOR_2_0_SUPPORT macro.

Change-Id: Icd001a007c513750811b26eb7928c56dad1f9a79
CRs-Fixed: 3342797
2022-11-28 04:58:22 -08: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
Rakesh Pillai
b1869bda53 qcacmn: Add handler to get 802.11 header from packet
Add handler to get the start of 802.11 header when
NO_PKT_HDR_TLV feature is enabled.

Change-Id: I8d0cb453221ccb56996212c616e629256422a337
CRs-Fixed: 3273441
2022-08-26 14:21:19 -07:00
Pavankumar Nandeshwar
a615488cf4 qcacmn: Hal changes for Umac post reset at host
Hal layer changes to handle Umac post reset
and post reset complete events from firmware.

Change-Id: Ib25427930aab25650731c87b38e2ef7e47ae98d9
CRs-Fixed: 3267222
2022-08-21 00:37:53 -07:00
Ripan Deuri
28f25ca052 qcacmn: Support HW Tx delay stat
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.

Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
2022-08-17 04:58:14 -07:00
nobelj
653cfeb7b7 qcacmn: Add fix for response timestamp and others minor fixes
Added fix,
a. To populate response timestamp from phy timestamp.
b. Based on window type swap address1 and address2 to match the sniffer.
c. For VHT frames, increment 1 to the received nss value.

Change-Id: I68dffadb609d82e2ad2cf433fcee2a76b0be98e7
CRs-Fixed: 3235718
2022-08-09 08:19:03 -07:00
Ruben Columbus
7a962c59e6 qcacmn: add new files for HAL v2
add hal v2 new files

Change-Id: I7728be33db7d28e44d04f19c99e8b9f47145f2e3
CRs-Fixed: 3249002
2022-08-01 19:41:18 -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
Hariharan Ramanathan
16630d2422 qcacmn: Hal related changes for QCA5332
1. Changes to move hal_tx_config_rbm_mapping_be function from common to
device specific as it has ppe related snippets.
2. Changes to remove all PPE related codes in QCA5332 hal code.
3. Changes to correct macros according to fw_hrs.
4. Changes to move functions with device specific Macros to header files
so that it gets compiled with respective device's FW headers and gets
correct Macros

Change-Id: I479b406f318aa42d2b1032349aaf42d95b8c18e5
CRs-Fixed: 3235966
2022-07-25 02:03:09 -07:00
nobelj
8c3b9f7684 qcacmn: tx monitor populate block ack information from tlv
tx monitor populate block ack information from tlv

Change-Id: I500015e888a0984188bcee821262dee072dea7f9
CRs-Fixed: 3205304
2022-06-23 16:22:12 -07:00
nobelj
1113811c53 qcacmn: tx monitor populate SIG information from tlv
tx monitor populate SIG information from corresponding tlv.

Change-Id: I8b90c27e88574d4bb6610e500e33efd54a270c76
CRs-Fixed: 3204953
2022-06-23 16:22:06 -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
Jinwei Chen
45f5248753 qcacmn: support UL delay report for KIWI
support Ul delay report for KIWI

Change-Id: If78be5b7d1fa29e522d1df1d4372115d8e00473c
CRs-Fixed: 3222167
2022-06-21 05:18:22 -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
nobelj
90ad48aa86 qcacmn: tx monitor base framework for tlv parsing
tx monitor base framework for tlv parsing.

Change-Id: Ia39b17b32406b655b77ddcddf2b5df981aa7c56b
CRs-Fixed: 3203043
2022-05-30 10:47:11 -07:00
sumedh baikady
5d0d6db673 qcacmn: Clear HW REO cache for shared reo qref entries
Clear HW REO cache when new entry is written to shared
REO qref table.

Change-Id: I43cffb66b3e7fdf62afb7ffc1729275b868b9888
CRs-Fixed: 3189158
2022-05-06 16:42:57 -07:00
sumedh baikady
324dcd5688 qcacmn: Add target check for reo shared qaddr enabling
Enable REO shared qref for 11be targets.
Fix a compilation issue in printing dma_paddr type. 

Change-Id: Ib8568a82e96016ea367c8e0122d862e3d6e70d00
CRs-Fixed: 3178147
2022-04-26 14:59:37 -07:00
sumedh baikady
52181cceb1 qcacmn: Fix Reo qref issues
1. Since peer id is reused for reconnection in MLO case,
old entries for queue desc addr is cleared. Clear the reo
internal storage and reset it back on client connection.

2. Send Qref feature WMI cmd to FW to enable the feature.

Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1
CRs-Fixed: 3156642
2022-04-12 06:31:36 -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
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
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
Rakesh Pillai
d0eb950a7b qcacmn: Parse matched user info header from PHY tlv
Add support to parse the matched user info header
from the PHY TLV for EHT data traffic.

Change-Id: Ic5f47461b4617e087ff95863f4c6fc744266ee29
CRs-Fixed: 3128310
2022-02-15 17:28:18 -08:00
Rakesh Pillai
29586e0d60 qcacmn: Parse common user info header from PHY tlv
Add support to parse the common user info header
from the PHY TLV for EHT data traffic.

Change-Id: Id7d3359850806ec87945b4213771098121b0ce93
CRs-Fixed: 3094140
2022-02-15 17:28:13 -08:00
Rakesh Pillai
02df9e2ae8 qcacmn: Parse EHT-SIG header from PHY tlv
Add support to parse the EHT-SIG header from
the PHY TLV for EHT data traffic.

Change-Id: I05773c0086d1b67df8a08872832e36a96fb4b0b0
CRs-Fixed: 3093087
2022-02-15 17:28:08 -08:00
Rakesh Pillai
1e6e99702a qcacmn: Parse U-SIG header from PHY tlv
Add support to parse the U-SIG header from
the PHY TLV for EHT data traffic.

Change-Id: Icba9550795f87bb8ec7aa03af135ea05eb040ded
CRs-Fixed: 3093086
2022-02-15 17:28:02 -08:00
Rakesh Pillai
dad3ff5afa qcacmn: Add support to parse and aggregate split TLVs
For KIWI, when operating monitor mode in 802.11BE,
there can be certain header fields which can be received
as split across multiple TLVs.

Add support to aggregate such split TLVs and decode them
after agregation.

Change-Id: Ia00323a8f9fbe39306b1bbab4afefaa937befdae
CRs-Fixed: 3092820
2022-02-15 17:27:57 -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
Sumedh Baikady
e4d9b0c2d7 qcacmn: REO queue ref enhancement for Waikiki
In WIN BE chipsets, replace the REO tid
queue programming in FW via WMI with writing to a
Host managed table shared by HW and SW. REO HW will
pick the tid queue address from the table indexed by
peer id and tid number.

Change-Id: I8107ca5116425538329b11ae3519f02b32573bac
2022-02-02 12:06:29 -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
sandhu
ad2829718c qcacmn: Remove IP from files
remove IP from code

Change-Id: If119a4af213b10aadb9f1344e50b0342e72405c2
CRs-Fixed: 3073864
2021-12-29 04:28:58 -08:00
Rakesh Pillai
b93b4af698 qcacmn: Fix timestamp parsing from TLV for kiwi
For KIWI target, 64-bit timestamp is reported
in the PHY TLVs. use the first 32-bits timestamp
value for the radiotap header.

Change-Id: Ia7d7a6913e4cdca3a1432cc5edbb0348ec8a6857
CRs-Fixed: 3096680
2021-12-27 13:00:47 -08:00
Kai Chen
d93357ef5d qcacmn: Move CCE and flow hal implementation to per chip
Move CCE and flow hal implementation to per chip hal layer.

Change-Id: I95a37d8bab00cdecfd6e8ae9a724b8c5541b336e
2021-12-21 11:41:42 -08:00
Rakesh Pillai
63ea23ade1 qcacmn: Parse 64-bit TLVs in monitor status ring for WCN7850
In WCN7850, the tlv header width is 64-bit and the tlv header
start is 8-byte aligned inside the monitor status ring desc.

Add changes to parse the monitor status ring TLV according
to the TLV header width.

Change-Id: I19860b871abbc3037174b9d0ae5ed6e52b1eb736
CRs-Fixed: 3084443
2021-12-15 08:44:09 -08:00