Commit Graph

16639 Commits

Author SHA1 Message Date
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
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
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
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