Commit Graph

16966 Commits

Author SHA1 Message Date
Linux Build Service Account
94d3a26340 Merge "qcacmn: Don't allow power mode VLP for indoor AP" 2022-05-27 17:45:14 -07:00
Linux Build Service Account
0fadefe80a Merge "qcacmn: Move reg_set_ap_pwr_type function under CONFIG_BAND_6GHZ" 2022-05-27 17:45:13 -07:00
Linux Build Service Account
3632ac4e6e Merge "qcacmn: Add counter in non-TQM based Tx completion path" 2022-05-27 13:07:29 -07:00
Sheenam Monga
2a969228b4 qcacmn: Don't allow power mode VLP for indoor AP
Currently if AP and STA supports VLP, power mode
is set to VLP without any check of AP indoor or
not. Example when STA is in GB country code and
AP is in KR Country code and AP is indoor AP,
Power mode should be set LPI, but as per current
implementation power type will be set to VLP irrespective
to AP indoor or not beacuse both countries support VLP.

Change-Id: Ib2be4c0076a7e94f9870bd8fc320cfcc170754f9
CRs-Fixed: 3203504
2022-05-27 12:16:28 -07:00
Sheenam Monga
8ce62d6104 qcacmn: Don't set power mode to VLP for all countries
Set LPI power mode for countries & domain that don't support
VLP.

Change-Id: I799a0d5beb23a4f0f613269d981ce61c86bcb5c1
CRs-Fixed: 3200465
2022-05-27 12:16:21 -07:00
Venkateswara Swamy Bandaru
3ff07fe59d qcacmn: Add 11be D1.5 support
Update EHT Operating IE as per 11be D1.5 draft.

Change-Id: I3c0e0af765f4a05729b505b83508cee2149ed2f2
CRs-Fixed: 3187001
2022-05-27 10:56:25 -07:00
Wu Gao
c0d5a6fcf3 qcacmn: Set num_rxdma_status_rings_per_pdev to 2 for KIWI
There is init failure about monitor status ring after started CFR
capture. So extend num_rxdma_status_rings_per_pdev to 2 for KIWI
which is same to HSP.

Change-Id: Ic24d732957dc1991a3fca350aebe5f57d9b02577
CRs-Fixed: 3203678
2022-05-27 09:08:50 -07:00
Arun Kumar Khandavalli
b0fafa0130 qcacmn: Disconnect the ml connection incase of link assoc failure
Currently even when the partner link assoc failure driver is maintining
the assoc link this is resulting in several side effects w.r.t
memory corruptions etc.

Disconnect the ml connection incase of link assoc failure.

Change-Id: I4bbdcf4099f3042f5065067ca5d817f986ffb30a
CRs-Fixed: 3204310
2022-05-27 05:08:37 -07:00
Linux Build Service Account
fe3fc7323c Merge "qcacmn: In NAWDS, set host inspected bit for GSN based packets" 2022-05-27 03:38:15 -07:00
Ripan Deuri
ae12b7c45f qcacmn: Add Hist buckets for hardware Tx completion delay
HW Tx delay to be calculated in microseconds based on the timestamp
provided by HW. A new type of hist bucket is added for this delay.

Change-Id: I3cae5e78459f675b5ac7f670bdec950f9a62c78f
CRs-Fixed: 3202312
2022-05-27 03:36:40 -07:00
Ripan Deuri
3cd2e7a588 qcacmn: HTT handler for SAWF MPDU stats
Add handler for processing SAWF MPDU stats sent by the FW.

Change-Id: I9e69b66563ebba583883bf18f645b19ed9470927
CRs-Fixed: 3195239
2022-05-27 01:20:49 -07:00
Vignesh U
6179a3a558 qcacmn: Calculate frequency offsets instead of hardcoding
The radar found frequency offsets to find various 20MHz sub-channel
frequencies is hardcoded for different channel widths. These frequency
offsets can be calculated reducing repeatitive code.

Calculate frequency offsets from channel widths and center frequencies
to determine the radar found frequencies.

Change-Id: I146fa6dd06473ff90cad4bb5dd8ba4ce13ab7c7c
CRs-Fixed: 3182067
2022-05-27 01:20:43 -07:00
divraj
4514b2ae95 qcacmn: Add function definition when CONFIG_BAND_6GHZ not defined
Functions (reg_get_min_max_bw_on_given_pwr_mode/
reg_get_chan_state_on_given_pwr_mode) were defined under macro
CONFIG_BAND_6GHZ. Add definition for above functions when
CONFIG_BAND_6GHZ not defined. When CONFIG_BAND_6GHZ is not defined
a channel search is only for 5GHz or 2.4GHz channel. Therefore,
the search is restricted to only the current channel.

Change-Id: Iaae6f362dd81a74c8d92756d507dd16b0dc4c3af
CRs-Fixed: 3205342
2022-05-27 01:20:37 -07:00
Aditya Kodukula
42b53b5b2c qcacmn: Move reg_set_ap_pwr_type function under CONFIG_BAND_6GHZ
To avoid possible compilation issues, move reg_set_ap_pwr_type
definition under CONFIG_BAND_6GHZ macro.

CRs-Fixed: 3207006
Change-Id: I7c2da42767c37356414a34757245772cd405f3b0
2022-05-26 23:04:40 -07:00
Srinivas Girigowda
85b76d5a6c qcacmn: Add counter in non-TQM based Tx completion path
Rate limit the log in non-TQM Tx completion path and add a counter
to increment whenever Tx completion status is received and release source
is non-TQM.

Change-Id: I8968ccc7a499577bd4fdfaef78e6520b00c12503
CRs-Fixed: 3201403
2022-05-26 20:03:25 -07:00
Sai Rupesh Chevuru
9d283234a7 qcacmn: In NAWDS, set host inspected bit for GSN based packets
In the case of NAWDS set the host inspected bit for
GSN based packets to avoid the FW reinjection.

Change-Id: Iee1653e9bebcd1ce6ef283a61d9c10a25b911a26
CRs-Fixed: 3203093
2022-05-26 13:34:33 -07:00
Linux Build Service Account
cbef75eeb0 Merge "qcacmn: Check first unused bit for multi client feature support" 2022-05-26 11:16:22 -07:00
Jinwei Chen
eca5aad64c qcacmn: fix logging issue in dp_find_peer_by_destmac_li
Fix logging issue in dp_find_peer_by_destmac_li

Change-Id: I4a5156d7f628af18a650c13f8ebac1cb38c9b01d
CRs-Fixed: 3206323
2022-05-26 10:59:33 -07:00
abhinav kumar
be6648764a qcacmn: Check first unused bit for multi client feature support
Currently host check 3rd bit of the extended feature flag to
know whether FW supports below two features:
1. Roam Frame info stats - per candidate frames support
2. multi-client feature flags support

The host should check different bits for different features.

Fix is to allow the host to check the first unused bit
(here 4th bit) of extended feature, flag to check whether FW
supports multi-client feature flags support.

Change-Id: I485aeab6a90e900a52e88cd013645203457c1adb
CRs-Fixed: 3184410
2022-05-26 09:32:57 -07:00
Linux Build Service Account
4c8445b23a Merge "qcacmn: Handle failure during wmi event handler registration" 2022-05-26 06:39:39 -07:00
Linux Build Service Account
35c9d1a497 Merge "qcacmn: Set the num of subchans for 240MHZ as 12" 2022-05-26 06:39:39 -07:00
Gerrit - the friendly Code Review server
d5ea836534 Merge changes into wlan-cmn.driver.lnx.2.0 2022-05-26 05:58:34 -07:00
Debasis Das
c5d3129015 qcacmn: Handle failure during wmi event handler registration
For legacy targets, MLO-specific event-handlers are not
supported.As this is not fatal, the caller of the
wmi_event_handler_register API should not treat this as
failure.

Change-Id: Ic6a36c933b46cfcbe860f573af290cac4667de44
CRs-Fixed: 3181774
2022-05-26 03:53:18 -07:00
Priyadarshnee Srinivasan
a485ae2901 qcacmn: Set the num of subchans for 240MHZ as 12
In 5 GHz band, a 320 MHz band channel cannot be formed without
puncturing. Hence the contiguous available BW is 240MHZ which has
twelve 20MHZ channels from 5500 - 5720. Send CAC start/CAC
complete/radar detect information only for the channels which are
not punctured.

CRs-Fixed: 3200931
Change-Id: I5c2bc3314df6d1d61500e7fb24eef4a096ba4bb5
2022-05-26 03:53:12 -07:00
Jinwei Chen
a3585f6fe8 qcacmn: Add sanity check for BA window size in DP
The original BA window size given from CP might > max DP supported,
add sanity check based on HAL target allowed.

Change-Id: Ibadaddeffe65165a89d580d8a5cbf5f7c724c809
CRs-Fixed: 3193852
2022-05-26 01:32:39 -07:00
Amir Patel
bf92ed7b61 qcacmn: Add sanity check while adding a-msdu subframe header
1. Add sanity check before adding a-msdu subframe header
2. Add truncate MPDU handling

CRs-Fixed: 3191386
Change-Id: I11e6f971e470e486438ece9c4a7daef3df9f71ed
2022-05-26 01:32:33 -07:00
Ananya Barat
5e6a3b7993 qcacmn: Add API to check if AFC is complete
Add API reg_is_afc_done and it's wrapper wlan_reg_is_afc_done to check
if AFC response enables a given frequency.

Change-Id: I953139762fd5c06ce19edc1d807edf41126f6f2b
CRs-Fixed: 3195189
2022-05-26 00:03:08 -07:00
Ananya Barat
e6b17c58f1 qcacmn: Mark AFC not done for SP channels not supported by AFC
To support AFC outdoor device deployment, initially enable the entire SP
channel list with channel flag as REGULATORY_CHAN_AFC_NOT_DONE and channel
state as CHANNEL_STATE_ENABLE when the device deployment is outdoor and
AFC power event is not received. Once the power event is receive,
intersect the AFC channel list with existent SP channel list and for
channels which are enabled by AFC, unset the flag
REGULATORY_CHAN_AFC_NOT_DONE and keep channel state as
CHANNEL_STATE_ENABLE. When the SWITCH_TO_LPI event is received, keep the
SP channels as enabled with REGULATORY_CHAN_AFC_NOT_DONE flag set.

Change-Id: Ibbeb336a84db4a27aa22a4fc083f961a8a47aa9d
CRs-Fixed: 3195189
2022-05-26 00:03:01 -07:00
Ananya Barat
6593844e79 qcacmn: Set/unset AFC not done bit for super channel entries
To add AFC outdoor device deployment support,set the AP power type as
REG_STANDARD_POWER_AP during the creation of regulatory pdev private
object. Update the flag REGULATORY_CHAN_AFC_NOT_DONE in super channel
list based on the AFC_POWER_EVENT. On receiving the SWITCH_TO_LPI event,
if no LPI channels are present return an error. If LPI channels are
present move to LPI mode and update the channel list both in presence and
absence of ACS.

Change-Id: Ib4653a83d4c7ea2ec5212f9ba4d517c0e7e5027a
CRs-Fixed: 3195189
2022-05-26 00:02:55 -07:00
syed touqeer pasha
3ab1b41388 qcacmn: Add arch ops to get the peer from dest mac
Add the arch ops to get the peer from destination mac address.

Change-Id: Ic316f7e91edb3ffc516b64b65cb6797b958f440a
CRs-Fixed: 3194921
2022-05-25 12:42:42 -07:00
Ananya Gupta
1f9ab627fd qcacmn: Increase status size for HTT WBM completion v3
In beryllium DP, htt_tx_wbm_completion_v3 is used in which
20B are used by host and only 16B is assigned to the htt tx
status.
To fix this, increase the macro HAL_TX_COMP_HTT_STATUS_LEN
to 20 bytes.

Change-Id: I973ba1f8118488089cd6d6baac7fd589886c2164
CRs-Fixed: 3199031
2022-05-25 07:30:33 -07:00
Harsh Kumar Bijlani
fa7624cb8a qcacmn: Set Rx monitor ring fill level to default on monitor soc init
Initially, 2K buffers (default) are allocated and Rx monitor ring fill
level is set to 2K at monitor soc attach and these buffers are used for
enhanced stats.

On monitor vap creation, additional 6K buffers are allocated and monitor
ring fill level is set to 8K.

On execution of wifi command after this, fill level is still set to 8K
and this results in monitor vap to operate with only 2K buffers.

Therefore add functionality to set the fill level to 2K (default) at
monitor soc init instead of monitor soc attach and also add sanity check
for num_req_buffers in the API dp_mon_buffers_replenish.

Change-Id: I0f4b269ab4ed05ed1f0223e3dc83d8675dab4860
CRs-Fixed: 3201411
2022-05-25 07:30:27 -07:00
Shashikala Prabhu
42be98cc24 qcacmn: Define Multi-Link Traffic Indication element
Add structure to define Multi-Link Traffic Indication element.
Add a variable in vdev AID manager to keep track of the number of T2LM
clients connected.

Change-Id: Iaba49ac93180f702e23cf9844e19f46a15afb129
CRs-Fixed: 3201075
2022-05-25 04:55:58 -07:00
Jeevan Kukkalli
ec2838ac4d qcacmn: Make lite mon enum generic
-Some of the lite monitor enums can be used outside of
 lite monitor feature, make such enums generic.
-Some enums are redundant, remove such enums and make use
 of existing ones

Change-Id: I5125384ac5c4c55a57998fb5be5ee1ecb3e61147
CRs-Fixed: 3190754
2022-05-25 04:55:51 -07:00
Vivek
68d53d1631 qcacmn: Add CDP ops for SAWF telemetry config
Add the following CDP ops for SAWF telemetry config

txrx_sawf_set_mov_avg_params
txrx_sawf_set_sla_params
txrx_sawf_init_telemtery_params

Change-Id: Ifb52df6745ba0b6869cb87301a85d7a8b87b4cb6
CRs-Fixed: 3194181
2022-05-25 03:20:03 -07:00
syed touqeer pasha
7740da08ad qcacmn: SAWF changes for waikiki
Fetch the SAWF service_id and queue_id from per packet
metadata and populate on transmit descriptor.

Change-Id: Iba652c271b5b701e8af875805e59f0f224ace691
CRs-Fixed: 3194921
2022-05-25 01:45:07 -07:00
Ruben Columbus
751084e7f8 qcacmn: Fix flaw in cdp_update_mlo_ptnr_list() parameter
In mlo_ap_vdev_attach() we call cdp_update_mlo_ptnr_list(), and logic
exists which was supposed to test the return value for success.
However due to a misplaced parenthesis, the test for success is actually
applied to the last parameter, and that test result is sent as a
true/false value to cdp_update_mlo_ptnr_list().

To fix this issue relocate the parenthesis so that the last parameter
is correctly passed and the test for success is applied to the
return value.

Change-Id: I055150dae726a69f0e70f02f7fbe26550f48e558
CRs-Fixed: 3181220
2022-05-25 01:45:01 -07:00
Vignesh Mohan
64db33c775 qcacmn: Add macros to fetch the phymode from channel
Add channel macros to query if an input channel is 11ac/11ax/11be.

CRs-Fixed: 3202132
Change-Id: Id3a80172d3cae7c39d9338a38448b1e37c522778
2022-05-25 01:44:55 -07:00
Abhishek Singh
5076250707 qcacmn: Fix to avoid using mutex lock after holding spin lock
Avoid using mutex lock after holding spin lock, use spin lock
for the required calls only and not for set and clear MLO
VDEV which uses mutex if WLAN_MLO_USE_SPINLOCK is not
defined.

Change-Id: I9b989aa6a965107bff642e9d1e1009e57e7dddc2
CRs-Fixed: 3204328
2022-05-24 17:21:06 -07:00
Mohit Khanna
04bf8070da qcacmn: Reo-Cmd: Donot write to reg if no src desc
For reo_cmd ring, in current implementation, we call hal_srng_access_end
in case a descriptor is not available before baling out. This may cause
a write to the shadow register for the reo_cmd ring. In case we are in
the middle of WOW, this can be problematic.
Modify existing implementation to use hal_srng_access_end_reap, which
will not schedule a write to the register and simply return.

Change-Id: Ifb83d904e39b3d749522cd246a5ab3fe51a3104e
CRs-Fixed: 3194289
2022-05-24 16:01:27 -07:00
Edayilliam Jayadev
0130242aed qcacmn: Set/Get mgmt Rx REO feature capability
Set/Get the management Rx REO feature capability to psoc
using the correct APIs.

CRs-Fixed: 3201829
Change-Id: Id925be4a6930a1a3ec05bfdd67ef6518a5cb2cea
2022-05-24 16:01:21 -07:00
Kai Liu
f744f6a4e7 qcacmn: Use default seek for memdump lseek
Kernel change d4455fa 'proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations without any check, so add
default_llseek for all proc ops.

Change-Id: Ia72839cf09ec721fb98f50793b19ec082478d8d7
CRs-Fixed: 3201003
2022-05-24 16:01:15 -07:00
Edayilliam Jayadev
bec69b91fe qcacmn: Get link id from pdev only if mgmt Rx REO is enabled
Get link id from pdev only if management Rx REO feature is enabled in
FW and INI.

CRs-Fixed: 3199557
Change-Id: I8732cbb9c24059268f67d6c00447acbe99ef5ccc
2022-05-24 16:01:08 -07:00
divraj
feff4ffaf1 qcacmn: Remove redundant memory copy
Regulatory channel list queried & copied locally to retrieve
the values (maxbw/minbw/channel state).
This is in turn causes CPU overhead of approx. 10-15%. To reduce
this overhead, the values are retrieved directly from the
regulatory with the new dispatcher added

Change-Id: I70289ec7604ff8a32d9d173dfa4ac52275e17b61
CRs-Fixed: 3194924
2022-05-24 13:16:05 -07:00
Gangadhar Kavalastramath
6d1a746ffb qcacmn: Use appropriate value to define invalid WBM ring
Define INVALID_WBM_RING_NUM with 0xF instead 0xFF. This
limits shifting operation within bound.

Change-Id: I646966d8d50ef4f8b3096a96e1e78fd69a878646
CRs-Fixed: 3187163
2022-05-24 13:15:58 -07:00
Vishal Miskin
ff97c457a2 qcacmn: Refer qdf defined macros instead of redefine
Refer qdf_container_of for A_CONTAINING_STRUCT

Change-Id: I9cd939bdefb34ae74ac4263ff86830bc83b7068b
CRs-Fixed: 3187163
2022-05-24 13:15:52 -07:00
Srinivas Pitla
d5f73ed96a qcacmn: MBSSID support for MLO AID manager
This change adds MBSSID support for MLO AID manager.
It handles AID allocation and AID free for MLO and Non-MLO peers
associated to MLO/Non-MLO VDEVs

Change-Id: I616cca6afeb9178a3b7f183c6bd986fe9b30a4fa
CRs-Fixed: 3200173
2022-05-24 11:00:26 -07:00
abhinav kumar
8932989aaf qcacmn: Send connected links bitmap to FW
Send connected links bitmap to FW via a command:
WMI_REQUEST_STATS_EXT_CMDID in case of MLO connection.

Change-Id: I8ea88b0474769a56f5efa0cd006ba515e858accf
CRs-Fixed: 3149043
2022-05-24 09:39:14 -07:00
Amith Ajith
70e862a7ef qcacmn: Set global_tbl_lookup to true if country opclass is global
In function reg_freq_width_to_chan_op_class_auto, global_tbl_lookup is set
to false for 2.4 GHz and 5 GHz without considering the global opclass set
by user command. This results in wrong opclass information in eCSA.

Add an api to check if global opclass is set and update global_tbl_lookup
accordingly in reg_freq_width_to_chan_op_class_auto.

Change-Id: I069131d6068fb546f2b59f1e752a3c8c50f15759
CRs-Fixed: 3168817
2022-05-24 09:39:08 -07:00
Aravind Kishore Sukla
a080cd6ace qcacmn: Incorrect FW enum to Host enum conversion
Roam result failure enum is not properly converted to
corresponding Host enum.

Change-Id: I8c521ef02a8673d6a601b39cf291dd839e27f514
CRs-Fixed: 3188826
2022-05-24 09:39:00 -07:00