Commit Graph

16631 Commitit

Tekijä SHA1 Viesti Päivämäärä
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
Jeevan Kukkalli
4759d79767 qcacmn: Update MPDU start and MSDU end wmask during filter setup
Update the MPDU start and MSDU end word mask while setting
up rx monitor filter.

Change-Id: I17c5d809300cd2d4fc8d3b63d5e8a3d40f599a7a
CRs-Fixed: 3145449
2022-03-23 13:01:35 -07:00
Jeevan Kukkalli
2676f31aad qcacmn: Update dma length and mpdu logging during filter setup
Update dma length and mpdu logging for different packet
types while setting up monitor filter

Change-Id: I408860f15686c7999655c1e84dce5a3f7ffbbed7
CRs-Fixed: 3145400
2022-03-23 13:01:29 -07:00
Shwetha G K
8b4151516b qcacmn: Add crash info in global shmem arena
Changes to add chip crash info in global shared mem arena
and expose the respective APIs to qca_ol.
Also add APIs to process global link info tlvs in order
to offset to crash info.

CRs-Fixed: 3121465
Change-Id: Idabf9fb8d4755bdd755897b3c09d2e28259a6f46
2022-03-23 06:28:36 -07:00
Shwetha G K
9ce7921dff qcacmn: Add APIs to read crash info from global shmem
Add APIs to read the crash info from global shmem arena

CRs-Fixed: 3122298
Change-Id: I872f678669c8ad720bb01215c28b374947d762b6
2022-03-23 06:28:29 -07:00
Shwetha G K
5b9b6ffee5 qcacmn: Separate global shmem generic APIs from REO
Changes to move the global shared memory arena init deinit
APIs from MGMT RX REO cmponent to MLO component.

CRs-Fixed: 3121467
Change-Id: Ie5ca50780ffb3343d225b6cf6acfa569463d5a3e
2022-03-23 06:28:21 -07:00
Shwetha G K
0ab5023d59 qcacmn: Separate global shmem common APIs from REO
Move the global shmem common APIs (init & deinit) from REO
component to MLO component.

CRs-Fixed: 3122203
Change-Id: Ib52490c0e9662d6297a52af365e1d87b60e0739d
2022-03-23 06:28:13 -07:00
Varsha Mishra
8ca197ca9e qcacmn: Fix flush frags txrx function pointer
Fix flush frags txrx function pointer.
Change-Id: I9906d0ca5958a7f3b2bbf262c2c1c8320060bc37
CRs-Fixed: 3154661
2022-03-23 04:49:59 -07:00
Vignesh U
9e1d5d198b qcacmn: Get all the channel list for 6G band
Get the channel list for 6G band for a given power mode. When the power
mode is REG_BEST_PWR_MODE the 6G channels will contain all the channels
supported by the reg domain irrespective of the power mode.

Change-Id: Ia1a3757685d477a2a2565eb89422fc039ca3b5dd
CRs-Fixed: 3141999
2022-03-23 04:49:54 -07:00
Amir Patel
3b816d7013 qcacmn: Fix monitor dest srng init in case of splitphy
1. pass appropriate pdev_id as ring_num for srng init
2. Increase max rings for monitor destination rings

CRs-Fixed: 3152722
Change-Id: I36aa2f4e8e5d7fa41ee90a39593cbb8cdf86ec44
2022-03-23 03:32:22 -07:00
Ananya Gupta
89beaf8bd7 qcacmn: Increase PCI EP state check time to 150us
Increase busy wait time gap to read PCI EP power state from
100us to 150us.

Change-Id: I1e4623363528bc718749612c0704a81a5113632b
CRs-Fixed: 3152041
2022-03-23 03:32:13 -07:00
Vinay Adella
88c89dc960 qcacmn: Add scan macros related to scan start-offset parameter
These macros define the min & max time from TBTT, when the scan
dwell time starts. They can be used as a parameter to the scan
WMI command.

CRs-Fixed: 3154082
Change-Id: Ieca8acfd2e6897a8e45fafaaffd8f283f451d203
2022-03-23 02:12:14 -07:00
Yeshwanth Sriram Guntuka
68116c0a80 qcacmn: Send cmd to dump FW stats on suspend failure
Add support to send unit test command to FW to dump
stats on suspend failure due to pending tx completions.

Change-Id: I6afb69a862c366c66a1e1f3dc009964272dfb75a
CRs-Fixed: 3151458
2022-03-23 00:49:03 -07:00
Jeevan Kukkalli
925aca8a6b qcacmn: Initialize smart monitor filter reset function
Initialize smart monitor filter reset function during
ops registration

Change-Id: Ifc96a25675da1b05aa6a314cbad9df8a67ec6219
CRs-Fixed: 3153322
2022-03-22 23:25:37 -07:00
Himanshu Batra
896411a36b qcacmn: Handle mlo disconnect while connection is in progress
In case of MLO, when connect is in progress and disconnect is received,
there may be a possibilty that the assoc link's bss peer is deleted
before non-assoc link's connect is still in progress which can lead to
issue in peer setup at DP and FW.
Add fix to handle mlo disconnect while connection is in progress

Change-Id: I550abff439deca19c7ab355cae1fa46db1f0f61b
CRs-Fixed: 3152770
2022-03-22 19:00:42 -07:00
Surya Prakash Raajen
3f83cb1051 qcacmn: Clear mld soc setup if teardown fails
Add support to clear mld soc setup and link down
such that in case of teardown fails counters are updated
properly.

Change-Id: I5dc8c581069ef1d5bd0614568b435c0a9448fdcc
CRs-Fixed: 3127308
2022-03-22 14:50:05 -07:00
Shwetha G K
617fa1ab3e qcacmn: Do not send multicast frames on non-primary link
Do not send multicast frames on non-primary link peer in
case of NAWDS

CRs-Fixed: 3154533
Change-Id: I1d7887efcde33d4320012f8f57ac9398f366fff3
2022-03-22 06:40:44 -07:00
Naga
9ad28af16e qcacmn: Remove redundant field for rxmon global enable
Remove redundant field for rxmon global enable
and fix writing global enable field to correct
dword

Change-Id: I4efc0da559dce873bcb8721aeb0d7b7410b39dd9
CRs-Fixed: 3150784
2022-03-22 03:25:09 -07:00
Paul Zhang
648757b8ca qcacmn: copy the right Vendor IE for reported STA
If Vendor IE also presents in STA profile, it only needs
to copy the vendor IE from STA profile for link specific
frame and reported BSSID.

Change-Id: I48ed4e88f097fe6570b3f3df764cd707c4b758d3
CRs-Fixed: 3136382
2022-03-22 03:25:02 -07:00
Jianmin Zhu
ee27003447 qcacmn: Fix build issue on kernel5.10
Fix build issue on kernel5.10.

error: implicit conversion from enumeration type 'enum reg_6g_ap_type'
to different enumeration type 'enum supported_6g_pwr_types'
[-Werror,-Wenum-conversion].

Change-Id: Ib15ed20036f2472b567acee2e4d24d3e6bfe1956
CRs-Fixed: 3154541
2022-03-21 22:01:30 -07:00
Jianmin Zhu
d94f0fb619 qcacmn: Fix issue that DFS NOL can't be cleared
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, NOL channel
is failed to clear for regulatory pdev obj is freed already.

To fix it, let NOL timer and NOL be cleared in dispatcher_pdev_close,
before pdev destroy and regulatory pdev obj destroyed.

Change-Id: I5818f8a0284a6c45e8a435ac59269df73507deeb
CRs-Fixed: 3151099
2022-03-21 22:01:25 -07:00
Rakesh Pillai
b68fd9ba67 qcacmn: Disable TX STATUS ring for Kiwi
Kiwi target does not used TX status ring.
Hence disable the tx status ring for Kiwi.

Change-Id: If3a39a0017a884bee2320188621b1f05e0c6d568
CRs-Fixed: 3150815
2022-03-21 20:51:04 -07:00
Rakesh Pillai
f15646c12b qcacmn: Disable TX cmd credit ring for Kiwi
Kiwi target does not used TX cmd credit ring.
Hence disable the tx cmd credit ring for Kiwi.

Change-Id: Ibd5fe2905a7362ea2ab89e65d77c7aea6ab259ee
CRs-Fixed: 3150814
2022-03-21 20:50:58 -07:00
Ananya Gupta
42dd66b280 qcacmn: Allow all OOR frames to deliver to stack
Few APs are sending bar frame right after sending a
packet but the packet is not received and its retry
is received with the same sequence number. As SSN
is moved ahead due to bar frame, this packet is being
dropped.
To fix this, allow all frames to get delivered to stack.

Change-Id: I17f7126c8d318415e88b037b72563cf53cb14066
CRs-Fixed: 3151908
2022-03-21 13:09:13 -07:00
Harsh Kumar Bijlani
ff6dd1fab7 qcacmn: Update PPDU specific fields in Rx monitor HAL parsing
Update PPDU specific fields in Rx monitor HAL parsing.
Also correct the offset to be used for user info in EHT_SIG_HDR.

Change-Id: I9dd133d3617754475f097b54b6e1e460f2e67baa
CRs-Fixed: 3153475
2022-03-21 07:03:29 -07:00
Nandha Kishore Easwaran
7e583dccb8 qcacmn: Access dev from scn instead of pci_dev
Access dev from scn instead of pci_dev since pci_dev
can be null for some chipsets like QCN6122

Change-Id: I80c1c13df999f5df900f5cde23d636ed15c551fc
CRs-Fixed: 3151171
2022-03-21 05:35:57 -07:00
Shreedhar Parande
1758b401e1 qcacmn: Add support to RSSI DBm conversion API
Add WMI PSOC rssi Dbm conversion support service id.

Change-Id: I0fe9e7519926b26372a222529d66345e1a3c5655
CRs-Fixed: 3152182
2022-03-21 05:35:53 -07:00
chunquan
37d7d4bed0 qcacmn: Replace blacklist abbreviation bl for dl
Replace blacklist abbreviation bl for denylist dl.

Change-Id: Ifdb65060ec65fa65a0804c040734e2563c064b1b
CRs-Fixed: 3153293
2022-03-21 03:17:13 -07:00
Hariharan Basuthkar
b844c62799 qcacmn: Add reg API to treat NOL chan as disabled/enabled
By default, the regulatory module considers NOL channels as disabled
and these channels are excluded in channel search algorithm.

However, there are use cases where a search for NOL channel
is done and regulatory module fails to fetch the channel param.
Hence create an infrastructure to consider NOL channels
as "enabled" / "disabled" as per user's choice during channel search.
Setting "is_treat_nol_chan_as_disabled" flag to true considers
NOL channels as disabled and punctured.

The callers of reg_fill_channel_list() and
reg_set_channel_params_for_freq() APIs should set the flag
"is_treat_nol_chan_as_disabled" as per the desired use case.

CRs-Fixed: 3134870
Change-Id: Iae7cea18ecfd5e9972ea8e6934828898a6cd1e74
2022-03-21 01:28:30 -07:00
Hariharan Basuthkar
a42a26bfac qcacmn: Add APIS that consider NOL channel state as enabled
Move the following APIS from component dev to cmndev.
1. reg_get_nol_channel_state
2. reg_get_5g_chan_state
3. reg_get_5g_bonded_chan_state

The purpose of these APIS is to consider NOL channels' state
as "enabled". This is used in reg_set_5g_channel_params_for_freq() and
reg_fill_channel_list() API to get the channel state based on
user flag "is_treat_nol_chan_as_disabled".

Change-Id: I174e365e7e5ece8ac5fb082dd92eb76be3126cc6
CRs-Fixed: 3149470
2022-03-21 01:28:04 -07:00
Manoj Ekbote
7cdaafcd49 qcacmn: Reduce log level for CP stats non-critical print
No TWT session params can be a debug log since it is not fatal
and need not be printed to console. In multi-client tests,
this can cause too many prints since upper layer polls for the
stats periodically.

Change-Id: I7a4cac9202ac15c430910864d0f863e1193ea569
CRs-Fixed: 3150799
2022-03-20 21:05:51 -07:00