Commit Graph

18124 Commits

Author SHA1 Message Date
Jeevan Kukkalli
ce1eb44128 qcacmn: Add appropriate comments
Add appropriate comments to describe actions
performed.

Change-Id: I16ba2ef3f8baae3e5a5e8add1668a49acc858495
CRs-Fixed: 3346270
2022-11-28 08:37:59 -08:00
Nandha Kishore Easwaran
7432a2e275 qcacmn: Add field to indicate sw peer filtering
Add a field to indicate if SW peer filtering is needed in
Tx monitor

Change-Id: Id0ed1655dfe51632f0437c4e3e3c2ccd067f75fe
CRs-Fixed: 3333191
2022-11-28 04:58:30 -08:00
Nandha Kishore Easwaran
70a8c0b8f8 qcacmn: Add monitor includes into 2_0 support
Add monitor 2.0 code into QCA_MONITOR_2_0_SUPPORT macro.

Change-Id: Icd001a007c513750811b26eb7928c56dad1f9a79
CRs-Fixed: 3342797
2022-11-28 04:58:22 -08:00
Surya Prakash Raajen
73591dcdf2 qcacmn: Add sanity check for t2lm ie info and macro changes
Add sanity check for t2lm ie info and use appropriate macro
changes for expected duration.

Change-Id: Ib369c44b41247e0ca5174b65e39e9d94e19c7af2
CRs-Fixed: 3339695
2022-11-27 12:31:56 -08:00
Surya Prakash Raajen
6a2a1f1a5e qcacmn: Add vdev wmi cmd and event support t2lm ie info
Add support for vdev level WMI Command and event to send
and receive t2lm ie info

CRs-Fixed: 3339695
Change-Id: I8b896a961cba8f1d8e11111f900a98da090b9513
2022-11-27 12:31:47 -08:00
Hariharan Ramanathan
b673b97a2d qcacmn: Interrupt Changes for QCA5332
Added interrupt registering code for tx monitor and umac_reset

Change-Id: Id76329a908859a512cef23d68a4afbff794af09a
CRs-Fixed: 3340347
2022-11-27 01:50:43 -08:00
Shashikala Prabhu
fcc7724ea7 qcacmn: Initialize the MLO T2LM context with the default values
Initialize the MLO T2LM context with the default values.
- Set the direction to WLAN_T2LM_BIDI_DIRECTION
- Set default_link_mapping to 1
- Set the number of T2LM IE as 1

Change-Id: Icb5a576f14db616bf67a302f3e4666a0303a4c5b
CRs-Fixed: 3345808
2022-11-26 21:50:16 -08:00
Priyadarshnee Srinivasan
f25d7d2fc7 qcacmn: Find wmi_handle from the pdev_id
In case of split-phy radio, both the wmacs may belong to the
same PSOC. Hence in WMI_VDEV_SET_TPC_POWER_CMDID/
WMI_SET_INIT_COUNTRY_CMDID/WMI_AFC_CMDID, instead of
fetching the wmi_handle from psoc, find the WMI handle for the
corresponding pdev on which the cmd must be sent.

CRs-Fixed: 3333857
Change-Id: Ib38b15dbda4ea83edd6341d7732addbb1a563ad2
2022-11-26 19:23:55 -08:00
Chaoli Zhou
976fcbba3a qcacmn: Correct system time usage for tx complete dealy check
In the dp_tx_desc_set_ktimestamp() return false case,
tx_desc->timestamp will not be updated, instead,
tx_desc->timestamp_tick used. So it will cause
dp_tx_comp_delay_check() always return false when
timestamp equal zero. Need to move the tx desc
timestamp check to correct place.

Change-Id: Ic1d5f1035784dcc3f240d832ac1e8820bc24f782
CRs-Fixed: 3331251
2022-11-26 17:40:29 -08:00
Jeevan Kukkalli
b0b3b2a793 qcacmn: Validate nbuf while processing MPDU/MSDU level TLVs
nbuf could be freed when some error conditions are hit so
always validate nbuf while processing MPDU/MSDU level TLVs.

Change-Id: I5e0756bc8ba0a8c68c6ce8d2886b5b63068626a0
CRs-Fixed: 3318966
2022-11-26 17:40:21 -08:00
Krunalsinh Padhar
7ca1ab9e0f qcacmn: add vendor sub-command index for primary netdev notification event
Add vendor sub commands index
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT_INDEX.

This index is used to identify the vendor event from the socket buffer.
This vendor event notifies the application layer about the primary
netdev after each MLO association.

Change-Id: Icccf0498412ee6831dcf61f9dd7c7e828848c2eb
CRs-Fixed: 3297028
2022-11-26 15:51:34 -08:00
Surya Prakash Sivaraj
b409d8e0a0 qcacmn: Update NO_IR flag of indoor channel dynamically
In current design of sta+sap scc on indoor channels, the NO_IR
flag of all the indoor channels are removed during init.
Then, based on the operations on the SAP interface, the
SAP concurrency will be decided in host driver.

However, some userspace p2p applications, do not query the
pcl list from driver, therefore standalone P2P GO are sometimes
brought up in indoor channels.

To fix this:
1. Upon STA connect: Remove the NO_IR flags only from the
indoor channels to which the STA is connected.
2. Upon STA disconnect: Add the NO_IR flag back to the
disconnected channel.
3. Upon STA roam/csa:
    a) Add the NO_IR to the new channel if it is indoor.
    b) Remove the NO_IR of the previously connected channel
       once the SAP/GO(if present) moves out of the indoor channel.
4. The NO_IR flags should be removed for all the bonded channels
on which the STA is active.
5. In indoor concurrency cases, add logic in the SAP start to
limit the channel width with the STA interface bandwidth. Since,
only the bonded channels are active channels.

Change-Id: I0e200a1ef306909398644aecbfbca27622bb9d48
CRs-Fixed: 3337071
2022-11-26 10:35:42 -08:00
Hariharan Basuthkar
c23792348d qcacmn: Export wlan_reg_get_cur_6g_client_type for using outside UMAC
Export wlan_reg_get_cur_6g_client_type, so that it can be used
by APIs in other modules outside UMAC.

Change-Id: I010c58b85e43603b96a1281318ac59f368635aee
CRs-Fixed: 3343537
2022-11-26 10:35:18 -08:00
Jia Ding
4d49e53c5d qcacmn: Adjust min and max INI values for IPA tx size
On low memory targets, even with current min values, OOM is seen
on driver load time. This requires us to further reduce
the min value.

With 11be enabled, current max value may not meet KPI requirements.

Hence align min and max INI values for IPA TX ring and TX completion
ring size with HOST used ones.

Change-Id: Iedf1c2d4be04d798314e9ba61a844038c5696f45
CRs-Fixed: 3338114
2022-11-26 04:53:19 -08:00
Jia Ding
0ffd9de547 qcacmn: Properly handle IPA TX alt ring
If IPA tx alt doorbell address is not returned from IPA, wlan
should not touch the tx alt paddr and vaddr either. Therefore
add the NULL check before handling the tx alt ring resources.

Change-Id: I6b98fe5c003f3e796441513515190ea592d14d01
CRs-Fixed: 3339322
2022-11-26 04:53:10 -08:00
Amir Patel
88194f389a qcacmn: Update Calibrated noise floor from HALPHY
Update Calibrated noise floor from HALPHY into monitor packets

Change-Id: I73d879ad7d1b22a52b447f3197989e2beb52a404
CRs-Fixed: 3345567
2022-11-26 02:37:31 -08:00
Jinwei Chen
a96968138e qcacmn: Fix UL delay value > 0x80000000 issue
buffer_timestamp in wbm2sw ring descriptor is 19 bits only with
unit 1024 us, so it can only accommodate 0x7FFF * 1024 us same as
29 bits value with unit us. but if the timestamp value is >
0x7FFF * 1024 us, then the value stored in buffer_timestamp is not
right as other higher bits bit29 ~ bit31 is lost.

restore bit29 ~bit31 value for buffer_timestamp to fix current issue.

Change-Id: Ie929f560365cc822883711133541772348775357
CRs-Fixed: 3336241
2022-11-25 20:30:36 -08:00
Sreeramya Soratkal
07b290e3a7 qcacmn: Update number of chips in MLO
To support MLO on 4 chips, update the maximum number of chips that
can participate in MLO to 4.

CRs-Fixed: 3314581
Change-Id: I93a253b4e54f7e4e19ea8407facfb69e6347d192
2022-11-25 18:35:55 -08:00
Jyoti Kumari
2758a289a9 qcacmn: Add edca_pifs_param attribute in QCN ie
Add edca_pifs_param attribute in QCN ie. This attribute will
be use to configure edca and pifs param for LL SAP.

Change-Id: Ic8f9969067f676010fdae8b5391fdec6f5207628
CRs-Fixed: 3334897
2022-11-25 18:35:47 -08:00
Jyoti Kumari
785d1a0417 qcacmn: Add ecsa support attribute in QCN ie
Add ecsa attribute in QCN ie. This attribute will be use to
configure extended channel switch announcement ie.

Change-Id: If47155cd6ea8b62cc99920148db71c90359fbcba
CRs-Fixed: 3337215
2022-11-25 18:35:40 -08:00
Roopavathi Lingampalli
edc0d60122 qcacmn: Add new QDF API's to handle napi requirements
Add new QDF API's to handle napi, softirq related handling
in rx thread and rx refill thread.

Change-Id: I0f371c89e65d8b20f059c56097bac07ec1e19cc9
CRs-Fixed: 3341804
2022-11-25 16:32:44 -08:00
Chaoli Zhou
b17c45a9d8 qcacmn: Logging bdf version status
Extract the bdf version status from ext2 service ready
event to indicate if bdf file match with wlan fw
well or not.

Change-Id: I7a81667a42fb825c02da1662afdace4d0cbe3cae
CRs-Fixed: 3334551
2022-11-25 14:33:26 -08:00
nobelj
88f6945a63 qcacmn: fix copyright comment
fix copyright comment

Change-Id: I3e823c0846a00f43471e902fd5d491adb592342e
CRs-Fixed: 3317602
2022-11-25 14:33:17 -08:00
Rakesh Pillai
95dad4fa46 qcacmn: Add support to drop monitor destination ring entries
Currently, in case of station+monitor mode on KIWI target,
we are not attempting to drop the entries received in the
monitor destination ring, when no channel has been
configured for the monitor interface. This leads to the
monitor destination ring full condition and an eventual
backpressure on the ring.

Fix this issue, by dropping the entries in the monitor
destination ring, which have been received before the
monitor channel has been configured.

Change-Id: Ic9c432b438d0a5dce2d2bb38053c31ce508c27f5
CRs-Fixed: 3332327
2022-11-25 14:33:09 -08:00
Yu Tian
5a6d2c2374 qcacmn: Optimize RX hw stats flow
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.

Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
2022-11-25 12:35:53 -08:00
Neha Bisht
5d0b7ea33f qcacmn: Create a list of skbs to be freed at once
Create a list of skbs to be freed at once in dp tx completion path

Change-Id: I42129b4306206f7224ceabc87d07e2a87b8fcab6
CRs-Fixed: 3274945
2022-11-25 12:35:45 -08:00
Harsh Kumar Bijlani
801226f363 qcacmn: Change module id for hexdump printing of hw vdev stats
Change module id to QDF_MODULE_ID_DP_HTT for hexdump printing
of hw vdev stats.

Change-Id: Ie9db76aa04241680236aa6b23a4ee65b5fd89d23
CRs-Fixed: 3343177
2022-11-25 10:25:42 -08:00
Sushant Butta
31eb482274 qcacmn: Fix for u8 overflow
When high throughput is running between AP and STA,
due to u8 variable overflow, host is not replenishing
required buffers.

More than 255 buffers can be requested for replenish,
so fixed size of the variable.

Change-Id: Ia810fed29058ec527cd8e6f77e6f9c333c5c6f88
CRs-Fixed: 3306616
2022-11-25 10:25:33 -08:00
Srinivas Dasari
8b311c3358 qcacmn: Fetch bcn/probe rsp with given mac addr from scan db
Fetch beacon/probe response with given mac address from scan db.
The frame can be used to fill bss descriptor in case of MLO
roaming where scan entry is derived from ML probe response of
assoc link.

Change-Id: Ie20b36c6619dd0e44d04d3bd8767c7dd09b053d5
CRs-Fixed: 3342439
2022-11-25 08:18:23 -08:00
Srinivas Dasari
75dd9dfa21 qcacmn: Add link beacon also to connect resp structure
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event. The link beacon frame
needs to be fetched from roam sync indication and cache it in
connect resp to use it while link connect in roaming cases.

Add a new param in connect response structure to facilitate this.

Change-Id: Ib015728c8ee880337c4d1fdadc373c9e52247b55
CRs-Fixed: 3342433
2022-11-25 08:18:14 -08:00
Devender Kumar
ef32f35aed qcacmn: Fix for Header File inclusion
Compilation is failing due to Missing definition
of KERNEL_VERSION as the Header file is added
before including <linux/version.h>.

Fix is to move the Header file at the end.

CRs-Fixed: 3338337
Change-Id: I83fc448becc4af81df9b4c7b3fe9193875c7f6f1
2022-11-25 00:08:34 -08:00
Pavankumar Nandeshwar
a2ddd8956b qcacmn: Retain ds ring indices across wifi restart
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.

Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
2022-11-25 00:08:26 -08:00
Asutosh Mohapatra
4f77d1f3c1 qcacmn: Optimize log prints
Optimize log prints in extract_reg_chan_list_ext_update_event_tlv.

Change-Id: I3a4242873486d914e15a9f3940e9e4fb59814cf8
CRs-Fixed: 3338254
2022-11-24 01:22:55 -08:00
Surya Prakash Raajen
572d9ff24e qcacmn: CFG section defines for 6 GHz low & high bands
CFG section definitions for 6 GHz low & high band for
ini configurations. These new definitions enables us to
configure the unique INI parameters for 6 GHz low and 
6 GHz high band, for new solution of Split-phy in 6 GHz.


Change-Id: I1417dee90f0aebe31f24a64017d9203b74dfc886
CRs-Fixed: 3332719
2022-11-24 01:22:46 -08:00
jinbaoliu
161650dffa qcacmn: Fix failing to distinguish between EAPOL M2 and M4
Currently we distinguish EAPOL frames by taking the secure bit in key
information field into account. This is sometimes error because for WPA
handshake M3/M4 secure bit is 0 (GTK is not included in M3) whereas for
WPA2 handshake M3/M4 secure bit is 1 for WPA2 handshake. This change uses
the ack bit in key information field to differentiate M1/M3 from M2/M4,
then uses the key data length as well as Key Mic and Encrypted Key Data
in key information field together to identify EAPOL M2 and M4 frames.

Change-Id: Iac88bc5b942415edee08dc4a98dbd4e811cb8604
CRs-Fixed: 3327876
2022-11-23 23:40:03 -08:00
Nidhi Jain
be0e54e189 qcacmn: Update T2LM negotiation values for wlan_t2lm_enable
This change updates the T2LM negotiation values for wlan_t2lm_enable.

Change-Id: I17e2d0e99eb383f072f5595c524156265274a194
CRs-Fixed: 3306992
2022-11-23 21:52:12 -08:00
Amir Patel
af0472aa08 qcacmn: Update PPDU drop counter
Update PPDU drop counter from monitor ring

CRs-Fixed: 3341905
Change-Id: I63f5b4d6a3e1e0155cf0558bea18704df073e2a9
2022-11-23 21:52:03 -08:00
Yeshwanth Sriram Guntuka
2a525d7545 qcacmn: Add id for QMI component
Add QMI component entry in object manager debug id
and umac component id.

Change-Id: Ib2531ee9cc91f721214f9e30b6b25cb7f3e89a42
CRs-Fixed: 3338296
2022-11-23 13:55:08 -08:00
Amit Mehta
46a5d43615 qcacmn: Vendor attribute to configure QoS/AC upgrade for UDP frames
Introduce a new attribute to configure access category
override for UDP frames of BE/BK category. Unlike, the
earlier attribute QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE
which will override for all UDP frames, this attribute is
for overriding only for BE/BK based UDP frames.

CRs-Fixed: 3332609
Change-Id: Ife6104b97bca83653fdcac31f2c91007d1aa6f2a
2022-11-23 10:52:49 -08:00
Srikanth Marepalli
7c94f932be qcacmn: A vendor roam control configuration for delaying hand off for RX
Introduce a run time roam configuration for "hand off delay for RX".
This value, in milliseconds, will delay the hand off for the specified
time to receive pending RX frames from the current BSS.

Change-Id: I961109a2f9287a611ae8f4b38e2ea824ecf9c559
CRs-Fixed: 3329952
2022-11-23 04:42:57 -08:00
Adwait Nayak
8775c73843 qcacmn: Enable hybrid mode for QCN9224
Enable hybrid mode specific handlers

Change-Id: I764c56c217b951424d699d6861ef8771496dd592
CRs-Fixed: 3339154
2022-11-23 04:42:49 -08:00
Pavankumar Nandeshwar
ab2bd061c2 qcacmn: Enable wbm2sw_release ring for ppe2tcl ring
Enable wbm2sw_release ring for ppe2tcl ring to
handle tx completions

Change-Id: I38e81bb46e376e3f059f321454aa4d241e6aadb7
CRs-Fixed: 3309444
2022-11-23 02:15:55 -08:00
Abhishek Singh
84e3277bc8 qcacmn: Limit join timeout try to 1 for MCC concurrency
Currently join timeout is retried 2 extra time which can lead
to unsuccessful connect time of about 9+ sec, this lead to
beacon miss on the MCC concurrency.

So reduce it to 1 try to limit connect time to around 3+ sec in
case of candidate freq can lead to MCC concurrency.

Change-Id: I642a7acd1e2a49308836bd1bb6c77ab1aeb110e4
CRs-Fixed: 3328642
2022-11-22 20:34:40 -08:00
Amruta Kulkarni
b6ca1b3ff2 qcacmn: Add null check in osif roam api
Add null check in osif_roam_auth_mlo_links api.

Change-Id: Ia3290fe3b51d8913f212c732a6c53b0a159adfc3
CRs-Fixed: 3337588
2022-11-22 20:34:32 -08:00
Mohammed Ahmed
2f2d0e141c qcacmn: Add break in case statement
Case statement is missing a break between cases.

Change-Id: Iedba605d2fdd0f111730bc2f9f02bb89bdb6c834
CRs-Fixed: 3343781
2022-11-22 18:45:12 -08:00
Himanshu Batra
d729483efc qcacmn: Add fix to avoid deadlock in back to back connect
Add fix to avoid deadlock in back to back connect handling

Change-Id: I831a64f14270dceb9e7cfae2f9d4b05fec99d8d2
CRs-Fixed: 3342240
2022-11-22 15:51:02 -08:00
Deeksha Gupta
4ff65dc760 qcacmn: Parse 11be capable beacons if DUT is not 11be enabled
Currently, in driver, if DUT fw does not support 11be,
11be capable beacons will not be parsed in the scan result.
But driver can have 11be capable parsing even when target
is not capable of 11be. This may be helpful in understanding
OBSS and ACS kind of scenarios.

To fix, driver will parse 11be capable beacon in the scan result.

Change-Id: I1eb4d60c8a7513a01126575dd9c4fc4f1a4ee6e0
CRs-Fixed: 3296848
2022-11-22 15:50:55 -08:00
Jianmin Zhu
1aaeca79da qcacmn: Fix link peer is deleted before assoc peer
When vdev1 connected, if find vdev0 isn't connected, disconnect vdev1 in
async way by sending msg to scheduler thread, and disconnect vdev0 cmd is
enqueued to serialization before disconnect vdev1 cmd, so vdev0 assoc peer
delete happens before vdev1 link peer, F/W assert happens.

To fix it, when vdev1 connected, if find vdev0 isn't connected, disconnect
vdev1 in sync way, and let disconnect vdev1 cmd enqueue to serialization
queue header instead of tail, make sure it is activated befored disconnect
vdev0 cmd.

Change-Id: I80b1c8f6528bdd58e953851e164e5bfce2b3bd4a
CRs-Fixed: 3339030
2022-11-22 13:51:30 -08:00
Nanda Krishnan
dce586be60 qcacmn: Using pdev_wmi_handle instead of wmi_handl
Using pdev_wmi_handle instead of wmi_handle in
target_if_peer_set_ppe_default_routing

Change-Id: I7eb94d2b92078c55f2c03f4ccd57d124d3229053
CRs-Fixed: 3341573
2022-11-22 12:12:15 -08:00
Will Huang
ed050b6f1a qcacmn: Populate pdev secondary_cur_chan_list for mobile device SAP
secondary_cur_chan_list channel list is for mobile device SAP, which
by default cannot enable on LPI channels, and cannot enable on SP
channel until AFC server response received.

Populate 6 GHz channels to secondary_cur_chan_list based on 6 GHz
regulatory rules of current country, LPI channel will not be added
in because it is not allowed for mobile SAP. And update 6 GHz SP
channel attributions if received AFC response.

Also add APIs to populate power attributions of secondary_cur_chan_list
and decide proper 6 GHz power attributions if 6 GHz channel frequency
and bandwidth being selected.

Change-Id: I6aa0228f18f7e31fc3cdd63a98483d02afb0579a
CRs-Fixed: 3204156
2022-11-22 10:22:28 -08:00