Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon
CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
Even if HW cookie conversion is enabled on KIWI, there is some
case HW cookie conversion might not be done by HW, check the cookie
conversion done bit and get Phy Address accordingly.
Change-Id: I4ee7ed9776086812774637f07da1e4504898c3c4
CRs-Fixed: 3153433
Kiwi target does not used TX status ring.
Hence disable the tx status ring for Kiwi.
Change-Id: If3a39a0017a884bee2320188621b1f05e0c6d568
CRs-Fixed: 3150815
Kiwi target does not used TX cmd credit ring.
Hence disable the tx cmd credit ring for Kiwi.
Change-Id: Ibd5fe2905a7362ea2ab89e65d77c7aea6ab259ee
CRs-Fixed: 3150814
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
Currently in some case we are receiving non error packets on REO2TCL
ring, which is causing issue.
Fix is to set DEST_RING_MAPPING_0 to SW1 for REO dest ctrl
register, So that non error packets with reo_destination_indication
with 0x0 in the reo entrance ring will be routed to SW1 ring.
Change-Id: I67f78f35e7dba899943307902d99d0325a60498f
CRs-Fixed: 3150186
Add a separate APIs to configure RxDMA and RXOLE
configuration to enable the PPE based routing.
Change-Id: I95b8fbb361402bc04fc1f38aa8b0dbc6f99f4f06
CRs-Fixed: 3147720
Make 1:1 dependency on num REOs and rx_thread. Keep num rx_thread
dependent on rx REO rings, 1 rx_thread for each rx REO ring.
Controlled via INI dp_reo_rings_map.
Change-Id: I7c199226cfa3f173ea328d71075816b8eb9ba91f
CRs-Fixed: 3048260
Fetch phy addresses for wbm release ring descs
in the cookie conversion enabled case
Change-Id: I420dc395bfa7b783dfed98b7258e7c0f0728e543
CRs-Fixed: 3146766
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
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
Add feature support to tag first packet that wakes up HOST from WoW.
rx_pkt_tlv.rx_msdu_end.reserved_1a field is used by TARGET to meet
such request.
Change-Id: I3d37e13e8cff49bc4f622d3070a19e4c4be56417
CRs-Fixed: 3137621
Use msdu_done_copy bit for Waikiki instead of msdu_done
bit, as access to the latter involves reading of an entire
new word, of which no other parameters are accessed.
Change-Id: I09017e53faff73aef484241f1972fe8c75585eb0
CRs-Fixed: 3132624
Add 64 bit extraction macros for Tx since many monitor
tlvs in QCN9224 use 64 bit offset and shift masks.
Change-Id: Ibf910d876d2305ae8eb16955dab1ed2dd9d66290
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.
Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
Add HAL APIs to access TX fields to override default flow
classification by hardware.
Change-Id: If2eb0c5a966f87081a7714836c2c4bc0bd47fa86
CRs-Fixed: 3114311
Bifurcate the hal_get_reo_qdesc_size to corresponding lithium
or Berillium platforms.
This can handle difference, if any between them and later enhance
to set the qdesc size based on peer negotiation.
Currently for NON_QOS_TID, the BA window size is hardcoded as
256 for Li and 1024 for Be.
Also modify hal_reo_cmd_update_queue_params to accommodate higher
Block-Ack Window size. For this steal bits from pn_size and use
pn_size values as macros PN_SIZE_XX which is only 3 bits,
instead of 8bits.
Change-Id: If310175da579aa3a47a8b031a1774c6c8982d4b2
CRs-Fixed: 3125986
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
KIWI V2 WBM completion release reason codes are changed to match legacy
lithium release codes. Takecare to enable translation only for KIWI V1.
Change-Id: I094f40440b290ae424b47a7ba176b81ffea6c592
CRs-Fixed: 3132359
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
Add change:
1. Extract phyrx abort and phyrx abort reason error
code from PPDU END TLV
2. Extract additional necessary fields from L SIG,
HT/VHT/HE SIG TLVs
Change-Id: I3b05009cdc7ce7b585c00d1690ad238b9e6a88b2
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
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.
Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.
Change-Id: I28612d388009292ff751fe514183fb801909f485
Currently window register accessing with PLD lock is not enabled for
HIF path of KIWI, enable it so there is no race condition with HAL
register accessing path.
Change-Id: Iceeba36ca6febdeca0e7f7bc0dcb7d4adc17bc51
CRs-Fixed: 3110425
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info for QCA6750.
Change-Id: I164324b1e929399a8dacf88f3012970c65d5d653
CRs-Fixed: 3115256
Fix compilation error when monitor mode files are not present
and QCA_MONITOR_2_0_SUPPORT is disabled.
Change-Id: Ia70976a89c0ca2349cf744c23a68b3004cbd3325
CRs-Fixed: 3117582