Commit Graph

644 Commits

Author SHA1 Message Date
Neelansh Mittal
ea3efe6a60 qcacmn: Call HTT RxDMA and RxOLE PPE cfg API
Add a separate APIs to configure RxDMA and RXOLE
configuration to enable the PPE based routing.

Change-Id: I95b8fbb361402bc04fc1f38aa8b0dbc6f99f4f06
CRs-Fixed: 3147720
2022-03-15 00:11:19 -07:00
Wu Gao
62706fd667 qcacmn: Correct registers when populate cfr information
Correct registers when populate mcs & gI parameters to cfr_info for
KIWI.

Change-Id: I323df60ec6e30541f85032a7affaade0e1dca177
CRs-Fixed: 3121694
2022-03-15 00:10:53 -07:00
Prakash Manjunathappa
61178a761e qcacmn: Make num REOs and rx_threads depend on dp_reo_rings_map
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
2022-03-14 22:31:21 -07:00
Pavankumar Nandeshwar
fb2b00a1b9 qcacmn: Fetch phy addresses for wbm release ring descs
Fetch phy addresses for wbm release ring descs
in the cookie conversion enabled case

Change-Id: I420dc395bfa7b783dfed98b7258e7c0f0728e543
CRs-Fixed: 3146766
2022-03-09 21:34:31 -08: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
Jia Ding
d40b388d2f qcacmn: Mark first packet after wow wakeup
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
2022-03-03 07:22:05 -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
aloksing
482fba652b qcacmn: Increment pkt type for WKK
Define DOT11_BE as per Rx tlv
Increment pkt type for WKK

CRs-Fixed: 3121279
Change-Id: Id4bf93e5dcda08cc7fccfe3f8f06b00e5b29d4e3
2022-03-03 03:37:57 -08:00
Pavankumar Nandeshwar
5f9a27027d qcacmn: Use msdu_done_copy bit for Waikiki
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
2022-03-02 08:15:48 -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
Chaithanya Garrepalli
6b19153bf0 qcacmn: Correct the print for mpdu_start
In hal_rx_dump_mpdu_start_tlv_9224 use right loglevel

Change-Id: I790c658d01a3fb0cbff1eb42842b45e6e35530a2
CRs-Fixed: 3137788
2022-03-01 03:45:36 -08:00
Pavankumar Nandeshwar
e57b5cfe7b qcacmn: Remove tags from the tlvs and support NO_RX_PKT_HDR_TLV
Remove the tags from the tlvs and support NO_RX_PKT_HDR_TLV
for Beryllium

Change-Id: Ie759582b67a1ae78cddc0402916f9a39e0023009
CRs-Fixed: 3137156
2022-02-28 16:12:32 -08:00
Nandha Kishore Easwaran
c27e15c6da qcacmn: Add 64 bit extraction macros for Tx
Add 64 bit extraction macros for Tx since many monitor
tlvs in QCN9224 use 64 bit offset and shift masks.

Change-Id: Ibf910d876d2305ae8eb16955dab1ed2dd9d66290
2022-02-28 11:33:42 -08:00
Neelansh Mittal
2c06a656a5 qcacmn: Add support for PPE
Add the PPE related DP APIs

Change-Id: I25aeff73fef21a7a8ad0f0e6e8aa6c537a233029
CRs-Fixed: 3045340
2022-02-28 11:33:37 -08:00
Ripan Deuri
eb543663d2 qcacmn: Enable usage of delta_tsf for SAWF
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
2022-02-28 07:53:27 -08:00
Mohit Khanna
5805824049 qcacmn: Add HAL APIs for flow override in BE
Add HAL APIs to access TX fields to override default flow
classification by hardware.

Change-Id: If2eb0c5a966f87081a7714836c2c4bc0bd47fa86
CRs-Fixed: 3114311
2022-02-24 01:00:06 -08:00
Chaithanya Garrepalli
f2ff4d40b6 qcacmn: Fix Klockwok issue
Fix OOB issue reported in KW in
hal_reo_ring_remap_value_get_be API

Change-Id: I576340aad735dd7d968d623ff131ef0f7773be3b
2022-02-23 12:28:46 -08:00
Chaithanya Garrepalli
be02a2d44f qcacmn: Add stats for new TQM release reason on BE
Add Tx completion stats for TQM release reason added
for BE

Change-Id: I7d28cbfacd1378982c5cf9a3f2cf3cffa070ee87
2022-02-23 08:37:16 -08:00
Vinay Adella
381d67a7a2 qcacmn: Add support to get reo qdesc size for li & be platforms
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
2022-02-22 16:04:01 -08:00
Pavankumar Nandeshwar
70bd47772e qcacmn: Sanity check for phy addr in cb against ring_desc
Check phy addr in cb against ring_desc for sanity
in wbm rx path

Change-Id: I40dd2949993129d1da548da45160f9eace094bff
2022-02-18 15:32:02 -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
Prakash Manjunathappa
0447218ad2 qcacmn: KIWI V2: take care changed WBM completion release source
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
2022-02-17 07:45:22 -08:00
Jeevan Kukkalli
0101390bcd qcacmn: Update rxdma error code
Populate rxdma error code while reading sw monitor
ring descriptor

Change-Id: I4f95f7d2ccc16dd8178dd12d762bce7af4f57aff
CRs-Fixed: 3094251
2022-02-16 10:26:26 -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
Naga
03c268ac2d qcacmn: Fix to receive correct buffer address
Fix to receive correct descriptor buffer address
for tx monitor

Fix to send correct filter settings enabled

Disabled default filter display log level to debug.

Change-Id: I7ca1b1110cdcb10ca65ab8c414c19a81f1f4d331
CRs-Fixed: 3121965
2022-02-14 07:12:25 -08:00
Basamma Yakkanahalli
1ce26880e3 qcacmn: extract phyrx abort info to capture undecoded metadata
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
2022-02-12 17:55:48 -08:00
Srinivas Girigowda
19e8de26f3 qcacmn: Changes required to build against kiwi v2 hw files
Changes required to build against kiwi v2 hw files.

Change-Id: Id2351b9e2d05155bf1e51035c0245ed099762866
CRs-Fixed: 3122905
2022-02-11 16:02:42 -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
Amir Patel
8e96dd29e8 qcacmn: Disable Enhanced PPDU stats and low watermark interrupt
Disable Enhanced PPDU stats and low watermark interrupt for WKK

CRs-Fixed: 3120686
Change-Id: I8eecd2e17cb0748d1e7d15b28ce3d16f69fe81d5
2022-02-02 04:25:52 -08:00
Neha Bisht
5f8681ff1e qcacmn: Enable the 4th Tx. completion ring
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.

Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
2022-02-01 21:04:30 -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
Jinwei Chen
77530eea0b qcacmn: support PLD lock for window register accessing
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
2022-01-27 23:00:55 -08:00
Wu Gao
a6d46ebc8b qcacmn: Populate additional params to CFR info for QCA6750
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
2022-01-27 03:12:49 -08:00
Wu Gao
cf7bae960f qcacmn: Add CFR supports for KIWI
This change adds CFR supports for KIWI.

Change-Id: I895eeae41c7f8bba4a35ee46a2ad6a1eadf82f9b
CRs-Fixed: 3114230
2022-01-27 00:53:46 -08:00
Kiran Venkatappa
0bada76a48 qcacmn: Fix compilation when monitor mode is not enabled
Fix compilation error when monitor mode files are not present
and QCA_MONITOR_2_0_SUPPORT is disabled.

Change-Id: Ia70976a89c0ca2349cf744c23a68b3004cbd3325
CRs-Fixed: 3117582
2022-01-27 00:53:41 -08:00
Naga
15ee4b1a2a qcacmn: correct LF copyright year
correct LF copyright year.

Change-Id: Ia631bf4f1f452d3c8171b2b99ed9a68a08fc647e
CRs-Fixed: 3114190
2022-01-23 03:33:13 -08:00
Yeshwanth Sriram Guntuka
8e11d1a8fb qcacmn: Add frag dma unmap handling for SG packets
DMA unmap for scatter gather packets is done using
only frag0 dma address and the entire packet length
which will lead to incorrect behaviors. Add handling
to do dma unmap for all the fragments of SG packets.

Change-Id: I614553d9f96c573f0095c9be38706fd4ac3223ab
CRs-Fixed: 3112424
2022-01-22 09:53:24 -08:00
Namita Nair
d3e9c9ca97 qcacmn: Fix TCL_DATA_CMD struct parsing in KIWI crash dumps
The compiler removes unreferenced TCL_DATA_CMD struct from the
object file. Hence this cannot be parsed in the dumps. This fix will
inform the compiler to retain the structure.

Change-Id: I6bc12893769f17dc3f51130b7e947f62b1bd3ea9
CRs-Fixed: 3105021
2022-01-21 05:16:44 -08:00
Neelansh Mittal
fc1320b1fa qcacmn: Fix LF Copyright Markings
Fix LF Copyright Markings

Change-Id: I450e95a08a4cf6105932e98486a185ea1fb2dabf
2022-01-20 11:04:26 -08:00
Yu Tian
a20affa799 qcacmn: Avoid overwriting radiotap information in monitor mode
PHY related info. has been updated when processing PPDU status
in Monitor mode, but it's got overwritten uncorrectly when
processing RX_MSDU_START TLV in VHT mode. Change aims bypassing
the wrong update, when it's working in VHT mode.

Change-Id: I2c78db66bc7222e3eebf052fb6e57d6f9d859286
CRs-Fixed: 3108059
2022-01-12 22:54:08 -08:00
Amir Patel
484c917fbf qcacmn: Fix WKK monitor compilation issues
Fix WKK monitor compilation issues

Change-Id: I04bd89341e61bdcef59ecb03baa6cf53ca970cbe
CRs-Fixed: 3100286
2022-01-10 23:54:10 -08:00
Amir Patel
3abc7d0459 qcacmn: Add API to free sw mon_desc to pool
Add API to free sw mon_desc to pool

Change-Id: Ibc10c7dc9a41d4c972471683b7232c76d46c5109
2022-01-10 23:54:04 -08:00
Naga
902e67deb9 qcacmn: Fixes for wkk monitor bringup
Fixes for initial wkk monitor bringup in emulation.

Change-Id: Ic7b05b8822ef68daee7dd614fcac7a7de7b9b3fa
CRs-Fixed: 3087563
2022-01-10 22:14:01 -08:00