Gráfico de commits

307 Commits

Autor SHA1 Mensagem Data
Jeevan Kukkalli
2b76805c5a qcacmn: Handle FPMO filter configuration
Handle FPMO mode filter settings configured
from lite_mon tool.

Change-Id: I9bfe70101bae7c8f55c6db95d9c36f4c1d308e95
CRs-Fixed: 3235935
2022-08-02 05:16:18 -07:00
Himanshu Batra
a2f709fa4f qcacmn: Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT
Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT to represent
the feature supported under this macro

Change-Id: Ie1e387d641052cd5690c63f0c1216f4852544605
CRs-Fixed: 3250264
2022-07-25 05:13:47 -07:00
Shiva Krishna Pittala
68c2b67520 qcacmn: Add support to populate and send UMAC reset setup command
UMAC reset prerequisite setup command contains the following information.
- Interrupt number to be used for raising the UMAC reset interrupt
- Address of the shared memory
This is an HTT command. Send this command as part of the UMAC reset
initialization sequence.

Change-Id: I7a08f48b420580b5e3dbb9b46f6605d986f8fd89
CRs-Fixed: 3244930
2022-07-21 16:09:51 -07:00
Himanshu Batra
7be2cf3775 qcacmn: Add support for vlan tagged traffic in IPA offload
In IPA offload, both tagged and untagged traffic cannot be handled with
a single rx pipe. Hence, add support for 2nd RX pipe for tagged and
untagged traffic respectively.

Change-Id: I77ff633327696f66df42fb592492321c1591646b
CRs-Fixed: 3226021
2022-07-21 11:02:34 -07:00
Ripan Deuri
b8fadd7061 qcacmn: Support HW Tx delay for MLO
Add delta_tqm, delta_tsf2 and mlo timestamp offset for BE.
These offsets are used to calculate hardware Tx completion delay.
delta_tsf2 and delta_tqm are updated during init. mlo timestamp
offset is updated whenever target sends the update event.

Also, adding CDP ops to set the offsets.

Change-Id: I55665982798c3a795481fa96c023bb851ea17476
CRs-Fixed: 3220906
2022-07-05 23:20:59 -07:00
Jeevan Kukkalli
61279b8b22 qcacmn: Properly increment msg word during rx tlv filter config
Properly increment message word variable while forming rx ring
selection config htt message. Message word should point to
appropriate word before calling individual feature config funcs,
this will help to track exact message word position in calling
function.

Change-Id: Iad6c446ac91fdb5be9286f4fa076847e1728dc74
CRs-Fixed: 3219549
2022-06-29 18:53:46 -07:00
Ripan Deuri
26dff6988a qcacmn: Handle PPDU ID format message
This is a generic T2H message in which a target can specify bits and
offsets to extract a parameter from PPDU-id. Use link-id bit and offset
present in T2H message to extract hw link-id from PPDU-id on Tx completion.

Change-Id: I64b7559e88b037e30f52ba0b75ab62349e469d20
CRs-Fixed: 3195432
2022-06-23 01:59:01 -07:00
Yu Tian
7c157e8716 qcacmn: Set BA status to active when receiving ADDBA event
Usually, ADDBA frame exchange is handled by HOST. But when this
is offloaded to FW, an HTT event is reported and HOST only needs
to update RX tid parameters, no need to send addba resp frame again.
BA status update is in addba resp TX completion, so there is no chance
to update this field in ADDBA offload case. This change is used to
set ba status to active to make ba session in correct status.

Change-Id: Iae4a1974cf4b8c55b20862df51b14d5011aefd73
CRs-Fixed: 3201455
2022-06-21 03:13:26 -07:00
Jinwei Chen
242339083b qcacmn: support new htt rx addba and delba msg
Add support for new HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN and
HTT_T2H_MSG_TYPE_RX_DELBA_EXTN handling.

Change-Id: Ie06891092e5bf552bf721404222fb1b0b624ba36
CRs-Fixed: 3208118
2022-06-07 21:21:21 -07:00
Kai Chen
8cace9cda9 qcacmn: Adding mlo timestamp offset to tsf for radiotap
Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header.

Change-Id: I2947dacf6c37214e60d70fcb3df4a5f9897356ac
CRs-Fixed: 3211179
2022-06-03 13:47:38 -07:00
Ripan Deuri
3cd2e7a588 qcacmn: HTT handler for SAWF MPDU stats
Add handler for processing SAWF MPDU stats sent by the FW.

Change-Id: I9e69b66563ebba583883bf18f645b19ed9470927
CRs-Fixed: 3195239
2022-05-27 01:20:49 -07:00
Aravind Kishore Sukla
6932ea7f8a qcacmn: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: Ib2736aff0f653d046d502d460f204bba2247246f
CRs-Fixed: 3182588
2022-05-10 09:11:47 -07:00
Abishek Ganapathy
9a7fa82e8f qcacmn: Update TLV length in peer map handler
Update TLV length in peer map handler to correctly point to the next TLV
header.

Change-Id: Ie60c62040cb35b60a3bfbd302a176294903c94e6
CRs-Fixed: 3183057
2022-05-05 09:50:32 -07:00
Abishek Ganapathy
e79a7628e6 qcacmn: Find peer using mld_addr for MLO case
For MLO, try to find peer by comparing the MLD MAC
addresses.

Change-Id: Ib109da957d5c330385688a4e91e04cda91a51f30
CRs-Fixed: 3140866
2022-04-22 07:27:02 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Harsh Kumar Bijlani
9aa4e0f9f5 qcacmn: Add subscription for PPDU_START_USER_INFO TLV
In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.

Add subscription for this TLV by host for enhanced stats use case.

Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
2022-04-19 13:21:55 -07:00
Harsh Kumar Bijlani
84a762d85d qcacmn: Consider tqm bypass frames for stats accounting
Parse the tqm bypass frames packet count and byte count and consider
them for stats updation in the vdev.

Change-Id: I644eb9819b8a68fbf9da2e2f2588c80dfaa61fa5
CRs-Fixed: 3163215
2022-04-04 03:49:53 -07:00
Sai Rupesh Chevuru
a3fdf41f5c qcacmn: In case of FTM mode use FW metadata V1
In case of FTM mode use FW metadata V1

Change-Id: I3d18d1ee5fddf457df7f3d3df5d43ea5b9c56fc1
CRs-Fixed: 3159291
2022-03-28 03:09:54 -07:00
Amir Patel
3b816d7013 qcacmn: Fix monitor dest srng init in case of splitphy
1. pass appropriate pdev_id as ring_num for srng init
2. Increase max rings for monitor destination rings

CRs-Fixed: 3152722
Change-Id: I36aa2f4e8e5d7fa41ee90a39593cbb8cdf86ec44
2022-03-23 03:32:22 -07:00
Naga
9ad28af16e qcacmn: Remove redundant field for rxmon global enable
Remove redundant field for rxmon global enable
and fix writing global enable field to correct
dword

Change-Id: I4efc0da559dce873bcb8721aeb0d7b7410b39dd9
CRs-Fixed: 3150784
2022-03-22 03:25:09 -07:00
Rakesh Pillai
b68fd9ba67 qcacmn: Disable TX STATUS ring for Kiwi
Kiwi target does not used TX status ring.
Hence disable the tx status ring for Kiwi.

Change-Id: If3a39a0017a884bee2320188621b1f05e0c6d568
CRs-Fixed: 3150815
2022-03-21 20:51:04 -07:00
Rakesh Pillai
f15646c12b qcacmn: Disable TX cmd credit ring for Kiwi
Kiwi target does not used TX cmd credit ring.
Hence disable the tx cmd credit ring for Kiwi.

Change-Id: Ibd5fe2905a7362ea2ab89e65d77c7aea6ab259ee
CRs-Fixed: 3150814
2022-03-21 20:50:58 -07:00
Neelansh Mittal
28d17d9290 qcacmn: Add HTT RxDMA and RxOLE PPE message
Add the DP HTT RxDMA and RxOLE data types and their
respective configuration APIs.

Change-Id: I4ce423a31eab84764666b7d0f11815f4895898af
CRs-Fixed: 3147720
2022-03-15 00:11:10 -07:00
Vivek
f8beed3fc7 qcacmn: Change search type to HAL_TX_ADDR_INDEX_SEARCH for sawf
Firmware expects search type to be 1 in
per packet path when sawf is enabled.

Change-Id: I6d7e5cae9b46f5a15eb0a53eefb9534ccb36ef64
CRs-Fixed: 3138558
2022-03-07 06:23:06 -08:00
Sai Rupesh Chevuru
9e4a8f0f21 qcacmn: Enabling TX FW metadata V2
As part of TX FW metadata V2 global sequence number based
and SVC ID based support added.

Change-Id: Iefee2c47ecbebf6edfec9a687ef67e0e270bbf06
CRs-Fixed: 3136931
2022-03-03 03:38:24 -08:00
Varsha Mishra
0d2ec58510 qcacmn: Fill metadata for sawf feature
Fill metadata for transmission in lithium and berrylium
when sawf is enabled.

Change-Id: Icc76ca7b8310c21a98e7f01984d4901afba0526c
CRs-Fixed: 3138558
2022-03-02 01:28:33 -08:00
Amit Mehta
8aa367acfa qcacmn: Print ring information in htt srng init and cfg
As part of debug enhancement Print ring information in
htt srng init and htt srng cfg

Change-Id: I59a7831b6ded1028b3a8f246656e982ae7de5b86
CRs-Fixed: 3133836
2022-02-28 17:44:15 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Ripan Deuri
831995f9ca qcacmn: Add default queue map config message handler
Add default queue map config msg handler. This msg is sent by the target
in response to a default queue map request.

Change-Id: Id08e0b175172614514b9fb2dcabcc5f7f068896f
CRs-Fixed: 3126854
2022-02-17 06:25:05 -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
Amir Patel
28ecc1a2f1 qcacmn: Add RxMON global enable support
Add RxMON global enable support for WKK

Change-Id: If732318788821303441a5db9ebe21bd2d56b3679
CRs-Fixed: 3123532
2022-02-04 19:55:36 -08:00
Amir Patel
2219ac036c qcacmn: Use appropriate srng id in htt_srng_setup and ring_selction_cg
Use appropriate srng id in htt_srng_setup and ring_selction_cg
for WKK monitor

Change-Id: Ibe04f51f787e6fa3fe0b9d8a8c6a54a33f673139
2022-01-10 23:53:51 -08:00
Naga
a78c5cfb98 qcacmn: Filter settings for monitor 2.0
Filter setting for monitor 2.0

Change-Id: I008c38977952767b9901705f0cf667178f38a786
CRs-Fixed: 3087759
2022-01-10 22:14:07 -08:00
Naga
7798784bc5 qcacmn: Fixes for compilation issues
- Fixes for compilation issues after enabling
  monitor 2.0 support.
- change copyright year for all files in the chain.

Change-Id: I885e257bd8ca83850656d8a1f408c1bc34920d7a
CRs-Fixed: 3086483
2022-01-10 06:24:34 -08:00
Rakesh Pillai
125174cdd1 qcacmn: Initialize only one RXDMA Monitor Status ring
For WCN7850, the first mac (i.e.. MAC0) is capable of
2G/5G and 6G data transfer. Hence initialize and use
only on RXDMA monitor status ring.

Change-Id: Idb6e23a887a9ed32a52dd54765e5ed3c6a12df06
CRs-Fixed: 3094138
2021-12-28 10:51:54 -08:00
Sai Rupesh Chevuru
b43e679a58 qcacmn: Multicast support for MLO
Multicast support for MLO
1. Following functions are newly added.
	dp_rx_igmp_handler()
	dp_tx_mlo_mcast_handler_be()
	dp_rx_mlo_mcast_handler_be()
	dp_mlo_get_mcast_primary_vdev()

Change-Id: If215f843369e6e2621ef302b924e524c86f0d30b
2021-12-16 05:35:30 -08:00
Rakesh Pillai
63233c05dd qcacmn: Initialize only 1 RXDMA DST ring for WCN7850
WCN7850 has only one RXDMA DST ring, as opposed to other
lithium family chipsets, which had 2 RXDMA DST ring.

Refactor the code to pick the number of rxdma destination
rings from CFG context.

Change-Id: I20d475c02690043e969bc7a78605809b8c6814ae
CRs-Fixed: 3084440
2021-12-15 08:43:59 -08:00
Harsh Kumar Bijlani
21fb667866 qcacmn: Correct the offsets & byte cnt computation in HTT stats
Offsets used by host for HTT stats are not aligned as per the
structure declaration given in file htt.h .
Make change to use the correct offsets to get the correct stats.

Also make change for byte count computation.

Also make cleanup changes for FR65817.

Change-Id: I8bc6164cc4994c49536d7277779f25b258be1592
CRs-Fixed: 3082742
2021-12-06 21:13:41 -08:00
Harsh Kumar Bijlani
356b9766fd qcacmn: Host<->FW HTT interface for HW vdev stats in BE
Define the interface for Host and FW communication required for
configuration of HW vdev stats in BE architecture and add handler
for vdev stats received from FW.

Change-Id: I5f6a703596bd1fbb5e27e6261befda25aa0c3e12
CRs-Fixed: 3067843
2021-11-30 00:58:11 -08:00
Adwait Nayak
c96961a186 qcacmn: FR65980: Add MLO timestamp support for pktlog
Whenever firmware receives the sync interrupt, it would
update the MLO offset to the scratch registers. Additionally,
firmware also sends a HTT message.

The values from the HTT message are copied into two structures:
1. into the dp_pdev structure, for monitor mode usage
2. into the scn structure for updating the pktlog header
    A new WDI event is introduced for MLO timestamp sync into
    pktlog header. Host sends the WDI event once it receives
    htt msg and the data gets parsed in the pktlog handler and
    eventually pktlog header gets updated with those values.

Whenever pktlog memory is being filled, the latest value from scn
structure is filled into the pktlog header. Upon receiving a new
HTT message, the value in the scn structure is updated and
subsequently into the pktlog records as well. All the 8 bytes
from the HTT message are required to calculate the MLO timestamp
offset. The calculation of MLO timestamp offset is to be taken
care by the PKTLOG parsing script.

Change-Id: If1d40b4a889e58b358f0feae692958bca2b8e1de
CRs-Fixed: 3074184
2021-11-26 10:13:16 -08:00
Devender Kumar
30482aa5c4 qcacmn: Change buffer replenishment model for SDX+Pine
For IPQ products, there is 1 refill ring which is of hardware type
and host replenishes the buffers onto this ring so that hardware can
use these buffers for Rx.

In IPA offload mode, the buffer replenishment model is different from
the one mentioned above. There are 3 refill rings, out of which,
2 are software refill rings (1 for host and 1 for IPA), and last ring
is hardware ring given to FW.
Ring given to IPA is to refill the buffers after processing the
regular Rx packets and ring given to host is to refill the buffers
after processing of exception packets. Since there are 2 entities to
refill the buffers, the hardware ring given to FW multiplexes these 2
software rings and provides the buffers to hardware.

Make changes to follow above replenishment model for SDX+Pine
integration.

Change-Id: I0d9e4ec811a3023a258e0a6b9ee22ccdffcebafa
CRs-Fixed: 3049633
2021-11-19 03:22:08 -08:00
Rakesh Pillai
2069fa6cdd qcacmn: Handle htt peer map/unmap v3
Add the handler for processing the htt
peer map/unamp v3 and MLO peer map/unmap msgs.

Change-Id: Ie2ab0b76e7aee566ca3b9637b83fd7a14718ab01
CRs-Fixed: 3039326
2021-10-15 13:13:22 -07:00
Naga
c46ec16889 qcacmn: Add change to modify if to ifdef
Add change to modify if to ifdef

Change-Id: I49e3841deb4168cbbc4e0a4f045413717aa97d2a
CRs-Fixed: 3050747
2021-10-12 02:29:35 -07:00
Naga
e1a6f926ed qcacmn: Add new HTT msg support for BE
- Add support htt msg for HTT_H2T_MSG_TYPE_TX_RING_SELECTION_CFG
  msg configuration
- Add support for configurable length dma
  per packet type for rx monitor.
- Add support for wordmask subscription for rx monitor.
- Add support for per packet msdu/mpdu logging config.
- Add support for tx monitor tlv subscription.
- Dummy APIs for 2.0 filter configuration

Change-Id: I36b18c03eff452537c2f051b24275b81ab98ebae
CRs-Fixed: 2991330
2021-10-12 02:29:05 -07:00
Harsh Kumar Bijlani
2cd98c7974 qcacmn: Restrict length of pdev backpressure event list
In current architecture, when host receives backpressure
event from FW, it prints pdev_id, ring_id, hp and tp values
for that ring in the tasklet context.
In same context, memory to hold the information of other
rings is allocate,  which then put into the list maintained
at pdev level and work is scheduled for printing this info.

In scenarios of heavy load, where the backpressure events
are continuously triggered, the list can grow to a bigger
one and printing of ring stats for all of these events can
be a heavy CPU hit.

As an optimization, restrict the depth of the list to 16
by checking the size of list when backpressure event is
received from FW. When list size reaches the max value (16),
then remove the entry from head and insert the new entry at tail.

Also in the worker thread, fetch only 1 entry from the list for
printing and schedule the work again if the list is not empty.

Change-Id: If4291b9d5ebee1e3d1eea80bbd0134faf090b2b8
CRs-Fixed: 3049635
2021-10-08 02:36:17 -07:00
sandhu
18fe5c3f02 qcacmn: Add dp functionality to support stats sysfs
Add dp functionality to collect stats for sysfs buffer.
Add both host and fw stats.

Change-Id: I64f84804d36cccec9d701925d96cc7ee96943b7a
CRs-Fixed: 3035864
2021-10-05 02:51:27 -07:00
Pavankumar Nandeshwar
6b1d142d98 qcacmn: Enable wds changes in Beryllium
wds in Beryllium is managed by hardware.
Make use of hardware managedwds and disable
the corresponding wds handling done in host
for Beryllium.

Change-Id: I39f23cb40c6c5f85ada8ce59c92ff2855bb18da3
2021-09-30 15:15:25 -07:00
Harsh Kumar Bijlani
f366355211 qcacmn: Correct the HTT config parameters for Pine full monitor mode
For Pine full monitor configuration to FW, HTT config parameters are
incorrect. Make change to use correct config parameters.

Change-Id: I964c8a28cea36b4e1e93c106540412c8cbfc7f29
CRs-Fixed: 3029362
2021-09-04 07:58:08 -07:00
Devender Kumar
c182e1e3e9 qcacmn: Use sw_peer_id instead of ast_index to get peer
In order to support flow overide feature,
AST table has to be split between RxPCU and DDR.
With this split, RX monitor cannot make use of
ast_index to fetch peer as it is not from DDR.
So make use of sw_peer_id to fetch peer.
This sw_peer_id is derived from RX_MPDU_STAT_START_TLV

Change-Id: Ib2a003a2640fded3287c318d2ad59fd3127af9b6
CRs-fixed: 3004363
2021-08-12 08:29:37 -07:00
aloksing
b158abe417 qcacmn: API renaming for monitor module
Add prefix dp for all monitor APIs
Add mon_debug/mon_info/mon_err for logs

Change-Id: I71d49f6bcacd77f5695269817fed83337169227b
CRs-Fixed: 3006497
2021-08-12 05:32:47 -07:00