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
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
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
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
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
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/be folder, so fix them.
Change-Id: I9730c36e4d36dbe0ae551067c5c500441f07569f
CRs-Fixed: 3400933
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
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
In case of memory allocation failures,
return appropriate failure to the caller in hal attach.
Change-Id: Ifc319bbc274d8a13836968d460eb8067857363b8
CRs-Fixed: 3357203
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
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
Add handler to get the start of 802.11 header when
NO_PKT_HDR_TLV feature is enabled.
Change-Id: I8d0cb453221ccb56996212c616e629256422a337
CRs-Fixed: 3273441
Hal layer changes to handle Umac post reset
and post reset complete events from firmware.
Change-Id: Ib25427930aab25650731c87b38e2ef7e47ae98d9
CRs-Fixed: 3267222
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.
Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
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
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
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
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
Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon
CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
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
Add support to parse the matched user info header
from the PHY TLV for EHT data traffic.
Change-Id: Ic5f47461b4617e087ff95863f4c6fc744266ee29
CRs-Fixed: 3128310
Add support to parse the common user info header
from the PHY TLV for EHT data traffic.
Change-Id: Id7d3359850806ec87945b4213771098121b0ce93
CRs-Fixed: 3094140
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
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
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
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.
Change-Id: I28612d388009292ff751fe514183fb801909f485
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
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