Gráfico de commits

3052 Commits

Autor SHA1 Mensaje Fecha
Yu Tian
c58feb9240 qcacmn: Force free leaking TX completion in PERF build
When TX completion entires are pending over 60 seconds,
Perform force free for these entries that belong to invalid
vdev. This could allow system to continue to go to suspend.

Change-Id: I34a39b8c7a9385fea0bed087e0644564f426bf90
CRs-Fixed: 3252807
2022-08-07 21:20:11 -07:00
nobelj
8d6fd579fb qcacmn: Add fix for memory leak
Added fix for two leak,
a) During wifi unload, buffer used in init need to be free during deinit.
b) Before buffer free, unmap is required for the buffer mapped to DMA.

Change-Id: I4e5a63b0c2aabb69367365e74961a63194144057
CRs-Fixed: 3157424
2022-08-05 15:16:16 -07:00
Tallapragada Kalyan
57f7c8363b qcacmn: get proper rbm value when 4th tx comp ring is not enabled
get proper rbm value when 4th tx comp ring is not enabled

Change-Id: Iaffe520afc72387d14ca72269fc61e597c85972c
CRs-Fixed: 3234810
2022-08-05 15:16:10 -07:00
Ruben Columbus
895c8bcde6 qcacmn: add tlv format to buffer along with debug mechanism
use msdu_count and index to occupy buffer headroom within mpdu.
new mechanism to debug buffer while using pf tags enabled

Change-Id: I1b7d8a1d7ec93f51869119294d2f0b14e3909fe9
CRs-Fixed: 3217284
2022-08-03 13:39:44 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
Ming Jiang
53537c67e1 qcacmn: Support none 4k page size kernel
DP uses multi page allocation for tx/rx descriptor.
ID and offset mask of decriptor is based on 4096 which
couples with Kernel's MMU PAGE_SIZE. This cause trouble
when deploy driver on none-4K page size kernel.
Set qdf_dp_blockmem_size to 4096 so that DP won't
depend on kernel page size.

Change-Id: I17f5c10b394e8709e6b4b153f3dd094cf792787f
CRs-Fixed: 3235246
2022-08-03 05:29:55 -07:00
Himanshu Batra
7c5f36a9de qcacmn: Move vlan related enum usage under feature macro
Move vlan related enum usage under vlan feature macro for IPA offload

Change-Id: If2af8ca5db9b31a161c20c3d82130ffea26cacb6
CRs-Fixed: 3258130
2022-08-02 08:54:55 -07:00
[B
d8ebd88634 qcacmn: Add unsigned long for type casting void *
Add unsigned long for type casting void *

Change-Id: I72fb98b94356b5d279f0c46281fb8143e02df13d
CRs-Fixed: 3258275
2022-08-02 05:16:26 -07:00
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
nobelj
7d3197b9a5 qcacmn: tx monitor populate stats information
add tx monitor stats information.

Change-Id: Iffc55c2a4fa5351140daeffac3a50dd6867f6ea1
CRs-Fixed: 3230286
2022-08-02 03:23:01 -07:00
Namita Nair
df5ecd264e qcacmn: Disable FEATURE AST macro
Handle build errors when
FEATURE AST macro is disabled.

Change-Id: I0f1bd4e349543b2e0ab212f65578f194956e3695
CRs-Fixed: 3228963
2022-08-02 03:22:54 -07:00
Nirav Shah
a87c585e12 qcacmn: Extend add timestamp logic for Beryllium
Extend add timestamp logic for Beryllium

Change-Id: I69604b83ce5fe7f112316148213d73fefc88ba9b
CRs-Fixed: 3245806
2022-08-02 01:14:53 -07:00
Jeevan Kukkalli
f79e9cc3dc qcacmn: Make dp_mon_free_parent_nbuf function public
dp_mon_free_parent_nbuf() function is required to be
used outside of file dp_rx_mon_2.0.c hence make it
public.

Change-Id: I2c300362fee3610fce0109704ea1849333bf9715
CRs-Fixed: 3250904
2022-08-01 23:32:45 -07:00
Shwetha G K
a0e9c0fa4a qcacmn: Pass peer_type for peer deletion
Pass peer type as argument for peer delete API

CRs-Fixed: 3258071
Change-Id: I1ab18eaaabf690648f5910ca4d2d4b0462e14428
2022-08-01 16:36:32 -07:00
Jeevan Kukkalli
9f2e4a34b8 qcacmn: Disable deprecated monitor functions
Disable deprecated monitor feature functions
in wkk.

Change-Id: I2ef2f6219d95a2728452faffafe9f20a30eb28d8
CRs-Fixed: 3243020
2022-08-01 08:54:21 -07:00
Santosh Anbu
e852941cea qcacmn: Support to print AST entries of MLO peer
Add support to print AST entries of MLO peer.
MLO AST table is global across SOC and hence any print AST request
will print the MLO AST table

Change-Id: I07554606617f43a8806e1c7243ca69a0c8ce335e
CRs-Fixed: 3246520
2022-07-31 00:05:59 -07:00
Harsh Kumar Bijlani
4447eb57d1 qcacmn: Correct the computation of retry_msdus in HTT Tx completion
Correct the computation of retry_msdus in HTT Tx completion

Change-Id: I480c3f37a52f4ae78a7ce16b5c5c24cf13c3e02a
CRs-Fixed: 3255489
2022-07-30 03:04:26 -07:00
Jinwei Chen
64d7493b30 qcacmn: add RX statistics per lmac for MLO connection
Add RX statistics per lmac for MLO connection.

Change-Id: I72b942732cc362c1613fae637bc5e1154f9e2ec2
CRs-Fixed: 3251609
2022-07-29 22:57:35 -07:00
Vulupala Shashank Reddy
6c419dc094 qcacmn: Update dp_get_pdev_param for Channel and frequency
Add provision to get channel and frequency from pdev.

Change-Id: I73f291ebf1517f7f2885853d43b873cfdbd86a93
CRs-Fixed: 3248485
2022-07-29 16:24:43 -07:00
Shwetha G K
690e9eba92 qcacmn: Add flexibility to flush MLO peers only
Add changes to support flushing of MLO peers only.
This is required to support the mode-1 behavior of target
recovery feature, where we delete MLO peers and retain
legacy peers across SOCs which are not crashed.

CRs-Fixed: 3243549
Change-Id: I5ae326bfffd1267768c83fd7f60fa1343ef305fe
2022-07-29 09:20:57 -07:00
Namita Nair
dc6a757028 qcacmn: Support same link/mld peer mac address
Currently, if mld and link peer has the same mac
address, the peer cannot distinguished with
just the mac address as the search argument.

Hence to support same mld/link peer mac address,
cdp_peer APIs that uses both link and mld peers,
are also given peer_type info. This helps
to perform the operations on the correct peer.

Change-Id: If646755facc8f9a4d9fed2f31c5cc6618fa9a952
CRs-Fixed: 3043428
2022-07-29 05:57:06 -07:00
Roopavathi Lingampalli
fe86f0e080 qcacmn: Implement SWLM feature support for DP Component
Add DP component swlm support for cmn folder

Change-Id: I393c2f1a2b6182e651e7079874a5e949e256fb75
CRs-Fixed: 3243911
2022-07-27 13:26:24 -07:00
Himanshu Batra
3d142e75de qcacmn: Fix compilation error by using correct variable
Fix compilation error by using correct variable

Change-Id: I97cb4222e7cc25e320757708432b66d660a94ddf
CRs-Fixed: 3252847
2022-07-27 13:26:17 -07:00
Neha Bisht
173f9e6b1d qcacmn: Use cpu index for tx. ring id
The list of SW descriptors that we create from the HW descriptors 
in DP Tx completion path is corrupted in intra-bss path. This is causing a
crash when corrupted descriptor is accessed.
The cause of corruption seems to be due to incorrect rings being accessed. 
Use cpu index to fetch tx. ring IDs.

Change-Id: I5342b7c4e24df983900fde79f36df8395bf628cb
CRs-Fixed: 3223420
2022-07-27 09:25:33 -07:00
Chaithanya Garrepalli
b34fe34b48 qcacmn: Add WAR to get the vdev in invalid peer path
For QCN9224 splitphy mode do not rely on rx_desc_pool_id
to get to the VDEV as desc pool is common across PDEVs

Change-Id: I2552878bd56696a8df463b35e2b273ed4e591050
CRs-Fixed: 3220690
2022-07-27 05:36:47 -07:00
syed touqeer pasha
c2a5c7ec7e qcacmn: Get the peer from the AST entry for SAWF
Get the ast entry and peer from MAC address

Change-Id: I16e423de5a8535c13cc07db602be6ad596784029
CRs-Fixed: 3243870
2022-07-27 01:59:39 -07:00
Santosh Anbu
c49d6a32c8 qcacmn: Support for ADD/DEL of AST for MLO peer
Support for addition of AST entries for MLO peer event.
Deletion is handled implicitly

Change-Id: Id1caa85370fac847d18dc3bcbecad726bf927d0f
CRs-Fixed: 3251691
2022-07-27 01:59:32 -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
Sai Rupesh Chevuru
3e5493ad79 qcacmn: Avoid accessing of ml context during non ML peer connection
In the case of non ML peer connection attempt avoid
accessing of ml context.

Change-Id: I7a9b3dee24c0aac8bc9de34574a7aa65620a65ba
CRs-Fixed: 3247440
2022-07-26 06:01:03 -07:00
Devender Kumar
6e12b33067 qcacmn: Create a new API to update wdi hdr type for IPA
Create a new API to update wdi hdr type for IPA and Fix
the return type for cdp call.

CRs-Fixed: 3246990
Change-Id: Ic8adb1f46bfeda6598a01ffdda27339cfa04ee9d
2022-07-25 14:02:17 -07:00
Madhavan Ganesan
60b98ddd10 qcacmn: check monitor vdev is valid before attaching
Monitor vdev attach is called both AP and Monitor VAPs
AP vap creation are started prior to monitor install.
So, add the check to determine whether valid monitor vdev or ap vdev.

Change-Id: If7a83a6826499574f88a4a1220ba3642c028f66a
CRs-Fixed: 3240300
2022-07-25 05:13:54 -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
Amit Mehta
7e799fcbae qcacmn: Fix Rx packet logging issue
Currently while sending nbuf to rx fate logs
we are not removing rx tlv before sending nbuf
to logger which is causing issue of incorrect
packet type issue.

To Fix issue make changes to make sure that
rx tlv is removed and nbuf length is set

Change-Id: Ib56c8e009398b3410c43be910feb4048bfb06b54
CRs-Fixed: 3241828
2022-07-24 23:07:50 -07:00
Santosh Anbu
82fd1e58e2 qcacmn: Add support to delete AST on BE platforms
Add change to support deletion/cleanup of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I494f7beb572e81cf68cc1cf90864eea0d8125369
CRs-Fixed: 3237943
2022-07-24 17:26:03 -07:00
Santosh Anbu
d08af7b6f7 qcacmn: Add support for addition of AST on BE platforms
Add change to support addition of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: Ib9a76fd15d18e322b561ce9361d62643289817c4
CRs-Fixed: 3237940
2022-07-24 17:25:56 -07:00
syed touqeer pasha
18f8aed530 qcacmn: Initialize the host ast database flag
Initialize the host ast entries database flag.

Change-Id: If948374417fcfabe313c014235674ccc571f520d
CRs-Fixed: 3243776
2022-07-24 15:47:29 -07:00
Amrit Sahai
9c5c78e17e qcacmn: Event Based Mechanism to Reduce Delay
Event based mechanism to reduce delay by removing sleep
while getting response from firmware

Change-Id: I9d553764127efaf06794f41c81cf646cf9dc695e
CRs-Fixed: 3233643
2022-07-24 04:41:11 -07:00
Jinwei Chen
9b323ded29 qcacmn: Support RX T-put simulation for KIWI
Duplicate X times of RX packet before delivering to stack, if OTA
RX T-put is 100 Mbps and try to simulate 200 Mbps RX T-put,
duplicate extra 1 time RX packets, this is aimed to test
driver/stack RX capability.

Change-Id: Iaf4db05d0ec0e0cda5fac19fa63b9d3133270847
CRs-Fixed: 3132743
2022-07-24 01:02:01 -07:00
Venkateswara Naralasetty
333ae2374e qcacmn: fix invalid rx desc pool access
Only one rx desc pool is used for MCL for Rx data. Pool_id from
the SW cookie is used to get the rx desc from the corresponding
rx desc pool. Checking pool_id against MAX_RXDESC_POOLS may lead
to kernel NULL pointer dereference Since, pool_id other than 0
is not valid for MCL.

Fix this issue by checking pool_id against MAX_PDEV_CNT
to get the rx desc from rx desc pool.

Change-Id: Ib9b152ac2cfe2c16d388aca9e22440fbcdf7fe6c
CRs-Fixed: 3244453
2022-07-23 21:04:56 -07:00
Subrat Mishra
c667bb9d3c qcacmn: Support for per peer UL Airtime metric in ATF stats
Support for per peer Up Link Airtime metric in ATF stats.

Change-Id: Ic21239e5d1cbf337c11b35415f555c1f39e07143
CRs-Fixed: 3240833
2022-07-21 21:09:45 -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
Shiva Krishna Pittala
12964fb1de qcacmn: Add Host to target communication for UMAC HW reset
UMAC HW reset is expected to send the following Tx commands to the target.
- PRE_RESET_DONE
- POST_RESET_START_DONE
- POST_RESET_COMPLETE_DONE

Add the necessary logic for the same.

Change-Id: I2450ed9281691abcc064661d4481ae78f48a0f3d
CRs-Fixed: 3244895
2022-07-21 16:09:44 -07:00
Shiva Krishna Pittala
8ebf77e3aa qcacmn: Add UMAC HW reset event handler
UMAC HW reset is expected to receive the following 3 events from FW.
- DO_PRE_RESET
- DO_POST_RESET_START
- DO_POST_RESET_COMPLETE
Add necessary logic to handle these events.

Change-Id: I786ecf6ed2925fd7fcc0934fdce65c76784f4f67
CRs-Fixed: 3244865
2022-07-21 14:27:54 -07:00
Sai Rupesh Chevuru
40e06d213f qcacmn: Handling of multicast packets in MLO multi passphrase
In the case of MLO multi passphrase add GSN bsed support
to multicast packets.

Change-Id: I3b5bf8b611bd233141d677003905a8b5f18f9716
CRs-Fixed: 3203545
2022-07-21 14:27:47 -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
Shwetha G K
8c61283889 qcacmn: Fetch peer from sw_peer_id instead of ast_idx
Change to fetch peer details based on sw_peer_id instead of
ast_index.

CRs-Fixed: 3245246
Change-Id: Ibd525127b4678392712a1e57507a9576a78624f1
2022-07-21 11:02:20 -07:00
Jeevan Kukkalli
384c456371 qcacmn: Pass appropriate parameter while adding rx frag
Fix frag len and frag offset parameter interchange issue
while adding rx frag.

Change-Id: I6680f66715b558a9e8f58665e65494a8cb3783cb
CRs-Fixed: 3246599
2022-07-21 02:38:57 -07:00
Jinwei Chen
89bdae0fc0 qcacmn: Fix monitor status buffer double free issue
Currently in monitor mode for KIWI, interrupt for RXDMA2HOST is
enabled to process both monitor status srng and montior destination
srng, but low threshold interrupt for monitor status srng is also
enabled. so when available RX buffer in monitor status srng is less
then low threshold, it is possible that two kind of interrupt from
RXDMA2HOST ring and monitor status ring will call
dp_rx_mon_status_process_tlv() in different context and access to
mon_pdev->rx_status_q at the same time, this will lead to skb
double free issue.

solution:
(1) disable RXDMA2HOST srng interrupt in monitor mode.
(2) enable monitor status srng batch count interrupt for monitor
processing.

Change-Id: I1df8830cb7cc55468e5df5e49045c3d96f7c29a8
CRs-Fixed: 3245393
2022-07-21 02:38:50 -07:00
Santosh Anbu
5bddbff670 qcacmn: Add support for host learning of AST on BE platforms
Add change to support learning of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I58aa6a18ca69d5ffc6fbcf9c18723adb39647950
CRs-Fixed: 3237934
2022-07-19 13:50:01 -07:00
Jinwei Chen
fdb2193820 qcacmn: add size parameter for dp_prealloc_get_context
add size parameter for dp_prealloc_get_context.

Change-Id: I0171124cf35010e793c18d4c8f6916497f053f8d
CRs-Fixed: 3222817
2022-07-19 13:49:54 -07:00