Graf commitů

19666 Commity

Autor SHA1 Zpráva Datum
Yu Tian
f2211bb521 qcacmn: Debug patch for delay reg queue corrupt
Add ring_id check for potential srng pointer corruption.

Change-Id:Ib14634fe31bfdae86aac6c89e5d65618ae5c753e
CRs-Fixed: 3549490
2023-07-20 01:11:55 -07:00
Zhiwei Yang
7709435525 qcacmn: add hif_event_desc_history to ssr driver dump
Current code doesn't have hif_event_desc_history in ssr driver dump.
Fix this by adding hif_event_desc_history and hif_event_hist_max to
the ssr driver dump regions.

And add more parameters for parsing hif_ce_desc_history_buff.

Change-Id: I02cbfc7b9ea0c53d31ad351377d4644f1ad189d1
CRs-Fixed: 3469140
2023-07-19 22:04:02 -07:00
Manikanta Pubbisetty
94c5606254 qcacmn: Reduce size of T2H HTT CE pipe for WCN6750
Currently, the size of target to host CE pipe for HTT RX communication
for WCN6750 is 512. The data that we receive on this pipe is not very
frequent and hence 512 entries are not needed.

Reduce the size of the HTT RX ring for WCN6750. This will also bring
down the memory requirement for this ring considerably.

Change-Id: I690fa34c76b1b683a1518964088bc7540ca751a4
CRs-Fixed: 3554428
2023-07-19 16:54:33 -07:00
Madhavan Ganesan
6e25e7d35e qcacmn: Fill BAR address for IPQ5332, QCN6122 and QCA5018 chipset
Update the BAR address to plat_priv for IPQ5332, QCA5018 and QCN6122.

CRs-Fixed: 3198433
Change-Id: I5e22ebcdb6b42474bdc8e8f89ff66e0775b00958
2023-07-19 12:11:47 -07:00
Paul Zhang
1ce24c7251 qcacmn: Add wmi param and export structure
Add wmi param and export api for setting wifi standard.
- add param vdev_param_wifi_standard_version;
- export structure WMI_HOST_WIFI_STANDARD.

Change-Id: I8f4151d8d6139c99a4dd6d1a75502f4cf93d5f3a
CRs-Fixed: 3554259
2023-07-19 12:11:36 -07:00
Vijay Raj
de88d935fd qcacmn: Improve accessibility of target_if_is_vdev_valid
Move  api target_if_is_vdev_valid() in order to improve
its accessibility.

Change-Id: Ia2085da6ab62144fb690b9474359caa31b415e74
CRs-Fixed: 3555929
2023-07-18 22:55:59 -07:00
Srinivas Girigowda
afd51dc121 qcacmn: Add local packet capture type based filtering
For the control frames regenerated by the host driver based on the
TxMon TLV, add the local packet capture type based filtering.

Change-Id: If6b47368ce36524e1c84c51c298278ced671b915
CRs-Fixed: 3531895
2023-07-18 22:55:44 -07:00
Yu Tian
0728e55056 qcacmn: Fix TX completion configurations
TX completion ring is not configured correctly when Qdata
is enabled. This change is aimed to fix the regression.

Change-Id: Ib14a1c3a3cd57693579cedda5713eb539e853961
CRs-Fixed: 3557033
2023-07-18 22:55:27 -07:00
syed touqeer pasha
cfe92008b4 qcacmn: Increase the REO2PPE ring size to 16K
Increase the REO2PPE ring size to 16K

Change-Id: I55c3db729d233ce67f141e3769d56cdb0c028b05
CRs-Fixed: 3516282
2023-07-18 12:50:20 -07:00
Deeksha Gupta
9b7258ffff qcacmn: update mlme info for standby link
update  AP link information for standby link.

Change-Id: Ie5ff52e2ecea4548f738965efcfee54e08f63eb5
CRs-Fixed: 3530713
2023-07-18 12:50:10 -07:00
Aravind Kishore Sukla
23374c26c5 qcacmn: Send sta dump feature info to fw
Driver sends feature set information to fw as
part of wmi init command.

Fill sta dump feature info in feature set bitmap
and send it to fw.

Change-Id: If28cd8f10af2333f0f231f0c4ae659ab20c1358a
CRs-Fixed: 3552909
2023-07-18 12:49:59 -07:00
Shreedhar Parande
3177c12082 qcacmn: Define new list for bridge VDEVs
Declare new list to hold bridge VDEVs in MLD context.

Change-Id: I0cfe563708462faca272f9e7d4c8489a8fd9dfc0
CRs-Fixed: 3554509
2023-07-18 09:51:59 -07:00
Shreedhar Parande
86ee88bd0d qcacmn: Send bridge peer flag to target
Add and send bridge peer flag to fw.

Change-Id: I15ab04a8646975ad4cc85a66b632f85e359a9158
CRs-Fixed: 3554509
2023-07-18 09:51:47 -07:00
Shreedhar Parande
8911b3d9eb qcacmn: Add new subtype for bridge VDEV
Define new subtype for bridge VDEV.
Add a flag in vdev objmgr to indicate bridge VDEV.

Change-Id: Icb7e2cc6673254183a7247f42fadd9bbb2ec4b00
CRs-Fixed: 3554509
2023-07-18 09:51:36 -07:00
Manikanta Pubbisetty
621c2d72b8 qcacmn: Use qdf_nbuf_page_frag_alloc() for WBUFF SKBs
Since SKBs allocated from the WBUFF module are reusable SKBs, allocate
them using qdf_nbuf_page_frag_alloc() to have memory savings and also
to avoid memory fragmentation issues.

Change-Id: Icecf4f6de0842a8c767217281984c4ef25e9b9be
CRs-Fixed: 3559261
2023-07-18 09:51:25 -07:00
Manikanta Pubbisetty
d621993b84 qcacmn: Add new API for custom page frag cache nbuf allocations
SKBs that are allocated using __netdev_alloc_skb() share a single
page frag cache that is maintained in the network layer and is
common for all network drivers/devices. There is always a chance
where memory can be fragmented when the WLAN driver shares a page
frag cache with other slow network devices. Over the time, lot of
memory would be wasted due to fragmentation eventually resulting
in SKB allocation failures due to OOM.

To circumvent this, define a QDF NBUF allocation API which accepts
custom page frag cache maintained in the driver as an input and
allocates memory for skb->head from the custom page frag cache.

Such an API will be of great help when used for allocating reusable
SKBs in the driver. This also avoids the aforementioned memory
fragmentation issue.

Change-Id: I33f3096bba4057fd06ef55bbed5dc7a3f0f5c759
CRs-Fixed: 3543424
2023-07-18 09:51:14 -07:00
Manikanta Pubbisetty
cbe8170798 qcacmn: Add HIF CE RX support to WBUFF
Currently, WBUFF is being used only for WMI TX buffers.
Add HIF CE RX buffers support to WBUFF in an effort to re-use
the copy engine RX buffers instead of freeing/allocating buffers
for every CE RX transaction. This fixes the problem of CE RX
memory fragmentation.

Change-Id: Id9c043a5c5d0882a7994fa03cd8c335555d46b8d
CRs-Fixed: 3534539
2023-07-18 09:51:03 -07:00
Manikanta Pubbisetty
9b27c6e104 qcacmn: Cleanup WBUFF code to support additional modules
Currently, WBUFF logic is being used only for WMI TX buffers and the
logic is closely tied to the WMI TX buffers alone. It is cumbersome
to extend the support of WBUFF for additional modules in the current
state.

Cleanup the WBUFF code and make it generic to add future module
additions.

Change-Id: Ib20ddd487b4e88c3225da1883ad9ade722c2a606
CRs-Fixed: 3520811
2023-07-18 09:50:53 -07:00
Asutosh Mohapatra
fd1d804527 qcacmn: Don't stop 11d scan if SAP, P2P GO comes up
Currently if 11d scan is enabled and any SAP or
P2P GO interfaces comes up then host sends 11d
scan stop to fw hence country info is not getting
updated.
With this change add support to not disable
11d scan if any SAP or P2P GO interface comes up.

Change-Id: I30d089f37d20ae4019e34d5413f09edc4a6910a5
CRs-Fixed: 3536658
2023-07-18 04:13:15 -07:00
Mukul Dhiman
8c4f4c721c qcacmn: Add cdp api to fetch mldev mode
Add cdp api to fetch mldev mode

Change-Id: I06ed37ddbce96249e957f1664082bffe5afb2fc5
CRs-Fixed: 3501087
2023-07-18 04:13:04 -07:00
Aditya Kodukula
22eb121fe7 qcacmn: Fix improper arguments for QDF_MAC_ADDR_REF
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.

Change-Id: I324581691dfe683e0d5b046e19b444928657ce05
CRs-Fixed: 3556423
2023-07-17 22:37:45 -07:00
Aditya Kodukula
54ab05a36f qcacmn: Replace QDF_FULL_MAC_FMT with QDF_MAC_ADDR_FMT
Currently in driver, two macros are defined to specify the
mac address printing format. Since both macros achieve
the same result, replace all instances of QDF_FULL_MAC_FMT
with QDF_MAC_ADDR_FMT.

Change-Id: I195448267ef8e77a7fd5b232ffbf2cfb0ded1be4
CRs-Fixed: 3559488
2023-07-17 22:37:34 -07:00
aloksing
754c291a51 qcacmn: Do not update tx rate stats for fixed rate
Update rounded avg rate only for qos tid and if TX is
not at fixed rate.

CRs-Fixed: 3531181
Change-Id: I03a9a2b88b7859bd230672e6ac321d31a71defef
2023-07-17 22:37:23 -07:00
Aditya Kodukula
d3be64a66d qcacmn: Add wlan_logging structure to wlan minidump
Add wlan_logging structure to wlan minidump regions.

Change-Id: I03f8aea58f0521e97ab7470db3b6280ea2fa627c
CRs-Fixed: 3559452
2023-07-17 16:33:52 -07:00
Deeksha Gupta
c22f6c569a qcacmn: convert host to fw phymode enum
During ML peer assoc info send, convert host to fw
phymode enum.

Change-Id: I3744b09f629d3c6b55394d56cd58042f86eec332
CRs-Fixed: 3557285
2023-07-17 13:24:59 -07:00
Paul Zhang
e740ac98ec qcacmn: Add user_disable_eht flag in mlme_vdev
Add user_disable_eht flag in mlme_vdev structure and APIs to
set/get the config from user.

Change-Id: I77c1357919cd2245551b6dbdd120355bf5c1b3ff
CRs-Fixed: 3554951
2023-07-17 07:51:30 -07:00
Amit Mehta
1d7c991d04 qcacmn: Move qdf_walt_get_cpus_taken under WALT_GET_CPU_TAKEN_SUPPORT
qdf_walt_get_cpus_taken under WALT_GET_CPU_TAKEN_SUPPORT feature
flag to avoid compilation failure on branch where changes is not
present.

Change-Id: Iddcc777a476e41cd20fa0ff40ad2dd80af0748ef
CRs-Fixed: 3559247
2023-07-17 05:01:24 -07:00
Aasir Rasheed
b41a05e709 qcacmn: Update crypto module to translate cfg80211 keys
Currently crypto module is using wlan_cfg80211_translate_key
api to translate cfg80211 keys based on vdev level.
However, there is a need to translate cfg80211 keys
based on psoc level.
The change is to use wlan_cfg80211_translate_ml_sta_key
api to translate cfg80211 keys based on psoc level.

Change-Id: Id642dfb0b864f4351d9cac055ad268dfcd51ae88
CRs-Fixed: 3549391
2023-07-16 14:02:56 -07:00
Karthik Kantamneni
9b0e01604d qcacmn: Add support to configure MSDU max aggregation limit
Currently FISA max msdu aggregation limit is fixed and always
programmed as 0xf, but there are platforms which support different
aggregation limit. So add support to configure different aggregation
limits while sending HTT FISA config message to F.W.

Change-Id: Icbf9b7a48a88dcbfb812e92c8f4032753fc07dc4
CRs-Fixed: 3542497
2023-07-16 10:23:54 -07:00
Karthik Kantamneni
9fad850066 qcacmn: Add FISA dynamic MSDU aggregation size support
Add support in driver to check whether F.W supports
dynamic MSDU aggregation size programming to H.W.

Change-Id: Ifb2d41efb23934414cce38753df82e1d15f01e11
CRs-Fixed: 3540531
2023-07-15 13:34:17 -07:00
Divya R
526fa532f0 qcacmn: change datatype from int8_t to uint8_t
In Change-Id: I840d7911d0ac85181a09ea98658a661644f43b9c, the datatype
of the variable 'i' was inadvertently changed from 'uint8_t' to 'int8_t'.
Change it back to 'uint8_t'.

Change-Id: I6e2ae00f9291f958b3702b71b3444a94e5e4388a
CRs-Fixed: 3551099
2023-07-15 00:30:19 -07:00
Jyoti Kumari
5e9c54ba84 qcacmn: Add wake_dur & wake_interval in twt_peer_priv_obj struct
Add wake_dur & wake_interval in twt_peer_priv_obj struct to store
TWT wake duration and wake interval. This info is needed to
decide LL_SAP CSA path indication (either via GATT message or
ECSA action frame)

Change-Id: I0b3ead0567dc69a7c8e53e9c45f51637609ade7c
CRs-Fixed: 3522643
2023-07-14 15:42:20 -07:00
Manikanta Pubbisetty
3ea9fb0844 qcacmn: Rename mslot/pslot with module_id/pool_id
Currently in WBUFF code, mslot/pslot is used to refer module_id/pool_id
and there are references of them being used interchangeably.

Rename mslot/pslot to module_id/pool_id to improve the readability of
the code. This is the pre-requisite to support mutilple modules in WBUFF
which will be added with a future patch.

Change-Id: Ia5a113535cff950cd3f464b6133370f026d4fc87
CRs-Fixed: 3516982
2023-07-14 15:42:09 -07:00
Azmath Mohammed
2baa26c9b4 qcacmn: Added a check in "dp_hw_cookie_conversion_detach"
When the mem_alloc fails and fails to create spinlock
checks the mem allocation before destroying spinlock.

Change-Id: Id4c1a509cd0bb534040040f6948d3307181dc909
CRs-Fixed: 3552551
2023-07-14 15:41:57 -07:00
Divya R
50956c4387 qcacmn: Use correct opclass table to populate 6 GHz op class
'wifitool athX setbssidpref' command is used to the
set bssid preference value  for mac address.
'wifitool athX sendbstmreq' command is used to
trigger BTM request frame from the AP to make MCC STA roam from
one AP to another.The preference value from the 'setbssidpref'
command is not reflected in the 'Neighbor report' IE in the
BTM request frame in 5 GHz device. In case of 5 GHz device, 6 GHz op
class are not populated since two global op class structure are
maintained and  6 GHz channels are missing from the list of channels
supported from the old structure (global_operating_class).
This is causing the AP to exclude the preference value
from setbssidpref command.

To fix this, popluate 6 GHz supported op class from new
global_op_class structure instead of old global_operating_class structure.

Change-Id: Id2275c9862518c613773d6ae810d59dea8b854b1
CRs-Fixed: 3549953
2023-07-14 15:41:46 -07:00
Shailendra Singh
584096fde4 qcacmn: Add change to extract per vdev tx power
Add change to extract vdev tx power from vdev extended stats.

Change-Id: I929d642a649653cbbbd3911a11dbba92377f70d1
CRs-Fixed: 3496091
2023-07-14 10:07:46 -07:00
Sai Rupesh Chevuru
a7af205870 qcacmn: populate the bridge vap in partner list
populate the bridge vap in partner list

Change-Id: Ie7c0ebc3b796f2b57e7837577079dcd1d4faac45
CRs-Fixed: 3550201
2023-07-14 10:07:31 -07:00
Surya Prakash Sivaraj
7147d2a4d2 qcacmn: Remove interfering frequency from scan list
Remove the interfering 6 GHz inaddition to the 5 GHz
channels from the scan list, if the DFS SAP is present.

Change-Id: Ia7dd5b87fe762d8ba326f9b7ac508731563312ba
CRs-Fixed: 3555971
2023-07-14 10:07:20 -07:00
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