Commit Graph

16661 Commits

Author SHA1 Message Date
Edayilliam Jayadev
f67a6e56e9 qcacmn: Expose APIs to print mgmt Rx REO stats
Expose APIs to print management Rx reorder related stats.

CRs-Fixed: 3111702
Change-Id: I5577d52f686662d2aa86550f245520ca1516b8a8
2022-03-30 08:23:56 -07:00
Edayilliam Jayadev
39cd98a9b0 qcacmn: Set wait count to zero for inactive links
Set wait count value to zero for links with invalid MAC
HW snapshot.

CRs-Fixed: 3111694
Change-Id: I94c563c39018ea3364d70eb808081d7496939047
2022-03-30 08:23:50 -07:00
Edayilliam Jayadev
0d5aa6147f qcacmn: Handle discontinuous link id values
MLO HW link ids need not be continuous. Handle
discontinuous link id values at host.

CRs-Fixed: 3111570
Change-Id: I561cdabed8a6b621dba87c49832f5c1d1b194b9a
2022-03-30 08:23:44 -07:00
Edayilliam Jayadev
b4d1204cad qcacmn: Validate the MLO HW link info from global shmem
Validate the MLO HW link related info obtained from the global shared
memory arena of management Rx reorder feature.

CRs-Fixed: 3111549
Change-Id: I6fd7812dc49bfa8428b2ffbf66ae978592734bc0
2022-03-30 08:23:38 -07:00
Edayilliam Jayadev
412d3efb03 qcacmn: Add APIs related to MLO link capabilities
Add the following APIs related MLO links in MLO manager.

1. Get number of active MLO links
2. Get valid MLO link bitmap

CRs-Fixed: 3154979
Change-Id: I49c544a5c73a9ce72305bbe83230a4566d909095
2022-03-30 08:23:32 -07:00
Aakanksha Doda
1ed089ab8d qcacmn: Use qdf_mem_copy only if the dst addr is not null
Use qdf_mem_copy only if split_prof_end is not null.

CRs-Fixed: 3151563
Change-Id: I9e525383caf5fd49c22d0412996eac895811af51
2022-03-30 05:48:57 -07:00
Yu Tian
d9d768bb16 qcacmn: Change feature name in Linux doc field
Change typo in linux doc field

Change-Id: I2d8acdd91bfa7e8c2ba04a3fa60b92a302d0e01b
CRs-Fixed: 3159056
2022-03-30 02:40:28 -07:00
Karthik Kantamneni
d98299184b qcacmn: Implement SWLM support for multi TX queue
Update SWLM data structures and API's to support
multi TX queue based traffic.

Change-Id: I67921a749b61b3c717f33f770095fbb4d3062e2f
CRs-Fixed: 3161165
2022-03-30 01:13:19 -07:00
Shwetha G K
73a570940f qcacmn: API for completion of MLO setup sequence
Add API to invoke call back API registered post MLO
setup sequence completion.

CRs-Fixed: 3153531
Change-Id: I16552ff46929c985ff4b7a62f47cc667fe6f132e
2022-03-29 21:56:30 -07:00
Linux Build Service Account
a8a9edfab6 Merge "qcacmn: Add non-6g definitions of regulatory API" 2022-03-29 19:37:45 -07:00
Linux Build Service Account
ca30b20446 Merge "qcacmn: Remove conditional compilation" 2022-03-29 19:37:45 -07:00
Linux Build Service Account
abbf543a9c Merge "qcacmn: Add support for max 5 number of AKMs in connect req" 2022-03-29 17:07:03 -07:00
Linux Build Service Account
83bbab52b8 Merge "qcacmn: Allow 6Ghz if any 6Ghz AKM is supported" 2022-03-29 17:07:03 -07:00
Vignesh U
07a565b1a1 qcacmn: Add non-6g definitions of regulatory API
The API reg_get_ch_state_based_on_nol_flag() is a common API and in its
definition it calls the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is defined for
the 6G specific macro CONFIG_REG_6G_PWRMODE. For non-6G callers, this
function is not defined and will lead to implicit declaration compilation
error.

Add a non-6G version of the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() so that, it can be
called in reg_get_ch_state_based_on_nol_flag() even for non-6G PFs.

Change-Id: I810af65c7580f9a5dbfb2df25530dd95261e2a80
CRs-Fixed: 3161629
2022-03-29 16:59:58 -07:00
Vignesh U
8917e2dc1a qcacmn: Remove conditional compilation
The API reg_get_ch_state_based_on_nol_flag() calls the function
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is part of the
header wlan_reg_services_api.h. This header is conditionally included
using the macro CONFIG_AFC_SUPPORT which is not enabled for all the PFs.

Remove the condition header file inclusion as
reg_get_ch_state_based_on_nol_flag() is a common API for all PFs.

Change-Id: I3f6cc301474648fdd6a2937421ee0421a0788856
CRs-Fixed: 3161629
2022-03-29 16:59:52 -07:00
Surya Prakash Sivaraj
2fa9e5cab5 qcacmn: Add support for max 5 number of AKMs in connect req
Currently, host supports max 2 number of AKMs in connect req.

Add support for max 5 number of AKMs in connect req from
userspace.

Change-Id: I889124257c374092128e92f0f1eca1e1d0711f49
CRs-Fixed: 3151412
2022-03-29 14:12:07 -07:00
Deeksha Gupta
e8e16bec58 qcacmn: Allow 6Ghz if any 6Ghz AKM is supported
Currently, Userspace can send multiple AKMs in connect req.
For 6GHz, some AKMs are not supported. Suppose in multiple
AKMs, any AKM doesn't support 6GHz then driver returns failure.
Due to this, DUT doesn't not able to connect to 6Ghz.

Fix is, allow 6Ghz if any 6Ghz AKM is supported.

Also adds necessary prints in scan filter API to help
debug the candidate rejection.

Change-Id: Id9967af5ec7f64e95b33dd8be3bd6c9649e72bb2
CRs-Fixed: 3158489
2022-03-29 14:12:01 -07:00
nobelj
9e0ab8e096 qcacmn: Add tx monitor flush/drop/truncated handling
Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon

CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
2022-03-29 14:11:56 -07:00
Linux Build Service Account
c050c1cf6e Merge "qcacmn: Change the return value for non-TLV targets" 2022-03-29 14:08:50 -07:00
Linux Build Service Account
e53c033e74 Merge "qcacmn: Add support for MLO target recovery" 2022-03-29 14:08:50 -07:00
Linux Build Service Account
25ed0986de Merge "qcacmn: Set log level to info" 2022-03-29 14:08:50 -07:00
Manoj Ekbote
52cb1a0916 qcacmn: Change the return value for non-TLV targets
When non-TLV targets are used, the WMI event table is not populated.
So, it shouldn't be treated as fatal and WMI event register/unregister
functions can return NOSUPPORT instead of FAILURE.
Handle this value in TWT code.

Change-Id: I5bc8e7aae2e572c84ea0333c967cff527d5cbcc3
CRs-Fixed: 3145077
2022-03-29 12:22:35 -07:00
Shwetha G K
2d87b61c0e qcacmn: Add support for MLO target recovery
Add support for MLO target recovery. Add MLO target recovery
types, add API to cleanup the asserted SOC's MLO setup info
during recovery.

CRs-Fixed: 3153534
Change-Id: Ibcfab35460de0c7b458377e24e63ab63cbe39e3c
2022-03-29 12:22:29 -07:00
Jeevan Kukkalli
53a654f2e8 qcacmn: Set log level to info
Log level was accidentally increased hence reducing log level
to info to avoid unnecessary prints on console.

Change-Id: Idbe495cbdc8a17112f034083c2f8ebf297dcdc6b
CRs-Fixed: 3157393
2022-03-29 12:22:24 -07:00
Balaganapathy Palanisamy
592fffb251 qcacmn: Add MLME ops for SON
Add MLME Tx ops for SON module

CRs-Fixed: 3127085
Change-Id: Ie6dd00ebecc9ef5f008adfa264942fcdfb49e7f0
2022-03-29 05:07:50 -07:00
Hariharan Basuthkar
17078fff36 qcacmn: Rename is_treat_nol_as_disabled to treat_nol_chan_as_disabled
Rename is_treat_nol_as_disabled and is_treat_nol_as_dis to
treat_nol_chan_as_disabled in the regulatory component.

Change-Id: I3f372ee1707b40e2bdcd5ca53b77e6b8f76c456b
CRs-Fixed: 3157756
2022-03-29 05:07:43 -07:00
David Oladunjoye
dc646ca1cf qcacmn: umac: In TWT log peer MAC when peer lookup fails
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with debug message.

Change-Id: I5f559e6ba7373e8fef851f8035008cfaba8a3574
CRs-Fixed: 3155419
2022-03-28 13:11:07 -07:00
Shwetha G K
91fd67b612 qcacmn: Update cfr metadata version for Pine & HKv2
Update cfr metadata version for Pine and HKv2 as agc gain
table index is reported newly on these targets.

CRs-Fixed: 3158325
Change-Id: I17fe5a78ec44e1528e6187535a803c729734dd18
2022-03-28 10:48:05 -07:00
Shwetha G K
6db4065f76 qcacmn: New metadata version for agc_gain_tbl index
Add new meta data version for agc gain table index

CRs-Fixed: 3155335
Change-Id: If058afd39207b89f6e523073d80ece4155cc03b8
2022-03-28 10:47:59 -07:00
Shashikala Prabhu
09d9e4ed79 qcacmn: Set size of wmi_bcn_tmpl_ml_params tlv as zero
TLV wmi_bcn_tmpl_ml_params was used to send the CSA/Quiet related
information to FW for the partner links. This TLV is deprecated now as FW
internally derives this information for the partner vdevs. Hence, set the
size of this TLV as  0.

Change-Id: Ibd783f5eed93872a6953dc2231b019f27a41109d
CRs-Fixed: 3157298
2022-03-28 04:28:12 -07:00
Sai Rupesh Chevuru
a3fdf41f5c qcacmn: In case of FTM mode use FW metadata V1
In case of FTM mode use FW metadata V1

Change-Id: I3d18d1ee5fddf457df7f3d3df5d43ea5b9c56fc1
CRs-Fixed: 3159291
2022-03-28 03:09:54 -07:00
Amir Patel
ff310b9e8f qcacmn: Increase per ppdu max monitor status buffer count
Currently, max monitor status buffer count per ppdu is 32.
In case of multiclient test cases, number of status buffers per ppdu are
33 and leading to assert.
Increase per ppdu max monitor status buffer count 128 to take care of future
use cases like MU-MIMO, OFDMA.

Change-Id: I083304ef23a1d58af24062441d8ad9b2d229f7b1
CRs-Fixed: 3156689
2022-03-27 13:11:06 -07:00
Shwetha G K
5672e51446 qcacmn: Add host timestamp to cfr header
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value. This will allow
for better correlation with ground truth data.

CRs-Fixed: 3156846
Change-Id: Ic5308bcd591d641e715ded8e4b75d447160dbbce
2022-03-26 09:11:59 -07:00
Shwetha G K
d7046ba026 qcacmn: Add API to flush peers in recovery case
Add cdp wrapper API to flush the peers in recovery case.

CRs-Fixed: 3153535
Change-Id: I58869bf118f0aea487e63865300ba8e7462651ac
2022-03-26 01:10:50 -07:00
Jianmin Zhu
ba015feedc qcacmn: Do not access reg private if destroyed
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, since regulatory
pdev private obj is destroyed before DFS, psoc master channel list
nol flag isn't cleared for regulatory pdev private obj is NULL.
When pdev current channel list is populated from psoc master channel
list, nol channel becomes disabled,  can't be used any more.

To fix it, when DFS private pdev obj is destroyed, don't access
regulatory pdev private if destroyed, but still clear psoc
mas_chan_list nol flag.

Change-Id: I79dad84631179d78d05c2738ce0aa4f863def7d4
CRs-Fixed: 3158675
2022-03-25 19:12:40 -07:00
Jianmin Zhu
e0ace228c5 qcacmn: Revert "Fix issue that DFS NOL can't be cleared"
Replaced with "qcacmn: Do not access reg private if destroyed".

Change-Id: I636bcae59166ccd4719056c777682435a0a057bf
CRs-Fixed: 3158675
2022-03-25 19:12:34 -07:00
Jinwei Chen
cef863a29e qcacmn: configure host SW2HW ring timer threshold as 0
For SW2HW ring, if time threshold is non-zero and low threshold
is 0, then if ring is empty, HW will keep generating low threshold
interrupt always which then LPL failed.

Configure SW2HW ring timer threshold 0 to disable low threshold
interrupt, also set batch_count threshold 0 as host not need the
interrupt if HW consumed entries.

Change-Id: I6c8ea516e66abd706fecd97649f3a19702453b85
CRs-Fixed: 3149341
2022-03-25 04:10:34 -07:00
Hariharan Basuthkar
788dc6401f qcacmn: Rectify issues in super channel list construction
1) Currently, the channel state and chan flags of the super channel list
   are not initialized. To fix this issue, initialize the channel state
   and chan flags of the super channel list entries to
   CHANNEL_STATE_DISABLE and REGULATORY_CHAN_DISABLED respectively.
2) The best power mode calculated in reg_fill_best_pwr_mode is incorrect.
   To fix this issue, pass the reference of max_eirp_pwr to
   reg_update_sup_ch_entry_for_mode to avoid the reset of max_eirp_pwr.

Change-Id: I624333f8fb89682771bd48e3f203509f7dadb41f
CRs-Fixed: 3145006
2022-03-25 03:00:44 -07:00
Jianmin Zhu
59a0a0fe19 qcacmn: Revert change "Tag ps wmi cmd during RTPM suspend"
Avoid sending any new WMI command during RTPM WoW sequence.

Change-Id: I17613901ea825724ec1389de53b02e80fbe56b3e
CRs-Fixed: 3158970
2022-03-24 18:16:23 -07:00
Jinwei Chen
247d541b4f qcacmn: Get Phy address for HW CC exception case
Even if HW cookie conversion is enabled on KIWI, there is some
case HW cookie conversion might not be done by HW, check the cookie
conversion done bit and get Phy Address accordingly.

Change-Id: I4ee7ed9776086812774637f07da1e4504898c3c4
CRs-Fixed: 3153433
2022-03-24 08:01:46 -07:00
Yeshwanth Sriram Guntuka
df666b7116 qcacmn: Add support to enable tx hw latency stats at run time
This feature can be enabled runtime using sysfs interface.
Support is added to dump and clear the histogram stats.

The lower delay regions has to be more granular to indicate any
medium related issues for time sensitive XR applications.

Change-Id: I0a44a54d12d92ce016de349810cb2bedebaf9a58
CRs-Fixed: 2981006
2022-03-24 06:47:10 -07:00
Shwetha G K
3de51ff2c5 qcacmn: Add host timestamp to cfr header
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value.
This will allow for better correlation with ground truth
data.

CRs-Fixed: 3156826
Change-Id: Ie77d5e433346f21c3876930a2b8cbfa528affb20
2022-03-24 04:11:42 -07:00
Harsh Kumar Bijlani
e70d9e3eed qcacmn: Populate rate index in user specific rx ppdu indication
Populate rate index in user specific rx ppdu indication.
Also correct the computation of total retries in rx ppdu indication.

Change-Id: I07c55260def9d2f1490729b6390bca3d98085c63
CRs-Fixed: 3156428
2022-03-24 03:01:12 -07:00
Liangwei Dong
3c555431b1 qcacmn: Add API to get MAC-PHY number from target IF
Add API target_if_get_active_mac_phy_number to get max
active MAC-PHY pairs from target IF.
The API will loop through all HW mode and get max MAC-PHY
number in all HW modes.

Change-Id: I2755197c043f9d2df6f8aaf6bf50093a2d1b1596
CRs-Fixed: 3154072
2022-03-23 23:01:02 -07:00
Liangwei Dong
1f932c511b qcacmn: Include mcc quota header files
Include mcc quota header files to enable MCC QUOTA
feature.

Change-Id: I17aa9f4f1ba360245f6a7e0dfcc1ad204af7aaaf
CRs-Fixed: 3151008
2022-03-23 21:10:05 -07:00
Vignesh U
dda26d83bf qcacmn: Compute chan from freq considering all 6G power types
For a 6G frequency, if it is not part of the current power mode's
master channel list, then it is not possible to convert the frequency
to a channel number and is return as 0.

The input frequency might be part of some other power mode's master
channel list. So consider all the power mode to calculate channel
number from frequency.

Change-Id: I5810744504b5b11d728cc2abacc02e64a4accfcd
CRs-Fixed: 3142048
2022-03-23 21:09:59 -07:00
Pragaspathi Thilagaraj
e58618ef1d qcacmn: Use correct wiphy feature flag
Use NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE instead of
NL80211_EXT_FEATURE_PROTECTION_OF_RANGING_NEGOTIATION.
Also remove NL80211_EXT_FEATURE_SECURE_RTT advertisement
which is not required.

Change-Id: I5ba3da86125719f410c925ef40441acddc40ab9a
CRs-Fixed: 3154060
2022-03-23 19:42:32 -07:00
Pragaspathi Thilagaraj
aa27094cab qcacmn: Add support to set 11az ext feature flags
Add support to set 11az ext feature flags
Read the firmware capability for 11az features and
advertise the corresponding wiphy flags.

Change-Id: I85f6cc2f65a5d9892830f66a726cffc823093bca
CRs-Fixed: 3150584
2022-03-23 19:42:26 -07:00
Pragaspathi Thilagaraj
8d44eccea7 qcacmn: Add new wifi_pos target_if files
Add below new target_if layer files for TX ops and
RX ops separately:
target_if_wifi_pos_tx_ops.c
target_if_wifi_pos_rx_ops.c

Change-Id: I0746881b5fd429bb0a003dbcfea11691a90e9c34
CRs-Fixed: 3139459
2022-03-23 19:42:19 -07:00
Shiva Krishna Pittala
aeb2ffde14 qcacmn: Add stats in Spectral report processing path
Add the following stats.
 - Number of Spectral events received from the target
 - Number of consume_spectral_report() invocations
 - Number of fill_samp_msg() invocations
 - Number of SAMP messages that are ready to be sent to the user-space
 - Number of SAMP messages queued to the user-space

Change-Id: I53fda4b309620043a77bc2bc87573941d7fb0bcb
CRs-Fixed: 3156151
2022-03-23 13:01:40 -07:00