Commit-Graf

19555 Incheckningar

Upphovsman SHA1 Meddelande Datum
Liangwei Dong
8859a74378 qcacmn: Update scan entry chan based on RSSI
For 11A only AP, HT and DS IE are not present in beacon,
STA may receive the beacon on adjacent channel, then
driver may record wrong channel frequency in scan entry.
Fix by update the channel frequency by old scan entry
channel frequency if new beacon RSSI lower than old beacon
RSSI and gap is bigger than 40 db within 5s.

Change-Id: Idbd144befa78597fcd50a753ca13b0f11d1f45f5
CRs-Fixed: 3484664
2023-06-29 18:14:46 -07:00
nobelj
37791f6cb1 qcacmn: Add fix to set NULL to msdu extn desc on release
Add fix to set NULL to msdu extn descriptor on release.
if same descriptor is used for other frame type. there is a more chance
extension descriptor can be added to the same free list.

Change-Id: I25e86c0ae03b4b39b6813519864afd16b3d19e4c
CRs-Fixed: 3503237
2023-06-29 18:14:36 -07:00
KARTHIK KUMAR T
0f5280024c qcacmn: Add addr conversion logic for raw mode packets
In case MLO HW will do the link mac address to mld mac address
conversion in RX path, But currently HW is supporting only for
802.3 mode.
For RAW mode(802.11) this conversion not happening on HW so added
this address conversion logic on SW.

Change-Id: Ibd794510e9d0ebdca884ed2e4043e0c48052156e
CRs-Fixed: 3537914
2023-06-28 22:11:26 -07:00
Amrit
ec3d41727b qcacmn: Add NULL check before unmapping desc
Add NULL check before unmapping desc

Change-Id: I633568f66dec04a5591a0161fce04c9392542e57
CRs-Fixed: 3481046
2023-06-28 22:11:15 -07:00
Vijay Krishnan
baf0a16d29 qcacmn: Stop puncture SM during DFS reset
When AP is moving to down state, stop the puncture SM.
If we do not stop the SM, the corresponding puncturing
slots will not be available for new radar puncturing.

Introduce a new member dfs_is_unpunctured in dfs_punc_obj
structure. The dfs_is_unpunctured holds the information
whether SM object is unpunctured at that moment. Since
both un-puncturing and puncturing are done through vdev
channel change, current code cannot differentiate between
if the channel change is for puncturing or it is for
un-puncturing.This variable will help us identify whether
an event should be for puncturing, or it is for
un-puncturing.

Handle the radar puncturing after the usenol check,
otherwise the usenol case will not get executed.

The internal_radar_pattern is not needed as the
information can be fetched from DFS puncture SM object.

CRs-Fixed: 3540171
Change-Id: If889348056ad82e7cbbe6ca954af7ddfa99e6865
2023-06-28 05:05:30 -07:00
Liangwei Dong
7280363bff qcacmn: Add force link state API by link id bitmap
Add send_mlo_link_set_active_id_cmd_tlv API to send
force link bitmap to target.

Change-Id: Ie3a41bd2c82b6d10c8d82e4afa83621969c01798
CRs-Fixed: 3515441
2023-06-28 05:05:18 -07:00
David Oladunjoye
6182daebfe qcacmn: Add support for aux support capability
Add support for aux support capability.

Change-Id: Ifc955d6dde8f995133cf3c7fb389d5fc3b3a046b
CRs-Fixed: 3509127
2023-06-28 01:23:28 -07:00
Thirusenthil Kumaran J
0da20d2361 qcacmn: Fix Bootup crash for Partial Offload chipset
Swift radio in Hawkeye is a partial offload chipset supporting
11AC mode. It has no support for MLO. Currently, when MLO event
handler registration fails due to No Support, an error is returned.
This terminates the device bootup causing a crash.

To solve this issue, do not return an error status when the
event registration fails due to No support.

Change-Id: I89819461bbc1d0fa31ef0558c93d06723f13de35
CRs-Fixed: 3520749
2023-06-28 01:23:05 -07:00
Asutosh Mohapatra
ac4f5f95e7 qcacmn: Handle invalid 6 GHz power type advertised by AP
If AP doesn't advertise 6 GHz power type or advertises
invalid 6 GHz power type, find the power type for connection
as per below logic.
a) Connect in VLP only if VLP power type is available for STA
   for the connection channel.
b) Otherwise connect in LPI only if LPI power type is available
   for STA for the connection channel for STA.
Don't connect if VLP or LPI power types are not available for
STA for the connection channel.

Change-Id: I4c2d146050bc49b856f22c15af36a2b1d229f448
CRs-Fixed: 3529927
2023-06-27 21:49:14 -07:00
Vishal Miskin
051073735a qcacmn: Enhance data path traces to show latency in us
Enhance data path tx/rx traces to show latency in
microseconds.

Change-Id: Ic3457e38bb1bcc354fe81b087185bd94be8b0b94
CRs-Fixed: 3523927
2023-06-27 21:49:04 -07:00
Nanda Krishnan
baf49c9f89 qcacmn: Tracking the ring util stats
Added serviceability changes to track ppe2tcl
and wbm2rel ring util stats

Change-Id: Ia154ae4914c47f010921eaed10b8a4dde50884bf
CRs-Fixed: 3537655
2023-06-27 21:48:54 -07:00
Neha Bisht
c9d9e88708 qcacmn: Update ast entry during PTQM migration
Delete and add ast entry during PTQM migration for current and new primary
peer respectively.

Change-Id: I4a640f84a5778aeff19057e027b3aae9e939487a
CRs-Fixed: 3536670
2023-06-27 07:39:40 -07:00
Guru Pratap Sharma
6646c062ff qcacmn: qdf export mlme_11be_target_capab get/set api
qdf export wlan_psoc_mlme_get_11be_capab and wlan_psoc_mlme_set
_11be_capab api

Change-Id: I4cd10dd40861abf06514e46c7d554a28f7991020
CRs-Fixed: 3540341
2023-06-27 04:04:02 -07:00
Himanshu Batra
bc4f921706 qcacmn: Add support to reject ptqm migration for 4-link RDP
Add support to reject ptqm migration for 4-link RDP

Change-Id: Ib81e053880b74b3c925eb0c69ace3e80f9d08a66
CRs-Fixed: 3529926
2023-06-27 04:03:52 -07:00
Himanshu Batra
be34bbe6fc qcacmn: Add support for ptqm migration
Add support for ptqm migration

Change-Id: I3f3d6e410bee554477e8e058b1da51f2af5abb23
CRs-Fixed: 3529926
2023-06-27 04:03:41 -07:00
Himanshu Batra
6f407b1a93 qcacmn: Modify return type of primary umac selection API
Modify return type of primary umac selection API so that multiple
callers can use the same algo for selecting new primary umac

Change-Id: I6e38839ae3489b6643ef0337c8e20d7c738c3763
CRs-Fixed: 3529926
2023-06-27 04:03:29 -07:00
Biswajit Dash
977b3d1fd6 qcacmn: move ml_peer_valid bit check macros out of qdf
-Moved the get macro from qdf to cdp layer.
-Removed the set macro from qdf and replaced its usage
 in be rx layer with an existing HTT ml_peer_Valid mask.

Change-Id: I4a87b4b560f983c5aa6d026481a88d28e2ff09fd
CRs-Fixed: 3488425
2023-06-26 17:22:44 -07:00
Vishal Miskin
210aad0930 qcacmn: User country set based on INI config params
Do not allow userspace to configure regulatory country
when below INIs are set as:
gCountryCodePriority=0
g11dSupportEnabled=1

Change-Id: Iaae8e209fb99802f67d906fcd70d2c7c0a2f8f06
CRs-Fixed: 3499558
2023-06-26 17:22:34 -07:00
Krupali Dhanvijay
e60150599d qcacmn: Add support to reset CPU freq in HO failure
CPU min frequency is boosted to maximum once roam start is received

Add support to reset CPU frequency in case of HO failure.

Change-Id: I137f78e3a307be136bcc27760be3d91cb6c1868b
CRs-Fixed: 3522954
2023-06-26 03:21:53 -07:00
Jianmin Zhu
7bfd6efab8 qcacmn: Add OUI config to enable CTS2SELF with QoS null frame
Add gActionOUIEnableCTS2SelfWithQoSNull to enable CTS2SELF with QoS null
frame for specified IoT APs.

Change-Id: I706152ae2ebbecb617ccd1295aee3f723fcb3005
CRs-Fixed: 3533498
2023-06-25 03:04:45 -07:00
Rakesh Pillai
316750a78c qcacmn: Fetch FISA params and rx_pkt_tlv size via CDP
Add provision to get the FISA params and rx pkt tlv size
via CDP API.

Change-Id: Ic9b42df999d395e4d739701887a36f3d30ce70f1
CRs-Fixed: 3512039
2023-06-24 13:32:29 -07:00
Rakesh Pillai
f3a0177ae3 qcacmn: Add CDP APIs for FISA HTT msgs
Add CDP APIs for sending HTT messages used for FISA
related configurations.

Change-Id: Ie4076794b8b4b53611ecb71fbb11d19bd0c36442
CRs-Fixed: 3512038
2023-06-24 13:32:18 -07:00
Rakesh Pillai
b47aea82ae qcacmn: FISA data structure movement
Move the non-converged data structure for FISA
out of converged DP section.

Change-Id: I76d8ac924814d5881f3fd1f75db3ee01cf87113f
CRs-Fixed: 3512037
2023-06-24 13:32:07 -07:00
Rakesh Pillai
47c1ec75a2 qcacmn: FISA ini movement
Move the non-converged INIs related to FISA
out of cmn DP.

Change-Id: I8b0419a753b3e11d4318f9ddab4dd975ef22786b
CRs-Fixed: 3512036
2023-06-24 13:31:56 -07:00
Rakesh Pillai
7bec9986f0 qcacmn: FISA suspend/resume code movement
Move the suspend/resume related handling for FISA
out of cmn DP.

Change-Id: I96aad736023a5d749b892a64b84827aab11ccdca
CRs-Fixed: 3512035
2023-06-24 13:31:46 -07:00
Rakesh Pillai
60e91fe20b qcacmn: FISA init code movement
Move the FISA initialization code out of cmn DP.

Change-Id: I744a69d559225d4a0496b84be9007ab230f2f4a0
CRs-Fixed: 3512034
2023-06-24 13:31:35 -07:00
Aasir Rasheed
aa7c47fe95 qcacmn: Add crypto changes for code convergence
At present, the crypto module utilizes the wlan_crypto_comp_priv
structure to store crypto keys. However, there is a need to store
keys for individual links in n-link MLO. To address this requirement
it is proposed to store the key from the vdev level to the psoc level.
This change will allow the reuse of a common structure.

Change-Id: Idc0d8bb11a80b66c7ded5c930ec0560566398890
CRs-Fixed: 3527400
2023-06-23 15:47:23 -07:00
Venkateswara Naralasetty
f9ecb01556 qcacmn: Fix rtpm_get during tx ring write index update
Add missing rtpm_put() for the corresponding rtpm_get() during
tx ring write index update.

Also, add counter to capture flush count per CE.

Change-Id: Ieeee944b63d574f62d61f0557637cbf8f3b653cd
CRs-Fixed: 3536425
2023-06-23 15:47:06 -07:00
SHIVAM KUMAR
833309ab56 qcacmn: Add support to send link recommendation command
Add support to send link recommendation command. This will
allow the user to pick the link that they want to utilise.
It is now the WFA prerequisite for AP.

Change-Id: I7d4459a65ce599aa5f674a3cc4a54185595ede40
CRs-Fixed: 3534151
2023-06-23 15:46:57 -07:00
Jeevan Kukkalli
89792f7221 qcacmn: Add check for invalid mon rx header
Add check for invalid rx header before processing
TLVs.

Change-Id: I57d3ff6ccc45723eb9b1ef7f048a5ea5a3718e50
CRs-Fixed: 3527793
2023-06-23 04:37:01 -07:00
Sushant Butta
ade262ccac qcacmn: Fix tlv parsing for rx_evm details tlv
Fixed tlv parsing for rx_evm and rx_antenna
for QCN9224.

Change-Id: I9a24a0231289018e73c4dfa3c4f0dd1c79d6f84b
CRs-Fixed: 3485292
2023-06-23 01:39:05 -07:00
Amit Mehta
1ba9e267e0 qcacmn: Add change to get link ID from peer event
Add change to get link ID from peer event

Change-Id: Iab066f702d232d3682729b57c5a3d4c7da2672ba
CRs-Fixed: 3442914
2023-06-22 22:02:10 -07:00
Amit Mehta
99ec9ce725 qcacmn: initialize affinity mgr IRQ affinity value to silver core
During init time initialize current and requested IRQ affinity
value to silver core

Change-Id: I87ee99732bf1b07be42b93013299d0b8a0c36c97
CRs-Fixed: 3528886
2023-06-22 16:03:36 -07:00
Nandha Kishore Easwaran
065a7a65fe qcacmn: Allocate separate CE for diag based on enable macro
Allocate a separate CE for diag only when enable macro is set
WLAN_DIAG_AND_DBR_OVER_SEPARATE_CE is used for indicating if
diag works on a separate CE. This flag is disabled on 256M platforms.

Change-Id: Ic4862478ece2eaf3d7b92d776f25420107c051f3
CRs-Fixed: 3533485
2023-06-22 12:49:41 -07:00
Surya Prakash Raajen
9b765b9738 qcacmn: Add support to get category verbose mask from qdf
Add support to get category verbose mask from qdf

Change-Id: I25aecc1dd13ad157cc5f27c1b9a7e6cfe05562a1
CRs-Fixed: 3525582
2023-06-22 12:49:31 -07:00
Vijay Raj
c9ffbec347 qcacmn: Remove redundant check in wlan_scan_start
In api wlan_scan_start(), redundant check for
scan_start_req is observed in some static analysis
tool.

Remove the redundant check in the ap
wlan_scan_start() as the check is present in the
api scm_scan_free_scan_request_mem

Change-Id: Ic320bb95253668310c5d738216daba62ba2f4b3f
CRs-Fixed: 3528505
2023-06-22 09:10:44 -07:00
Devender Kumar
bb397ae41d qcacmn: Fix IPA meta data mask for EasyMesh
Move the logic for IPA data mask under correct macro.

Change-Id: I3652271d5d152e0e17fce6e05392dd2a1311c1e5
CRs-Fixed: 3534587
2023-06-22 09:10:34 -07:00
Aniruddha Mishra
df9658cc1d qcacmn: Add nstrinfo in ml_partner_info and parse
Add nstrinfo in ml_partner_info and parse sta info.
Add nstr_info in ml_peer_ctx and peer_assoc_params
and send to FW

CRs-Fixed: 3483776
Change-Id: I255fc671b84a2048c6057a61a6de8d81db36c681
2023-06-22 06:06:49 -07:00
Guisen Yang
134088aadd qcacmn: Add NULL pointer check for ce_hdl
When the memory allocation is fail for shadow_base_unaligned in
ce_init(), the ce_hdl will also be NULL. So we need to check if
ce_hdl is null or not before use it.

Change-Id: I88bb7323b3f171a17e07cbc6168b6f26412803f6
CRs-Fixed: 3531693
2023-06-21 22:49:32 -07:00
Nidhi Jain
676e3bd122 qcacmn: Add vdev params for 11az NTB min time between meas
Add host mapping for 11az NTB min time between meas vdev param.

Change-Id: I0e9ecd091459afc509bc96467e4897eb80283624
CRs-Fixed: 3522565
2023-06-21 22:49:22 -07:00
Nidhi Jain
b50d2feef9 qcacmn: Add vdev params for 11az NTB max time between meas
Add host mapping for 11az NTB max time between meas vdev param.

Change-Id: I280a3bdd315bc5e05ca35d27dd16af832ded811d
CRs-Fixed: 3522565
2023-06-21 22:49:11 -07:00
Nidhi Jain
5bac088c52 qcacmn: Add vdev params for 11az TB max session expiry
Add host mapping for 11az TB max session expiry vdev param.

Change-Id: Ifffe373eaf775e1d8acd836ffc66edd77c34271e
CRs-Fixed: 3522565
2023-06-21 22:49:00 -07:00
Abhinav Kumar
c29e8614e0 qcacmn: Process MIXED_MODE_ACTIVE_NUM_LINKS vendor command
1. Host receives QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
vendor command.
2. parse the new attribute
QCA_WLAN_VENDOR_ATTR_LINK_STATE_MIXED_MODE_ACTIVE_NUM_LINKS
and get the number of MLO links to operate in the active state.
3. If any of the links is in an inactive state due to concurrency,
we need to reject the request.
4. Host sends to FW via WMI command WMI_MLO_LINK_SET_ACTIVE_CMDID via
the below WMI attributes with mode WMI_MLO_LINK_FORCE_ACTIVE_LINK_NUM
and set the wmi flag control_flags to indicate if FW need to use
force link number instead of force link bitmap.

Change-Id: I91759e6a1273d393f4bef1264478950416752355
CRs-Fixed: 3529489
2023-06-21 16:54:09 -07:00
Thirusenthil Kumaran J
9c6e306ffd qcacmn: Do not drop beacons for channels present in NOL
Currently, during scanning, while parsing the received beacons,
the beacon IEs are checked to verify whether the channel
present in the beacon is invalid. If the channel is found to be
invalid, the corresponding beacons are dropped. This check treats
the channels in the NOL list as invalid channels.

Consider a case of a repeater with RCSA enabled; when the RE
detects a radar, the RE adds the radar detected channels to
NOL and sends an RCSA action frame to the Root AP to intimate
the Root about the radar detection. The RE will also wait for the
Root to send CSA to RE. But in this case, the RE will not parse
the CSA IE received from the Root, as the beacons from the Root
AP are dropped, as the channel present in the beacon is
considered invalid.

The purpose of the channel validity check in the beacon parsing is
to avoid receiving beacons from an invalid channel, that is, the
channels that are not supported by the device. Since NOL channels
are valid, we can parse the beacons received from an NOL channel.
Therefore, to fix this issue, use the regulatory API
'wlan_reg_is_freq_enabled' instead of the API
'wlan_reg_is_disable_for_pwrmode' to check if the channel is
invalid.

The API 'wlan_reg_is_freq_enabled' treats NOL channels as valid
channels.

Change-Id: Iad502363c0ad15be2a009480c49bffcf8e004943
CRs-Fixed: 3513560
2023-06-21 13:30:48 -07:00
Manoj Ekbote
eae87639ca qcacmn: Change log level of HTC print
Use module level flag to print HTC information

Change-Id: I81ffd0cff392786df9da1c5c0f8ba00b6b2e9d23
CRs-Fixed: 4702091
2023-06-20 20:49:46 -07:00
Himanshu Batra
c387b92230 qcacmn: Add print module for telemetry agent
Add print module for telemetry agent

Change-Id: Ie44af9cb25e1567a30b36dff62d20baf203e453b
CRs-Fixed: 3528401
2023-06-20 09:58:52 -07:00
Amith A
d4415c7efe qcacmn: Modify EIRP and PSD data types to int from uint
ACS fetches EIRP powers of channels from the regulatory module using API
wlan_reg_get_eirp_pwr. The type returned by this API is unsigned and
hence any negative value is received as very high positive value. This
results in incorrect calculation of puncture bitmap and any other APIs
that use these power values.

To resolve this issue, modify the data type of EIRP and PSD variables
from uint to int in APIs used for calculating the best power mode.

Change-Id: I3af8e8bcda7cb872f8e295a78c579243a5469ab5
CRs-Fixed: 3515926
2023-06-20 06:39:28 -07:00
Vijay Patil
01da59899e qcacmn: Add fix to free roaming info from copied reassoc response
In current scenario during OWE roaming when HB failure occurs,
it should clean copied reassoc response and roaming info. But it
is not getting freed which leads to memory leak and host driver
crash while on idle shutdown.

Free copied reassoc response at mlo_dev_ctx_deinit().

Change-Id: I1a25e4ad1ba62d3d6b90da38cb5b7ab7c3f8e91a
CRs-Fixed: 3530058
2023-06-20 06:39:18 -07:00
Balaji Pothunoori
4bc335300f qcacmn: Fix compilation errors
dp_htt_process_smu_ppdu_stats_tlv API is defined inside
QCA_ENHANCED_STATS_SUPPORT along with WLAN_FEATURE_PKT_CAPTURE_V2
protection but API is called with WLAN_FEATURE_PKT_CAPTURE_V2.

There is a compilation error
a. if WLAN_FEATURE_PKT_CAPTURE_V2 is defined and if
QCA_ENHANCED_STATS_SUPPORT is not set.
b. if REMOVE_PKT_LOG and WLAN_FEATURE_PKT_CAPTURE_V2 is set.

This change is to move dp_htt_process_smu_ppdu_stats_tlv
out of QCA_ENHANCED_STATS_SUPPORT and add WLAN_FEATURE_PKT_CAPTURE_V2
protection to avoid compilation errors.

Change-Id: I50093ede0530afa34f501210e5a53fa88e61d863
CRs-Fixed: 3528736
2023-06-20 06:39:09 -07:00
Sai Rupesh Chevuru
d261c841e3 qcacmn: API to get the number of links for a peer from CP
API to get the number of links for a peer from CP

Change-Id: I63b118a339f591f0a86ddcc29c392dc5f9803e01
CRs-Fixed: 3521689
2023-06-19 11:01:40 -07:00