Commit Graph

19784 Commits

Author SHA1 Message Date
Krunalsinh Padhar
3d44d3fb6f qcacmn: force non-assoc link as primary for single soc
In force non-assoc link as primary case, If MLD is within single SOC, then
stop assoc link to become primary umac and allow the non-assoc link as
selected to be the primary umac.

CRs-Fixed: 3564005
Change-Id: I3f2d681ccacd9e449c1f1b74fa9df23429c11a1c
2023-07-22 03:57:21 -07:00
Arun Kumar Khandavalli
ca7419851a qcacmn: Invoke the objmgr destroy handlers in reverse order of creation
Invoke the object manager destroy handlers in reverse order of creation,
MLME creates the vdev 1st and all the handlers are invoked, during
destroy as well the vdev is deleted 1st and destroy handlers are invoked
later.

Any handlers dependent on the vdev object will have issue, so invoke
the handlers in the reverse order of creation and delete the vdev
last.

Change-Id: Ib15507464f78a436c96a0910e2af0307a3d711fb
CRs-Fixed: 3565425
2023-07-22 03:57:11 -07:00
Aasir Rasheed
cc94ae4317 qcacmn: Add crypto api's for individual link
Currently crypto module is using vdev to get
and delete the crypto key, However there is a need to get
and delete the crypto key based on psoc level.
The change is to use psoc handler for retrieving and deleting
the key.
Change-Id: I4fcf0fd5c7d9d5a579c092c43117594f7d9fc6a3
CRs-Fixed: 3561978
2023-07-21 16:50:50 -07:00
Aasir Rasheed
0c2398d0c5 qcacmn: Store keys based on psoc level
Currently, we are storing keys based on vdev object.
However, with n link mlo there is a need to store keys
based on psoc level.
This change is to store keys based on psoc level.
Change-Id: I457704ce40ed450516b0a99b4021b68df112a600
CRs-Fixed: 3565184
2023-07-21 16:50:42 -07:00
Aasir Rasheed
a78a9c13e0 qcacmn: Remove unnecessary code
This change is to remove unnecessary
code. Earlier this change was required for
partner link.
Change-Id: I8a217d3e81d395ae2eaf3d7b1641af83f3e95526
CRs-Fixed: 3565193
2023-07-21 16:50:34 -07:00
Aditya Kodukula
e382b8c781 qcacmn: Fix arguments of QDF_MAC_ADDR_REF to avoid compilation failure
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 and it can cause compilation failure.
So, fix all such instances.

Change-Id: I31aa5abddc3c207b2fd2eb823ac2000f5ed3f0a6
CRs-Fixed: 3563985
2023-07-21 16:50:24 -07:00
Hariharan Ramanathan
5ec64fb74d qcacmn: Featurization of DP_TX_EXT_DESC_POOL_OPTIMIZE
This flag DP_TX_EXT_DESC_POOL_OPTIMIZE if enabled will reduce the number
of ext tx desc pool to 1.

1. Changes done to split the tx_desc and ext_tx_desc pool number
variables in alloc and free path. Based on this flag the reduced
ext_desc_pool count will be returned.

2. In Tx path, since the pool id is selected based on the CPU, changes done
to override the desc_pool_id of ext_desc_pool via new API
dp_tx_ext_desc_pool_override to 0 with which from whatever core the packets
comes from, pool 0 will be chosen for ext_desc.

Change-Id: Iae8bf9952a136ba2c55256d8f305b6d5fbde5d83
CRs-Fixed: 3552532
2023-07-21 16:50:14 -07:00
Abhishek Singh
68e0b883b4 qcacmn: Print all the remaining scan req params
Print all remaining scan req params while printing scan req.

Change-Id: If81ff0fd12a65e207576254bd787fa8711088269
CRs-Fixed: 3566116
2023-07-21 16:50:03 -07:00
Gaurav Saini
552bef7535 qcacmn: Moving peer find function in common path
peer find by mac function is getting used by
many components. so, Movng that to common path.

Change-Id: I390b86af73618661857ed80d478fe4f48bee9fe1
CRs-Fixed: 3563204
2023-07-21 10:23:45 -07:00
Deeksha Gupta
e5a70728b5 qcacmn: Add documentation and nested attribute enums for existing QCA TDLS commands
Add missing documentation and nested attribute enums for the existing
QCA TDLS vendor commands.

Change-Id: I624ed1098d2b51958296a581219d25bddfa2d677
CRs-Fixed: 3552603
2023-07-21 01:17:19 -07:00
Karthik Kantamneni
b965b762b1 qcacmn: Fix race with F.W in updating CE control register
In current case when RRI on DDR feature is enabled then host
programs CE control register, but there is chance of F.W also
programming the CE control register around same time this leads
to race and chance of either host/F.W value getting over written.

So to avoid this while programming the CE control register for
RRI on DDR enablement, update it with F.W programming value also
i.e DMA length. So if incase register value over written due to
race proper value will be updated to register either by host/F.W.

Change-Id: I2560c74726b21128d1cd50805d987fda1b2a1230
CRs-Fixed: 3561689
2023-07-21 01:17:09 -07:00
Mohan Prabu
089380cefb qcacmn: Update cfg80211_ch_switch_notify() to kernel_6.x
Introduced new macro CFG80211_PUNCTURING_SINGLE_NETDEV_API
to be used if we want to pass puncture bitmap as an argument
to kernel, else disable it.

Change-Id: I136e09d547bc14e57be5ee0b026a51f0d6e4a525
CRs-Fixed: 3487912
2023-07-21 01:16:58 -07:00
Jia Ding
f3fcb9b56e qcacmn: Initialize ipa_mapped to 1 in soc attach
Two SMMU issues are seen on IPA domain with regard to RX.
1. map without unmap
2. Buffers not mapped into IPA.

With If198a6c5f22af58fdaf9d9c020c74b1f76002e37, mapping
RX buffers to IPA domain are deferred to IPA enable pipes
phase with soc->ipa_mapped flag check added. This leads
to a race window where RX packets are routed to WLAN Host
first with soc->ipa_mapped still being 0. In such case, RX
buffers handled by WLAN driver will neither unmap from IPA
domain nor map into IPA domain.

For !ipa_config_is_opt_wifi_dp_enabled(), fix is to set
soc->ipa_mapped to 1 earlier in soc attach phase instead of
IPA enable pipes phase. With this fix, RX buffers can be unmapped
from IPA domain and mapped to IPA domain in dp_pdev_rx_buffers_attach()
and dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path so
as to avoid above two SMMU issues.

Change-Id: Idcb86db99f522959b639865f77178cd47a234277
CRs-Fixed: 3560191
2023-07-20 19:19:34 -07:00
Manikanta Pubbisetty
e2b9779df7 qcacmn: Add WBUFF statistics
Currently, there are no statistics whatsoever present in WBUFF module.
To start with, add some basic statistics to the WBUFF module.

Change-Id: I63c06cfb8b1430b2e86539f88025e6d74a00012b
CRs-Fixed: 3548509
2023-07-20 19:19:23 -07:00
Sai Pratyusha Magam
799450bbce qcacmn: Changes for 11az related security params
Changes for 11az related security params.

Change-Id: I28414f046ec7aa01152df605a6c4f99d243ff587
CRs-Fixed: 3560800
2023-07-20 19:19:13 -07:00
Ripan Deuri
16b711679f qcacmn: Enable SCS rule config for SAWF
Enable SCS rule config for SAWF.

Change-Id: Ia4e1b72075b7b50317ec5e1d6fd95b80f557d713
CRs-Fixed: 3554761
2023-07-20 19:19:02 -07:00
Pragaspathi Thilagaraj
50de05c257 qcacmn: Add support to enable CFR for EVROS
Add support to enable CFR for EVROS

Change-Id: Ie6feea940d40b04d54058d662116deb2b6972a5e
CRs-Fixed: 3528559
2023-07-20 01:12:16 -07:00
Venkateswara Swamy Bandaru
ba8e167b7a qcacmn: Add API get vdevs of peer
Add API to get vdevs per link of MLO peer.

Change-Id: I02aab17424b1f6b98868347291de98f082b267a5
CRs-Fixed: 3560163
2023-07-20 01:12:05 -07:00
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