提交图

19531 次代码提交

作者 SHA1 备注 提交日期
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
Narayan Subramhanyan
cb3491162c qcacmn: Add wmi pdev param support for phy param
Add wmi pdev param support for long range phy param like cts timeout
slot time etc as part of enabling user config.

Change-Id: If1f3d86e09e634cde43ef8211831511781e96672
CRs-Fixed: 3520970
2023-06-19 07:49:41 -07:00
Nirav Shah
a4610e3cf6 qcacmn: Use correct txrx_peer in dp_2k_jump_handle
Use correct txrx_peer in dp_2k_jump_handle to
avoid NULL pointer dereference.

Change-Id: I7b044f506fdc51fdc122ee16f253afc880bd74f8
CRs-Fixed: 3503645
2023-06-18 23:38:37 -07:00
Thirusenthil Kumaran J
1301454202 qcacmn: Enumerate OCAC completion status
Currently, OCAC status in DFS SOC object is defined as a boolean type,
whereas, individual OCAC status types are defined as macros. Hence, it
becomes difficult to differentiate between various status values.

To solve this issue, enumerate OCAC status types together and change
the OCAC status in the DFS SOC object from boolean to the enumerated
type.

Also, create a new object 'adfs_completion_params' to store the Off
channel CAC completion parameters within the wlan_dfs structure.

Create a new api 'dfs_agile_cleanup_rcac' to clear the agile RCAC
parameters.

Change-Id: Id95014f4f81b4a2137092a5dd107c570d70058b6
CRs-Fixed: 3501679
2023-06-17 17:02:38 -07:00
Jianmin Zhu
da25bf14e9 qcacmn: Select best link as assoc link
For mlo 5+6, 6 GHz band score is higher than 5 GHz, so 6+5 total score is
higher than 5+6, 6+5 is always selected before 5+6 even 6 GHz link score is
much worse than 5 GHz.

To fix it, calculate each link score for each MLO AP, if assoc link is
best link, add a boost score, then it can be selected first.

Update band weight and score for both SLO and MLO, select average of link
band score as MLO band score.

Change-Id: If0714fa94031d5746d89388917540f0e34086d86
CRs-Fixed: 3483850
2023-06-17 17:02:27 -07:00
Aditya Kodukula
db32db91ab qcacmn: Add support for per link stats FW event
Add support in driver to check if FW supports per link stats
in case of mlo connection, using the wmi service event
WMI_SERVICE_PER_LINK_STATS_SUPPORT

Change-Id: I85ea50877455efc3646d3b1892ce855dc07b1dbf
CRs-Fixed: 3520338
2023-06-17 10:31:46 -07:00
Jianmin Zhu
35f33b2cbe qcacmn: Add API to convert chan width
Add API to convert channel width from wmi_host_channel_width to
phy_ch_width.

Change-Id: I3d7e45b63060e1093d4d44942fd863077e6462d8
CRs-Fixed: 3529281
2023-06-17 03:59:00 -07:00
Jinwei Chen
a9b41ac223 qcacmn: Fix kernel warning when free CE/DP irq
Recently wlan host might configure irq affinity for CE/DP,
but these irq affinity hint has not been cleared before they
are freed, kernel will raise warning.
Clear the irq affinity hint before freeing irq.

Change-Id: I17d0d6aee45572685fb2ed69112e9b6b4c9b303a
CRs-Fixed: 3528315
2023-06-17 03:58:50 -07:00
Pragaspathi Thilagaraj
2eb6a33153 qcacmn: Avoid unlink bss in vdev INIT state
When some faulty AP changes the SSID from hidden to non-hidden
or vice versa, then unlink bss and update bss to kernel happens
multiple times. Then when disconnection happens, it causes
abnormal behavior since the bss entry looks corrupted.

So avoid unlink bss in INIT state to avoid corruption
since cfg80211_disconnected() calls
cfg80211_wdev_release_bsses(wdev) already.

Change-Id: If07d1b8fa92057c9320c9ab243b9cbef30ac21ba
CRs-Fixed: 3516816
2023-06-16 18:24:35 -07:00
Jeevan Kukkalli
aa280d43e6 qcacmn: Handle duplicate pkt desc in wkk monitor path
Sometimes we receive duplicate packet buffer descriptors.
This results in corruption of descriptor freelist.
Add check to handle duplicate packet monitor descriptors.

Change-Id: I1dd33575fba78a7816063c40bf29ba41f9bcf226
CRs-Fixed: 3519326
2023-06-16 15:03:34 -07:00
Ashish Kumar Dhanotiya
8dad36c476 qcacmn: Add feature capability support for ll_lt_sap
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.

Change-Id: I4a2cc4fdb3d48469a5b1a4be32a4e760543b16cb
CRs-Fixed: 3520969
2023-06-16 15:03:23 -07:00
Priyadarshnee Srinivasan
1768e99caf qcacmn: Add puncturing support for PDEV_GET_OPERABLE_CHAN
When we bring up AP on channel 52 HT80 and inject radar on 56 with
dfs puncturing feature enabled, the channel 56 is put to NOL
and is punctured. However, channel 52 HT80 is still operable
with the puncture pattern 0x2.
But to the SON application, we do not report 52 HT80 as
an operable channel via PDEV_GET_OPERABLE_CHAN.
This is because reg_is_chan_supported() considers NOL channels as
disabled and does not support DFS puncturing feature.

Add puncturing support for reg_is_chan_supported() API. For every
channel/bw combination present in the opclass table, find out if there
are NOL infected subchannels and if so, calculate the DFS puncturing
pattern and feed that as an input to
reg_fill_channel_list_for_pwrmode(). This ensures
reg_fill_channel_list_for_pwrmode() does not validate the punctured
NOL channels and allows AP to come up on punctured NOL channel.

CRs-Fixed: 3518893
Change-Id: I4f23aa391598a4185933030cc6882ff9ae28f1d9
2023-06-16 15:03:13 -07:00
Venkateswara Naralasetty
39ed82e609 qcacmn: qcacmn: Add Monitor 1.0 support for WCN6450
Currently in monitor mode, links are released to WBM through the
SW2WBM_RELEASE ring and WBM will feed the links back to RXDMA
through the WBM2RXDMA_LINK_RING.

WCN6450 uses SOFTUMAC architecture where WBM is not present.
Hence the WBM2RXDMA_LINK_RING is repurposed to SW2RXDMA_LINK_RING
where host will directly release the links to RXDMA using this ring.

Change-Id: I110f607e38c4c2ab10eb1bd7b1f5a7bce2f03692
CRs-Fixed: 3493368
2023-06-16 15:03:02 -07:00
Venkateswara Naralasetty
748fe0b6d7 qcacmn: Add support for sw2rxdma_link_ring size cfg ini
Add support for sw2rxdma_link_ring size cfg ini.

Also add wrapper function to get the sw2rxdma_link_ring size.

Change-Id: Ic5b17f029fe6c735785701801b75284dd489ac1e
CRs-Fixed: 3525040
2023-06-16 11:33:58 -07:00
Will Huang
2ee77a06a5 qcacmn: Fix compile error if enable AFC for station solution
reg_is_range_overlap_6g() is not implemented for station solution,
if enable CONFIG_AFC_SUPPORT for mobile router, reg_set_ap_pwr_type()
will encounter compile issue.
reg_get_5g_bonded_channel_for_freq() updated to add more parameters
by Change Id I4c978c7f938b14d79d0eadf4251a86a9165f496e.

Fix it by adding CONFIG_REG_CLIENT check so reg_is_range_overlap_6g()
only valid for AP solution, because for mobile device there is no
deployment type (indoor/outdoor) set, so reg_set_ap_pwr_type() under
CONFIG_AFC_SUPPORT is for AP solution only, and only one pdev exist
for station solution so API reg_is_range_overlap_6g() is not needed,
query wmi_service_6ghz_support can get 6 GHz capability.

Update AFC/DCS function where call
wlan_reg_decide_6ghz_power_within_bw_for_freq().

Change-Id: Ie04262718504767bd252222e01258eab1d929aea
CRs-Fixed: 3529783
2023-06-16 11:33:46 -07:00
Venkateswara Naralasetty
2b0b767e60 qcacmn: Add a new enum for SW2RXDMA_LINK_RING
Add a new enum for SW2RXDMA_LINK_RING which is used to
handover the links to HW in monitor mode for wcn6450.

Change-Id: I0a3cd19f9891ae323742fd8bebfca5ff20b14b20
CRs-Fixed: 3525001
2023-06-16 11:33:32 -07:00
Namita Nair
799f8babfb qcacmn: Move logging outside of lock
This change moves logging of OPT_WIFI_DP filter response
outside of mutex lock.

Change-Id: Ib53d9dc35538302cb16a26d7656d564accd1fde6
CRs-Fixed: 3523094
2023-06-15 21:24:38 -07:00
Jyoti Kumari
df02aa9ab6 qcacmn: Add api to check 6 GHz channels till UNII-5 band
Add api to check 6 GHz channels till UNII-5 band for LL_LT_SAP

Change-Id: If31da65b8a592f66de31bb3b161f11dc8425d8a8
CRs-Fixed: 3523012
2023-06-15 21:24:28 -07:00
Paul Zhang
1460d656c7 qcacmn: Add epcs_enable flag in mlme_vdev structure
Add epcs_enable flag in mlme_vdev structure and APIs to
set/get the config from user.

Change-Id: I490ebf1b41c095478160109339355df421ebe42c
CRs-Fixed: 3522731
2023-06-15 16:32:32 -07:00
Huashan Qu
2e5d2ab8b5 qcacmn: Add void parameter to fix build error
Add void parameter for function ce_services_legacy()
to fix build error.

Change-Id: I8ea923736a06f7ec8000be8609dd0a54707e7d8e
CRs-Fixed: 3528968
2023-06-15 16:32:21 -07:00
Pavankumar Nandeshwar
ed48d413c9 qcacmn: Enable Umac reset flag for Beryllium chipsets
Enable Umac reset flag for Beryllium chipsets to
configure the dp msi groups

Change-Id: Iae5758a470857fc51dd3ea3211f7842ffebec1de
CRs-Fixed: 3530177
2023-06-15 16:32:11 -07:00
nobelj
bcacfe9271 qcacmn: Add fix for encryption fragment ping
when station connected to AP in security type other than tkip header
size is incremented with security header length causing stack to
misunderstood the protocol and not responding to the ping.

additional security header added after decap is removed.

Change-Id: I521b0990fe9e5746a8c8cfb29de7064cf51d0687
CRs-Fixed: 3509594
2023-06-15 16:32:00 -07:00
Krunalsinh Padhar
7ad8b35c78 qcacmn: Set non assoc link as primary netdev
Make provisions to explicitly set non assoc link as primary netdev for an
MLO association.

CRs-Fixed: 3508341
Change-Id: Iaef4eff6ac309f278a18f8ceee2ffb6c4ad604b6
2023-06-15 16:31:48 -07:00
Namita Nair
5db38f1713 qcacmn: Hold wakelock during Optional wifi dp
To prevent APPS from suspending hold a wakelock
at the time of filter reserve and release at filter
release.

Change-Id: I5c15c50ccf2cebce677abd8ff6b568b7fafab49b
CRs-Fixed: 3498105
2023-06-14 22:02:55 -07:00
Chaoli Zhou
4b0fb803fb qcacmn: Correct log level for spectral scan
Change log level from error to debug since
it is non-critical case if spectral scan
disabled and do not need to setup  netlink
socket.

Change-Id: Ib0eb61ddeea73ee23c9dd2874494a0334b177fcd
CRs-Fixed: 3527726
2023-06-14 22:02:44 -07:00