Commit Graph

19678 次程式碼提交

作者 SHA1 備註 提交日期
Himanshu Batra
444fa57930 qcacmn: Add force flag support for PTQM migration
Add force flag support for PTQM migration.
This flag will be used to allow migration to vdevs which are not
allowed to be selected as primary by using the ini config.
This will be helpful in scenarios where if the current primary link is
going down and peer ptqm needs to be migrated but the partner links of
that mld are the user disabled links for ptqm.
Also add skip_pumac_cnt to mark a link to be skipped from being selected
as new primary

Change-Id: Ia8c7881f37d32211a732c5c7394c4a608099b62a
CRs-Fixed: 3548552
2023-07-14 01:12:15 -07:00
Aasir Rasheed
cf3f12281d qcacmn: Integrate hashing framework in crypto module
The current implementation of the crypto module utilizes
the vdev object for saving and retrieving crypto keys.
However, there is a need to store keys for individual
links in the n-link MLO. To address this requirement,
a proposal has been made to leverage the hashing
framework and store/retrieve keys from the PSoC level.
The change involves leveraging the hashing framework
to save and retrieve keys from the PSoC level.
Change-Id: I9c93545869b0c1d42b2c0e31bc672aa78573be2a
CRs-Fixed: 3549390
2023-07-14 01:12:03 -07:00
Aasir Rasheed
b39b050462 qcacmn: Introduce hashing framework support for crypto
This change incorporates support for the hashing framework,
enabling key storage for individual links in the n-link MLO.
The implementation includes the addition of new APIs
specifically designed to accommodate the crypto hashing
framework.

Change-Id: I9305c4a71b8970a8a6037d6d80f11c6139a77bd8
CRs-Fixed: 3498849
2023-07-14 01:11:52 -07:00
SACHIN AHUJA
147467b9f5 qcacmn: Add the SOCID for WCN6750_V2 chip
SOC ID is missing for WCN6750_V2 and as a result correct
string for chip is not sent to CNE. This leads to the
issue in Wifi calls.

Add the SOC ID for WCN6750_V2.

CRs-Fixed: 3552566
Change-Id: I80d19742f6ffa1c5b03f1f2576c6e4c0c4a1c1db
2023-07-13 19:23:57 -07:00
Asutosh Mohapatra
6b9152becc qcacmn: Use SP channels for passive scan
Currently host driver doesn't consider SP channels for scan.
So if any country supports only SP power type then STA is not
able to scan and connect to the AP which is operating on
SP channel.

To address this issue enable passive scanning for SP only
channels and add logic to prevent turning up SAP on these
channels.

Change-Id: Ieb14ded41c67e23e066c8a0a5c5e450975d8c4c2
CRs-Fixed: 3529200
2023-07-13 19:23:47 -07:00
Deeksha Gupta
a886fa16eb qcacmn: Add new API to reset AP link info from mlo_mgr
Add new API to reset AP link info from mlo_mgr.

Change-Id: I806859456a435ba09b0def26ca58fe04759d04f5
CRs-Fixed: 3530707
2023-07-13 11:24:58 -07:00
Deeksha Gupta
2799299d9e qcacmn: send ml_partner info during assoc vdev peer assoc cmd
Send ml_partner info during assoc vdev peer assoc cmd

Change-Id: Icd69a513dbaeed7ca334a8627fb4b8a9b28d01c3
CRs-Fixed: 3530674
2023-07-13 11:24:47 -07:00
Liangwei Dong
39fabd2c13 qcacmn: Zero memory of mlo_link_set_active_resp struct in event handler
Zero memory of mlo_link_set_active_resp struct in event handler to
avoid invalid value in it.

Change-Id: I18cbe0903bea23c9069a84af8207f4265a7111e1
CRs-Fixed: 3558678
2023-07-13 11:24:35 -07:00
Deeksha Gupta
d5bf598373 qcacmn: Add new API to convert host to fw phymode
Add new util API to convert host phymode into fw
phymode.

Change-Id: I4edf91f3c4140cf004b2b900cb6ca4290a90b241
CRs-Fixed: 3557258
2023-07-13 11:24:25 -07:00
Srinivas Pitla
3cee2d29bb qcacmn: Include bridge peer in reassoc link count
This change includes brideg peer in link count
for reassoc frame validation.

Change-Id: I1f27d699b25910e24fa39e4822e36f1cdd20f18e
CRs-Fixed: 3556929
2023-07-13 08:37:50 -07:00
Venkateswara Naralasetty
51ddb93d21 qcacmn: add periodic and host Tx/Rx stats support for WCN6450
Changes required to support periodic and host Tx/Rx stats for WCN6450.

Command to request and dump the host Tx/Rx stats,
iwpriv wlan0 txrx_stats <stats no> <mac_id>
mac_id: 0 - mac0(5 GHz), 1 - mac1(2 GHz)
        0 for single mac
stats no: 20 - TXRX_CLEAR_STATS
	  21 - TXRX_RX_RATE_STATS
	  22 - TXRX_TX_RATE_STATS
	  23 - TXRX_TX_HOST_STATS
	  24 - TXRX_RX_HOST_STATS
	  25 - TXRX_AST_STATS
	  26 - TXRX_SRNG_PTR_STATS
	  27 - TXRX_RX_MON_STATS
	  29 - TXRX_SOC_CFG_PARAMS
	  30 - TXRX_PDEV_CFG_PARAMS
	  31 - TXRX_NAPI_STATS
	  32 - TXRX_SOC_INTERRUPT_STATS
	  33 - TXRX_SOC_FSE_STATS

Change-Id: Ibda4d531c9074a24f8c39916b44d9e3c38f189ee
CRs-Fixed: 3485279
2023-07-13 00:42:11 -07:00
Paul Zhang
4e97268972 qcacmn: Remove length check when process EPCS response
Currently, util_parse_pamlie_perstaprofile_stactrl checks
whether both EDCA and MU EDCA are included in the EPCS
response frame. Per the 11be_D3.1, the STA Profile subfield
optionally contains EDCA and MU EDCA parameters, so remove
the check to address IOT issue.

Change-Id: Ic1f7d4dbb951d9605b7cd7f0f1970895328183f6
CRs-Fixed: 3557340
2023-07-13 00:42:01 -07:00
nobelj
6f8e9cffb0 qcacmn: Add support to configure rbm id through ini
For legacy tx monitor, we need msdu completion in sequence.
Modifying the return buffer manager id during enqueue will serialize
the msdu completion.

Return buffer manager will be over ride only when tx_monitor
is turned enabled.

Change-Id: I500065077b59b3ea3561ec8fc49af8cbe58c1dfe
CRs-Fixed: 3539636
2023-07-12 19:03:57 -07:00
Arun Kumar Khandavalli
0ef7402a2b qcacmn: Link switch initial checkin
Add new file wlan_mlo_mgr_link_switch.h and .c
which contains MLO manager public file containing
link switch functionality.

Change-Id: I2bce76e7de09a1c9ba4a4cdd83855db41166739b
CRs-Fixed: 3530571
2023-07-12 19:03:47 -07:00
Vijay Patil
c1d9d64d61 qcacmn: Add change to replace free connect request API
In current scenario osif_cm_free_connect_req() and mlo_free_connect_ies()
used to free up connect request and its sub memory.
Similarly cm_free_connect_req() and cm_free_connect_req_param() also
free up the connect request and its sub memory.

So replace osif_cm_free_connect_req() with ucfg_cm_free_connect_req(),
mlo_free_connect_ies() and qdf_mem_free() with wlan_cm_free_connect_req()
and  mlo_free_connect_ies() with wlan_cm_free_connect_req_param().

Change-Id: Ie62603652dd77ae5ae9f7b7085d4b9bb257eaf53
CRs-Fixed: 3554234
2023-07-12 07:49:19 -07:00
Himanshu Batra
fe2cdfb7a9 qcacmn: Modify failure handling of PTQM migration WMI command
In PTQM migration WMI command, multiple peer entries can be sent.
If the number of entries are more than WMI buffer size limit, then
multiple WMI commands are sent. If there are some WMI PTQM cmd sent
successfully followed by a failure, reset peer flags only the failed
entries instead of all the entries

Change-Id: I1031f1ac700e05e651a2488827cb6b6cda195bac
CRs-Fixed: 3556179
2023-07-12 07:49:07 -07:00
Ashish Kumar Dhanotiya
cae18fa1ad qcacmn: Enable 11d on different vdev
Currently host driver enables 11d on different available vdev before it
sends the vdev delete command to the FW. Since 11d is already enabled
on existing vdev, FW, do not enable the 11d on this command on
different vdev.
For example in current issue, when host driver creates vdev0, it
enables 11d on vdev0. Now it creates vdev1. when host drivers tries
to delete vdev0, it sends 11d start command on vdev1 before it sends
vdev delete for vdev0. Since 11d is already enabled on vdev0, fw do
not enable 11d on vdev1. Now host driver deletes vdev0.
Since FW rejects 11d start on vdev1, 11d algorithm does not run
after vdev0 deletion.

To fix this issue, enable 11d on different vdev, once host deletes
the current 11d vdev.

Change-Id: I496f17bd0d1baacdb5e74609c1b5894af4256e12
CRs-Fixed: 3515089
2023-07-12 07:48:55 -07:00
Shashikala Prabhu
5c5c9a57a7 qcacmn: Correct the data type of the pending_action enum
The data type of pending_action in 'struct dp_soc_umac_reset_ctx' is
'enum umac_reset_rx_event'. We assign the value of 'enum umac_reset_action'
to pending_action.
Hence, replace 'enum umac_reset_rx_event' with 'enum umac_reset_action' for
pending_action.

Change-Id: I3505648827ac6de5ce1c93a21b76c58942fc1f50
CRs-Fixed: 3550309
2023-07-12 02:27:29 -07:00
Sai Pratyusha Magam
1ff2f1dee8 qcacmn: Fix EAPOL Drop in Big Endian mode
Fix EAPOL Drop in DP when host is running in
Big Endian mode

Change-Id: If85845c73028429333595b639b3e29231e9bc7ee
CRs-Fixed: 3515114
2023-07-12 02:27:18 -07:00
Gaurav Saini
1630288f30 qcacmn: Remove AST dependency for sawf
To eliminate the use of AST, using net dev to
find the peer related information, which helps
in avoiding the iterations of psoc list.
Passing the peer id as addition parameter to DP

Change-Id: I68e4ad8d5d62b2350ed0c2df66279de3fa9c0d83
CRs-Fixed: 3526799
2023-07-11 18:16:20 -07:00
Ripan Deuri
8c9b52f61d qcacmn: Add INI to disable AST indication
Add INI to disable AST indication. AST disable flag will be
sent to the target in resource config.

Change-Id: If30cac010681faf06bbcaa2d492d6843e3e675d0
CRs-Fixed: 3544223
2023-07-11 15:38:37 -07:00
Neha Bisht
ddd144bfd6 qcacmn: Fetch current primary soc from mld peer
Fetch current primary soc from mld peer instead of current link peer.

Change-Id: I6c9fc7712b16d938d47b1cd1b5e8bf75eaf352d0
CRs-Fixed: 3547555
2023-07-11 12:49:53 -07:00
Prakash Manjunathappa
fab64e0adc qcacmn: Allocate pdev attach bufs from page frag
Use page frag init time rx buffer allocation for efficient usage of memory.
Add ini dp_bufs_page_frag_allocs to disable and revert to original slab
nbuf allocations.

Change-Id: Iac78895addfe9da0118bc071c691a26216d6fda1
CRs-Fixed: 3553800
2023-07-11 12:49:43 -07:00
Balaji Pothunoori
02622819d0 qcacmn: Extract Rx data packet SGI from WMI_VDEV_SMART_MONITOR_EVENTID
Due to limitation uCode always filling SGI as long for VHT mode in
rx_msdu_start_tlv.

This change is to extract VHT Rx data packet SGI from
WMI_VDEV_SMART_MONITOR_EVENTID.

Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e122
CRs-Fixed: 3477303
2023-07-11 12:49:32 -07:00
Amit Mehta
725454258b qcacmn: Add additional stats to dp_dev
Add additional stats to dp_vdev:
	1. tx. fragment_count
	2. rx.duplicate_count
	3. rx.fragment_count

Change-Id: Ib9fec3b5e7733bbdda09ae5598a092072ebaaee4
CRs-Fixed: 3554690
2023-07-11 12:49:22 -07:00
Edayilliam Jayadev
d06edf421b qcacmn: Handle out of order packet counters
Gracefully handle the scenario where the packet counter
of the current management frame is less than or equal to
the packet counter of the last management frame received
in the same link.

CRs-Fixed: 3525902
Change-Id: Iba7d2bd55fd8e969486439ef87a81c489658707c
2023-07-11 02:02:36 -07:00
Edayilliam Jayadev
8da0ec5f5a qcacmn: Handle zero duration management frames
Gracefully handle management frames with zero duration.

CRs-Fixed: 3525887
Change-Id: I60ef63f88b2c07d253679f54c9e9cb02d1d87860
2023-07-11 02:02:19 -07:00
Edayilliam Jayadev
dbcf99be3e qcacmn: Handle invalid reo params gracefully
Gracefully handle invalid reo parameters error.

CRs-Fixed: 3525856
Change-Id: I1bc18ed9224ea999bc792642dcb5081583cfa1f6
2023-07-11 02:01:27 -07:00
Edayilliam Jayadev
62d03ddb2c qcacmn: Add infrastructure to gracefully handle frames
Add infrastructure to gracefully handle frames in management
Rx reorder module.

Change-Id: I9d5302acfc020686b4c51b666fc7828dddf20ca7
CRs-Fixed: 3525838
2023-07-10 21:23:06 -07:00
Shreedhar Parande
a322f77e8f qcacmn: Define WMI callbacks for v2 ATF WMIs
Define and initialize new WMIs for v2 ATF.

Rename send_set_atf_cmd to send_atf_peer_list_cmd which
is more appropriate.

Change-Id: Icab17703a4ccea8e2b859bf6a18387fbd2234226
CRs-Fixed: 3542065
2023-07-10 21:22:56 -07:00
Sijun Wu
27f8cfff08 qcacmn: Add a set of nbuf fragment allocation APIs
It adds a set of frag way allocation APIs explicitly.
IPA Tx nbufs change to frag way allocation API, which saves memory.

Current __qdf_nbuf_alloc changes to non-frag way allocation by
default if SKB RECYLCER not defined.

Change-Id: I5f87ffac54c49f9af920775c13b6dfdd147476dd
CRs-Fixed: 3534452
2023-07-10 21:22:46 -07:00
Subrat Mishra
e6b159369e qcacmn: Extract WMI ATF 512 Max client support from FW
Extract WMI Service bit for ATF 512 Max client support advertised by
Firmware as part of wmi service ready.

Add rxops functions as for upper modules to get it.

Change-Id: I51e8dcaad96bdd29eb6fd4c37b0917127696ede6
CRs-Fixed: 3551661
2023-07-10 18:04:07 -07:00
Venkateswara Naralasetty
fc93f83a78 qcacmn: Add SWLM support for WCN6450
Changes required to support SWLM feature on wcn6450.

Change-Id: I306cba8dcefa8f34a9546285b33b974987aec625
CRs-Fixed: 3540269
2023-07-10 18:03:57 -07:00
Nandha Kishore Easwaran
6ca74c40fd qcacmn: Add alignment of 4 bytes back
This reverts commit Ib680547d2bcfe57b6eadda5301677d68e4a931a4

Change-Id: Iffc7f2cdab2d1015db4b3f0dfc0ea697e0388238
CRs-Fixed: 3552537
2023-07-10 15:03:04 -07:00
Venkateswara Naralasetty
a3a5a72bbd qcacmn: Add delayed reg write support for wcn6450
Current HAL delayed reg write is tied to SRNG notions, hence
implement delayed reg write logic in HIF since WCN6450 does
not use SRNG interface.

New feature flag FEATURE_HIF_DELAYED_REG_WRITE is introduced
to disable/enable this support.

Change-Id: Id7087ad53cd5879cf49ee0e84dd727de61137541
CRs-Fixed: 3519702
2023-07-10 12:14:13 -07:00
Sai Rupesh Chevuru
219a541da6 qcacmn: API to get the bridge peer
API to get the bridge peer if available

Change-Id: Ib93df6f95ad4bff4cb628be637799a5b40d20272
CRs-Fixed: 3552648
2023-07-10 12:14:02 -07:00
Deeksha Gupta
5bda5de6ce qcacmn: populate num_max_mlo_link_per_ml_bss in WMI init
Set num_max_mlo_link_per_ml_bss to WMI init command.

Change-Id: I48a46f66cea86ee660656509a9cd688e3e1f7541
CRs-Fixed: 3512393
2023-07-10 12:13:51 -07:00
Deeksha Gupta
589214a617 qcacmn: Extend wmi_service for n-link MLO connection
Extend wmi_service for n-link MLO connection.

Change-Id: I269d1730eb59dcf492aca675b0fbfc3e56a0fbb7
CRs-Fixed: 3512375
2023-07-10 12:13:40 -07:00
Prasanna JS
56a52faed0 qcacmn: Define a QCA vendor attr to config UL MU transmission
Define a new QCA vendor attribute to enable/disable trigger
based UL MU transmission.

Change-Id: Ide36ec4869dc462879a57ff9a1e06f9f48e5c8d0
CRs-Fixed: 3538865
2023-07-10 09:17:15 -07:00
Harsh Kumar Bijlani
aac3c82e06 qcacmn: Update Tx ingress received per core stats in exception path
Update Tx ingress receeived per core stats in exception path

Change-Id: Iebfbc0305b5032ca65135ffd1d3a80647c44f733
CRs-Fixed: 3552494
2023-07-10 02:34:11 -07:00
Li Feng
7f998d6240 qcacmn: Bypass hif apps irqs handle for single MSI case
Regarding to the platform suspend, generally the hif_bus_suspend() will
disable the CE irqs, however the irq is shared in the single MSI case,
so the MHI irq is disabled as well which cause no MHI ring event notified
in the following pci bus suspend.

The fix is to bypass hif apps irqs handle for single MSI case during
suspend-resume stage.

Change-Id: I4f9068900e85fe57c2a82d841846b3fff6da0696
CRs-Fixed: 3549884
2023-07-09 06:03:59 -07:00
Sri Vidya Gunturi
138833a0eb qcacmn: Masking MLO APIs for the non-MLDs
Masking the MLO API, mlo_setup_get_total_socs
using ic_eht_target check for non-MLDs in cmn_dev.

CRs-Fixed: 3551482
Change-Id: I8d585f534146f58beee605b2165bb0c51fc5bdb9
2023-07-08 11:11:44 -07:00
Subrat Mishra
5d85f97e90 qcacmn: Add north bound interface for ATF max client change
Add north bound interface to support increase ATF maximum client
changes.

Change-Id: I2a86cccc4834cb713b1c4a3624ae950ab9e02b3b
CRs-Fixed: 3503390
2023-07-08 11:11:35 -07:00
Devender Kumar
97b397502d qcacmn: Update the MAX value for dp rxdma ring size
Update the max value for dp rxdma ring size to 8192.

Change-Id: I6cb13ac9d25f243d07cd7da1014a21d31835eb81
CRs-Fixed: 3515920
2023-07-08 11:11:25 -07:00
Ashish Kumar Dhanotiya
8775d1b518 qcacmn: Update policy mgr device mode conversion API
Currently policy mgr api policy_mgr_convert_device_mode_to_qdf_type
accepts only QDF_OPMODE as an argument and converts it to
policy_mgr_con_mode. Also, name of this api does not reflect
the task this is doing.
With the new SAP mode for low latency low throughput SAP,
to convert the QDF_OPMODE to policy_mgr_con_mode, host driver
needs to know if it is ll_lt_sap or normal sap. To get this
information, update policy_mgr_convert_device_mode_to_qdf_type
api to accept the psoc and vdev id as parameters. Also, rename
this api to reflect the task this apiis doing.

Change-Id: Ib182d8091305fd9c4f35b424d7b4a751a61730ad
CRs-Fixed: 3525427
2023-07-08 11:11:14 -07:00
Jinwei Chen
6081fb19d6 qcacmn: Support dp monitor desc pool memory pre-allocation
Support dp monitor desc pool memory pre-allocation.

Change-Id: I7edd766a3f02be76c1e7342ac6a55c02b43474fa
CRs-Fixed: 3544435
2023-07-08 01:26:16 -07:00
Yu Wang
1632797f1c qcacmn: refine hif tasklet latency detection
When one of the enabled CE tasklet is executed, it will
check latency of all the others which are enabled, it's
redundant. Add a new API to check latency for a single
tasklet.
Add API to record sched time for a tasklet, which will
check the enablement of detection before recording the
time.

Change-Id: I515ca27fc2e97231397573b4903c001d29326bd2
CRs-Fixed: 3514285
2023-07-08 01:26:06 -07:00
Shashikala Prabhu
7f898dfcc2 qcacmn: Add buffer window for umac reset in progress
When the peer delete timer/vdev manager response timer expires, host checks
if the umac reset is in progress. If so, host will retrigger the timer.
It is possible that the umac reset is just completed and either of these
two timers got expired. In this case, host will assert saying that the peer
delete response/vdev manager response is not received from FW. FW may take
a few milliseconds to send the peer delete/vdev manager response to the
host after the umac recovery completes.

Hence, to avoid the crash, check if the umac reset was in progress during
the umac reset buffer window.

Add the below changes as well,
1) INI support to get the umac reset buffer window value.
2) Renamed the API dp_umac_reset_is_inprogress as
   dp_get_umac_reset_in_progress_state to return either
   CDP_UMAC_RESET_IN_PROGRESS or
   CDP_UMAC_RESET_IN_PROGRESS_DURING_BUFFER_WINDOW.

Change-Id: Ie15ef0731bad4b0ed955a479f00e297b7ba10729
CRs-Fixed: 3522665
2023-07-05 17:19:13 -07:00
Prasanna JS
0d36189af1 qcacmn: Add macro to check the phymode is EHT
Add macro to check the phymode is EHT when
WLAN_FEATURE_11BE not defined

Change-Id: If6ae8829c21d7cbed1740aa2f637f4b90dea1a3d
CRs-Fixed: 3546219
2023-07-05 17:19:02 -07:00
jinbao liu
252faaf14e qcacmn: Fix some potential uninitialized local variables
This change initializes some uninitialized local
variable to avoid arbitrary values in some cases.

Change-Id: I906528514c41132ead23433a8a91374b4309c543
CRs-Fixed: 3545869
2023-07-05 17:18:52 -07:00