Commit Graph

16576 Commits

Author SHA1 Message Date
Jianmin Zhu
f683d0b718 qcacmn: Fix build error
Error: new_start_ch may be used uninitialized

Change-Id: I124d9c305e4f885a1e3d5c77ddd1dab57070b1de
CRs-Fixed: 3152361
2022-03-17 00:25:04 -07:00
Pooventhiran G
d0f0047cdd qcacmn: Add support for PN Rx Filter WMI
Add WMI support to set PN Rx Filter which is used to forward
frames to host upon PN failure.

Change-Id: Ib32abc681e17e1a6189a295314a497fc0c21b15a
CRs-Fixed: 3150832
2022-03-16 19:34:20 -07:00
Pooventhiran G
f5e2da429b qcacmn: Add Get RxPN WMI to obtain Rx PN
Add WMI support to obtain Rx packet number of a non-bss peer.

Change-Id: I841c1869299ebf5eeb21ee6406426a964d2d7112
CRs-Fixed: 3150832
2022-03-16 19:34:14 -07:00
abhinav kumar
e7ce9595c1 qcacmn: Enhance QCA vendor interface with kernel timestamp attribute
Add kernel timestamp attribute in enum qca_wlan_vendor_attr_diag
for subcmd QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA to send it from
driver to userspace. Also, QCA_WLAN_VENDOR_ATTR_DIAG_HOST_TIMESTAMP
attribute indicates the system timestamp but is documented as kernel
timestamp wrongly. So correct the documentation of this attribute to
reflect the correct behavior.

Change-Id: I9559345185cb75ae6adc6792126fc6679b089e5d
CRs-Fixed: 3150783
2022-03-16 19:34:05 -07:00
abhinav kumar
1e20923d2b qcacmn: Send kernel time to userspace
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.

Change-Id: Iec957f0516c06369e0d2991d96936cb1f7fff5f4
CRs-Fixed: 3150781
2022-03-16 19:33:59 -07:00
Hariharan Basuthkar
9a986b327b qcacmn: Add debug prints in the AFC event handler
Add debug prints to display the AFC event parameters in the WMI layer.

Change-Id: If9d06ccfc9c155d216119276d0727546afb9173c
CRs-Fixed: 3130926
2022-03-16 12:26:13 -07:00
Sheenam Monga
b17d8fc57f qcacmn: Avoid compilation error when 6G disabled
Currently definition of wlan_reg_get_power_string is
present for 6G only which may cause compilation issue
when 6G is disabled.

Fix is to add definition of wlan_reg_get_power_string
for both 6g enable and disable case to avoid any compilation
issue.

Change-Id: Iaad8f16543306e6ac09e76546062fae554124c1e
CRs-Fixed: 3150997
2022-03-16 11:14:21 -07:00
Jinwei Chen
8180dff19c qcacmn: Update TX bank profile for STA + TDLS case
Search flag addrX and addrY will be enabled for STA + TDLS case,
but currently TX bank profile is not updated which then STA still
use default TX bank profile - index based lookup search, TX might
fail.

Update bank profile with addrX and addrY search enabled.

Change-Id: I6af12d3707b59c5d4b4bba1fc5ec05a22bfcd984
CRs-Fixed: 3148759
2022-03-16 07:50:27 -07:00
Jyoti Kumari
7c3b36f765 qcacmn: Print reference id in debug prints
Print ref_id in all debug prints. It will make sure even if
string value is not added in string_from_dbg, there will be ref
id to debug leak issue.

Change-Id: If35a298239dd09cb4169474da34e30e85a2cde92
CRs-Fixed: 3147857
2022-03-16 04:02:08 -07:00
Neha Bisht
00b88532a4 qcacmn: Optimize dp_pkt_add_timestamp call to save CPU load
get_log_timestamp API is being called unconditionally when passed as
an argument to dp_pkt_add_timestamp (even for empty calls) from
dp_tx_hw_enqueue_li. This adds significant load on CPU, hence avoid
get_log_timestamp call by using preprocessor directive.

Change-Id: I1d988597e28b755a767a267d1b578b2bcedc324e
CRs-Fixed: 3150795
2022-03-15 23:21:29 -07:00
Priyadarshnee Srinivasan
307e380442 qcacmn: Add reg opclass changes for 320MHZ
Add opclass changes to support 320MHZ in 11BE

CRs-Fixed: 3135023
Change-Id: I57827cf0f5f056df0dceee0a6225d4ea7219cce9
2022-03-15 20:44:09 -07:00
shubpawa
68f86baf32 qcacmn: Added support to enable/disable mgmt rx reo sim feature
Add support to enable/disable mgmt rx reo sim feature

cfg80211tool wifiX mgmt_rx_reo_simulation 1 (Enable)
cfg80211tool wifiX mgmt_rx_reo_simulation 0 (Disable)

Change-Id: I3dbe202a86ab2911ea6a0bd1295ba02c39402fa0
CRs-Fixed: 3100349
2022-03-15 07:38:01 -07:00
Yu Wang
53441b208a qcacmn: do not add MLO params if MLD is not set for vdev
If MLD is not set for a vdev, do not add MLO params
in vdev create command.

Change-Id: Ie726cd30165a541357422851848fb1da9790d64b
CRs-Fixed: 3138070
2022-03-15 05:02:57 -07:00
Nandha Kishore Easwaran
8aa7cab50c qcacmn: Add provision to increase num_elements
Add support to change the number of elements in multi pages
alloc function. This is needed to increase the number of tx_descs.

Change-Id: I29ee2764c24c6f83b0c2cff1062ec7239dcc0b4b
CRs-Fixed: 3130833
2022-03-15 03:42:03 -07:00
Nandha Kishore Easwaran
cf10304673 qcacmn: Add provision to set desc to higher value
Add support to change the tx_desc value to 65536. Some changes
to make the function argument as u32 type us made

Change-Id: I7cbde1b7ed4ab4e278c25c1ecfa94b7f673197f2
CRs-Fixed: 3130833
2022-03-15 03:41:58 -07:00
Neelansh Mittal
ea3efe6a60 qcacmn: Call HTT RxDMA and RxOLE PPE cfg API
Add a separate APIs to configure RxDMA and RXOLE
configuration to enable the PPE based routing.

Change-Id: I95b8fbb361402bc04fc1f38aa8b0dbc6f99f4f06
CRs-Fixed: 3147720
2022-03-15 00:11:19 -07:00
Neelansh Mittal
28d17d9290 qcacmn: Add HTT RxDMA and RxOLE PPE message
Add the DP HTT RxDMA and RxOLE data types and their
respective configuration APIs.

Change-Id: I4ce423a31eab84764666b7d0f11815f4895898af
CRs-Fixed: 3147720
2022-03-15 00:11:10 -07:00
Neelansh Mittal
c903ec29a1 qcacmn: ADD WMI unified param and APIs for PPEDS
Add WMI unified param and APIs to enable PPE based
routing.

Change-Id: I32e475dc684938180c837e3c6a4980a9b5a14a21
CRs-Fixed: 3147720
2022-03-15 00:11:00 -07:00
Wu Gao
62706fd667 qcacmn: Correct registers when populate cfr information
Correct registers when populate mcs & gI parameters to cfr_info for
KIWI.

Change-Id: I323df60ec6e30541f85032a7affaade0e1dca177
CRs-Fixed: 3121694
2022-03-15 00:10:53 -07:00
Wu Gao
ce53a6f23f qcacmn: Fix error of macro CLEAR_PARAM
CLEAR_PARAM failed to clear bit at bit position of "val". This change
correct to ((__param) &= (~(1 << (__val)))).

Change-Id: I20a9203592c0f48c3d2999985edd8ff81f55eb9d
CRs-Fixed: 3137825
2022-03-15 00:10:48 -07:00
Priyadarshnee Srinivasan
4f3cbf6b28 qcacmn: DFS random channel selection for 11BE
Enable the wmi_service to fetch the radar found cfreq from
wmi_service_radar_found_chan_freq_eq_center_freq.

Add changes in DFS random channel selection algorithm
(1) To find a channel of input width 320MHZ. Since 320MHZ in 5G
is 240MHZ (320 - 80 punctured), there are 12 valid 20MHZ subchannels
possible in 240MHZ. Validate the continuity of 240MHZ channel before
declaring the channel to be found.
(2) To find a fallback channel for the input channel
width of CH_WIDTH_320MHZ. The fallback channel of 320MHHZ is
160MHZ.

CRs-Fixed: 3149475
Change-Id: I03cac7f090de20efd912402b5e4df543b47aafed
2022-03-14 22:31:26 -07:00
Prakash Manjunathappa
61178a761e qcacmn: Make num REOs and rx_threads depend on dp_reo_rings_map
Make 1:1 dependency on num REOs and rx_thread. Keep num rx_thread
dependent on rx REO rings, 1 rx_thread for each rx REO ring.
Controlled via INI dp_reo_rings_map.

Change-Id: I7c199226cfa3f173ea328d71075816b8eb9ba91f
CRs-Fixed: 3048260
2022-03-14 22:31:21 -07:00
Priyadarshnee Srinivasan
d4faaf9d6b qcacmn: Add wmi service-id for radar found cfreq
Add WMI service-id for radar found center freq
and populate_tlv_service for WMI_IS_RADAR_FOUND_CHAN_FREQ_IS_CENTER_FREQ

CRs-Fixed: 3135120
Change-Id: I2f25bc0c9629a0bddf79b7f52eb5fcb82206cdc8
2022-03-14 22:31:17 -07:00
Deeksha Gupta
b06ca5bc3d qcacmn: Update key management after bss create response
Add support to update key management with higher security
after BSS create response.
Also, Currenlty if there are multiple AKM and ucast cipher.
Host overwrites AKM and ucast cipher value with the new one.
Instead of overwrite, add support to do ORing to keep all values.

Change-Id: I679a86debef649efbce1a08b60512d127f7fbbee
CRs-Fixed: 3113222
2022-03-14 10:11:25 -07:00
Deeksha Gupta
348fee747b qcacmn: Update BSS score calculation based on Security Profile
Update BSS score calculation to consider security profile.

Change-Id: I120774ce2472442ebba15e098b4089f8a17cbfc5
CRs-Fixed: 3113215
2022-03-14 10:11:19 -07:00
chunquan
bc71eff483 qcacmn: Rename files with blacklist/whitelist
Rename files with  blacklist/whitelist to denylist/
whitelist. Rename files with blm to dlm.

Change-Id: I6f533c30c664aaaf713cdd2e2e34f9528df139b5
CRs-Fixed: 3099867
2022-03-14 08:50:32 -07:00
Pavankumar Nandeshwar
fbf1e82c6b qcacmn: Call dp_tx_nbuf_unmap instead of directly calling unmap API
Call dp_tx_nbuf_unmap instead of directly calling
qdf_nbuf_unmap_nbytes_single

Change-Id: I4d28ccdc45d99b16cf9883742742ee7b36ba1022
CRs-Fixed: 3146931
2022-03-14 08:50:25 -07:00
Deeksha Gupta
b37b9b12cd qcacmn: Handle status code for TWT Notify event
Handle status code for TWT Notify event

Change-Id: I7065ab52b21ce8ce9dd5d12e30d2380e4c7d0da2
CRs-Fixed: 3138647
2022-03-14 07:28:44 -07:00
Deeksha Gupta
bd5b183f58 qcacmn: Enhance QCA vendor interface to indicate TWT required capability of AP
Add QCA_WLAN_TWT_NOTIFY command type to send event to userspace when AP
changes TWT required bit field in its capabilities.

Change-Id: I6333213f4e8ca4fe9ca637db287759fd6c6622f4
CRs-Fixed: 3143525
2022-03-14 07:28:37 -07:00
Jyoti Kumari
95a1bc6a1a qcacmn: Add TWT ID in string_from_dbgid
Add TWT ID in string_from_dbgid

Change-Id: Ib98b18c6bc52af140d9e351c07ed150f0289faa1
CRs-Fixed: 3147818
2022-03-14 06:09:57 -07:00
Vinod Kumar Myadam
212a7a89b8 qcacmn: Validate len param to fix ASSERT
Fix to validate the length param before calling wmi_buf_alloc

Change-Id: Iec4551576135aa8c4ed1597a1360804d55fddf96
CRs-Fixed: 3134025
2022-03-14 04:56:51 -07:00
Neha Bisht
3f4d0fccaa qcacmn: Enable the 4th Tx. completion ring
Set RBM mapping to send data on Tx comp ring4

Change-Id: I8643b8745286660a157d7f7ce027845e87a2b936
CRs-Fixed: 3123108
2022-03-14 03:11:26 -07:00
Venkateswara Swamy Bandaru
73e1de72ef qcacmn: Add EHT PPET related defines
Add EHT PPET related defines in EHT capability IE.

Change-Id: I0e230e41710910d5542d308fa45940476729ba58
CRs-Fixed: 3148749
2022-03-11 23:49:53 -08:00
Amir Patel
a799953c57 qcacmn: Handle buffer continuation in RxMON
for a PPDU monitor status can be split across multiple status buffers,
If status buffer continuation is carried in next NAPI budget,
store ppdu status buffers to process in next reap context.

Change-Id: Id00646fa4edb55f3540e23ad327952bf0f5d9889
CRs-Fixed: 3147113
2022-03-11 10:35:10 -08:00
Pragaspathi Thilagaraj
e67668f25a qcacmn: Update the roam frame extract api prototype
Update the roam frame extract API prototype.

Change-Id: I0495d7291e206c24ea5b7f14d22db767904ff24b
CRs-Fixed: 3148151
2022-03-11 09:16:33 -08:00
Jianmin Zhu
5be34e1968 qcacmn: Fix build error
For platforms which CONFIG_BAND_6GHZ undefined, build failed for
implicit declaration of function
reg_convert_supported_6g_pwr_type_to_ap_pwr_type.

Change-Id: Iefaef8ea64f76f07e040403ada145c99c29db19a
CRs-Fixed: 3147319
2022-03-11 04:53:03 -08:00
Manoj Ekbote
aa7a5cf79d qcacmn: Fix build error with header
Replace TWT_PEER_MAX_SESSIONS with WLAN_MAX_TWT_SESSIONS_PER_PEER

Change-Id: I7eb872a753f38260ff19e16ce211129f7481bfd1
CRs-Fixed: 3136148
2022-03-11 04:52:56 -08:00
Wu Gao
ecf1416b42 qcacmn: Check cookie and avoid to read out of bound
Read out of bound due to invalid cookie and cause device broken. This
change checks cookie before using it as index of DBR buffer pool.

Change-Id: I1abc7d771cc62a7dd2dfe98784bf8ef2710f26ca
CRs-Fixed: 3144133
2022-03-10 17:09:21 -08:00
Manoj Ekbote
27181a9d1e qcacmn: Add a flag to use the right locking scheme
When the flag is enabled, use spinlock else use mutex in TWT code.

Change-Id: I2504a86569e1341ac0e75c24b0c98bd7d949aac0
CRs-Fixed: 3136148
2022-03-10 16:01:39 -08:00
David Oladunjoye
108624a2a8 qcacmn: umac: Add Missing Kernel Documentation
Function wlan_cp_stats_twt_get_peer_session_params() is missing 
its documentation block, so add it.

Change-Id: I050d45df1861de02998039b76c8c2a7da59af669
CRs-Fixed: 3137344
2022-03-10 12:20:50 -08:00
Karthik Kantamneni
842db6aafc qcacmn: Update TX HP only for last TSO segment
Currently HW TX queue HP value is updated for every TSO segment enqueue,
as a part of optimization update HP only for the last segment.

Change-Id: Ibe349a1e6f55932bf780e1f755f13841078a493f
CRs-Fixed: 3138142
2022-03-10 05:09:04 -08:00
Pavankumar Nandeshwar
fb2b00a1b9 qcacmn: Fetch phy addresses for wbm release ring descs
Fetch phy addresses for wbm release ring descs
in the cookie conversion enabled case

Change-Id: I420dc395bfa7b783dfed98b7258e7c0f0728e543
CRs-Fixed: 3146766
2022-03-09 21:34:31 -08:00
Amith Ajith
c3bb3fb37a qcacmn: Fix incorrect 6g supported channels reported for opclass 133 & 134
API reg_get_channels_from_opclassmap populates channels from opclass map to
reg_ap_cap as supported and non-supported channels. But for 6g opclass 133
and 134, non-supported channels were also getting reported as supported
channels.

This was due to an error in the logic of reg_get_channels_from_opclassmap
API for opclass 133 and 134. The 20Mhz channels towards the end of the
channel list in the op_class_tbl were causing the issue.

To address this issue, add a logic to get the supported and non-supported
channels from the cfi list object of op_class_tbl for 6GHz in the
reg_get_channels_from_opclassmap API. Also remove the 40MHz centre channel
calculation condition for 6GHz in reg_get_chan_or_chan_center API as it is
being handled in the new API.

CRs-Fixed: 3133022
Change-Id: If6ea18f79786c8549a1c75c557adffa178dd5c71
2022-03-09 17:44:59 -08:00
Jhalak Naik
055dfbe881 qcacmn: Add Host support for Spectral FFT recapture
Add support to receive the fft_recapture arg value
from spectraltool, handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scans.

Change-Id: Ied637704d25bb15bff2139a215da7481d4f80e4f
CRs-Fixed: 3140890
2022-03-09 06:51:27 -08:00
Devender Kumar
b64b200ff8 qcacmn: Fix for early free of IPA global varible
With multiple radio supporting IPA offload path, the g_ipa_config
is getting free when doing wifi unload for single radio, which is
leading to an issue of early free of g_ipa_config variable.
Fix is check if all the soc are down and then only free the
global struct for IPA.

Change-Id: If8fbc7a72c91a26e6f9e680711cd58429f8a1e99
CRs-Fixed: 3137091
2022-03-09 05:37:51 -08:00
Tallapragada Kalyan
edbfac7e2e qcacmn: prefetch nbuf data and nbuf fields for Beryllium
prefetch certain nbuf fields and nbuf data fields, this
will ensure these fields are in cacheline by the next
iteration of the rx processing loop.

CRs-Fixed: 3146589
Change-Id: I69fd9a7800c7e881cf6635f329343195d19735c5
2022-03-09 04:07:41 -08:00
Venkateswara Swamy Bandaru
6d2cd0a2b4 qcacmn: Fix RNR Overwriting issue
Fix condition check of updating RNR info.

Change-Id: I441351f2236183e304b833c59469e1278485e2dd
CRs-Fixed: 3144862
2022-03-09 04:07:35 -08:00
Madhvapathi Sriram
4cbd31b6b4 qcacmn: User MCC quota setting
Make MCC quota limits configurable

Change-Id: I61a0b8124ab193f8d2c05ec36f0e97c85a1df774
CRs-Fixed: 3106155
2022-03-09 02:45:46 -08:00
Srinivas Pitla
d6beb68484 qcacmn: Fix issue in primary umac id
This change fixes psoc id assignment in primary UMAC
selection

Change-Id: I04beaf3cdce4f9487380ac5ab84e1d0070c243dd
CRs-Fixed: 3144033
2022-03-08 23:59:30 -08:00
Pavankumar Nandeshwar
649873d3a1 qcacmn: Decrement quota for all packets in rx process
Decrement quota and num_pending for all packets in
rx process

Change-Id: I296c7bc2590cc388ce24cc75455b62656434f2af
CRs-Fixed: 3137924
2022-03-08 21:03:53 -08:00