提交線圖

13196 次程式碼提交

作者 SHA1 備註 日期
Jyoti Kumari
43c413bc3b qcacmn: Add TWT service bit capability support for ack event
Add TWT service bit capability support to check whether firmware
supports ack event or not. If firmware doesn't support ack event
then service bit capability will become 0 and whenever TWT
command comes, host will not wait for ack event and sends command
in a legacy way.

This support is mainly added to handle new host and old firmware
combination.

Change-Id: I55d373c2e017130b58a4b332da16f0eda8f34eba
CRs-Fixed: 2987749
2021-07-17 08:23:20 -07:00
Mainak Sen
4c655bacbd qcacmn: Separate UL and DL specific latency parameter
Mesh latency implementation should have DL and UL specific
latency parameters

Change-Id: Ib780a23503220f5f6e628cd61a032a8515d3a50e
2021-07-17 06:06:56 -07:00
Jia Ding
df63752a7c qcacmn: Extend QCA vendor command for TSF to enable and disable auto report
Add TSF cmd to enable and disable automatic TSF report from the target
to the host.

Change-Id: I17b255299f55b8e78968d951824726d533a7c6e9
CRs-Fixed: 2991909
2021-07-17 06:06:50 -07:00
Nandha Kishore Easwaran
a7c7531e90 qcacmn: Allow all raw frames without any check
Allow all raw frames to the upper layer without checking
for port authorisation. All checks in raw mode has to be performed
by the controller in case of raw mode.

Change-Id: Ica6df24b359790fcadc9bb7bbb4d7b5084930170
2021-07-17 03:57:36 -07:00
Abhijit Pradhan
235cac91ea qcacmn: Add ifdef around the body of the header file
Add #ifdef around the body of the header file so that multiple
inclusions from the same translation unit does not fail compilation.

Change the type of the frequency variables (lowfreq, highfreq) from
signed to unsigned.

Changed the positions of the 16-bit variables (version_minor,
version_major) to avoid alignment error (8 Byte alignement).

Change-Id: I72b8f7acbf21a249e2380301b41739cbe06345d6
CRs-Fixed: 2988464
2021-07-17 01:46:34 -07:00
Abhijit Pradhan
6005384aef qcacmn: Include afc header for spectral module
Include afc common service header file to fix compilation error for
spectral module files.

Change-Id: I14d6bdb6437cb3eea3b85a72dcb3a9760186cc4b
CRs-Fixed: 2988464
2021-07-17 01:46:28 -07:00
Jia Ding
8831af07cc qcacmn: Add channel load percentage attribute into QCA vendor command
Add channel load percentage attribute in enum ll_stats_results.

Change-Id: Ib3603730e93d70ab1adc384b0c438f198fc889e9
CRs-Fixed: 2990868
2021-07-16 20:47:32 -07:00
Shwetha G K
378a3b351e qcacmn: Extract AoA phase delta parameters
Add API to extract AoA phase delta and IbfCalValues from
WMI event. Also Add service bit to support the feature

Change-Id: I6f6514711345dd47c4be3673b8c40501feb763e9
2021-07-16 20:47:29 -07:00
Amit Mehta
42c3f92bf4 qcacmn: rate limit excessive logging in case of no data to reap
Currently, excess logging is causing a crash when there is no
data to reap.

Rate limiting the log messages to avoid the crash due to excessive
logging in case of no data to reap.

Change-Id: I175f3f1b3c0b0173f171e971494f6ffda694b4a5
CRs-Fixed: 2988147
2021-07-16 17:49:16 -07:00
Shiva Krishna Pittala
207740adea qcacmn: Spectral init path changes for QCN9224
Pdev init path changes for Spectral module for target QCN9224

Change-Id: I33752f06c64c5bae480afc84386250bd8d66b073
CRs-Fixed: 2992497
2021-07-16 12:13:39 -07:00
Shwetha G K
90e7ec13c7 qcacmn: Extract AoA phase delta from WMI event
Changes to extract AoA phase delta values from WMI event.
The AoA phase delta values along with ibf calibration value
is shared to derive the phase values which is to be used in
CFR.

Change-Id: I70f50656db4194025a0b6b37c8b4a27048968e0f
2021-07-16 06:19:59 -07:00
Shwetha G K
ac4740da88 qcacmn: Derive phase from agc gain & phase delta
Changes to derive chain phase values out of Hardware
reported agc gain and target reported AoA phase calibration
values. AoA for RCC to be supported based on target shared
capability. AoA phase delta & ibf cal values are shared by
target upon every channel change via WMI event.

Change-Id: Ic4fca3731b795e07a511388f6dbb15a46d676a77
2021-07-16 06:19:55 -07:00
Vignesh U
171c65dccd qcacmn: Prevent random channel selection to choose UNII1 channels
Spur or leakage transmissions is observed in Spruce HW in
frequencies from 5260MHz to 5320MHz when one of the following
conditions is true,
i) The AP is transmitting in 52/56/60/64 in 80MHz mode and then the  AP
moves to the adjacent channel 36/44/48 in 80MHz mode and starts
transmitting.
ii) The AP is transmitting in 36/44/48/52/56/60/64 in 160MHz mode and then
the  AP moves to the adjacent channel 36/44/48 in 80MHz mode and starts
transmitting.
In order to prevent random channel selection to cause spur restrict the
above given channel movements for Spruce target alone.

Change-Id: I27b558ec5544076430f66c84b056ab65f9e43c8c
CRs-Fixed: 2975473
2021-07-16 03:55:15 -07:00
Huashan Qu
32aaa05ba7 qcacmn: Add null check for dcs_tx_ops pointer
In function wlan_dcs_cmd_send(), pointer dcs_tx_ops returned from
function call target_if_dcs_get_tx_ops() may be null and will be
dereferenced, it's an issue to dereference dcs_tx_ops without null
check.

Fix is to add null check for dcs_tx_ops pointer before use in
function wlan_dcs_cmd_send().

Change-Id: If82f31bd8f5096a4e6562131426510907555140d
CRs-Fixed: 2989520
2021-07-15 21:52:02 -07:00
Manjunathappa Prakash
036b05b69e qcacmn: Enable need idle functionality for 5.10 kernel
On 5.10 kernel need idle” functionality is moved from
<linux/sched.h> to walt (<Linux/sched/walt.h>), Replace
“PF_WAKE_UP_IDLE” checks with “IS_ENABLED(CONFIG_SCHED_WALT)”.

Change-Id: Icb89b0e6e9862ed5b82680379a1d2630c9b2b4d9
CRs-Fixed: 2990760
2021-07-15 14:34:06 -07:00
Jinwei Chen
2eb6b6ab69 qcacmn: check number of page desc during pool de-initialize
Add number of page desc check for TX/RX desc_pool de-initialization,
avoid unexpected assert in case SPT page_desc_list is not
initialized like SSR case.

Change-Id: I970f0e09a0631260e1cb0d1de23a1de3e8d13f24
CRs-Fixed: 2991334
2021-07-15 14:34:02 -07:00
Bapiraju Alla
733e990dce qcacmn: Fix partner link id updation in ml_info of scan cache entry
Currently, partner info array in scan entry is contains self link
information in first index. to avoid confusion, update partner info
with only partner links information and store self link id in ml_info
of scan entry

Change-Id: I53992fee355613b8521409da412254c05fb63fbf
CRs-fixed: 2991229
2021-07-15 14:33:57 -07:00
Deeksha Gupta
a7fee1cb2f qcacmn: Add QCA vendor attribute to enable/disable FT over DS
Add QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS
to configure FT over DS to the driver/firmware.

Change-Id: I0745c27c6bc0a8d1075d753f1d898870479105f8
CRs-Fixed: 2968681
2021-07-15 04:13:18 -07:00
Surya Prakash Raajen
61c188189e qcacmn: Add support for beamforming in mgmt frames
Add support for enable beamforming in mgmt frames to FW.

Change-Id: I0b7f8d13b6fc399d6255b217f5a53cd3c595fa51
CRs-Fixed: 2976861
2021-07-15 01:59:32 -07:00
Jia Ding
ffcab816e9 qcacmn: Get buffer_timestamp from wbm release ring
Upon TX completion, get buffer_timestamp from wbm release
ring descriptor.

Change-Id: I0203b51c52a265711e62afc3a940392674ac014a
CRs-Fixed: 2978492
2021-07-14 20:14:36 -07:00
Rajeev Kumar
37ee80923a qcacmn: Add wakelock reasons for sap and go d3 wow
Add wakelock reasons for sap and go d3 wow feature.

Change-Id: I067cb8fd30cc90d4ec0c8b1a26c0b5bc17db966f
CRs-Fixed: 2986291
2021-07-14 17:53:54 -07:00
Krishna Rao
1ce921eb1a qcacmn: Add separate ID for ML IE trace prints
Add a separate module ID for Multi Link Operation (MLO) Information
Element protocol processing related QDF trace prints. These are for
use in processing of any IEs related to MLO. This would help separate
the tracing of MLO IE operations which are expected to be substantial,
and avoid confusion that might arise from reuse of MLO manager
tracing.

Change-Id: If55532a89452b6432101be07fcc6aff45045e822
CRs-Fixed: 2985731
2021-07-14 15:32:22 -07:00
Harsh Kumar Bijlani
0dcfff9b90 qcacmn: Define cdp interface struct and API to fetch dp soc stats
Define a new cdp interface structure and API for soc stats for use
by upper layers to fetch dp soc stats.

Change-Id: I314e952546551003da2ca7f69b2e1aa23c126e66
2021-07-14 15:32:16 -07:00
Venkateswara Swamy Bandaru
238ae4b7f7 qcacmn: Fix API used for getting band
Replace util_scan_scm_chan_to_band with util_scan_scm_freq_to_band
to work for 6G channels.

Change-Id: I5f8843599cbea194a57cc7fc3b20163a7205f4e7
CRs-Fixed: 2987153
2021-07-14 15:32:12 -07:00
Sandeep Puligilla
1d0ef56609 qcacmn: Add validation check for MLD address
-Add validation check for MLD address as part of ML dev context
creation.
-Modify some function descriptions to clearly state the purpose.

Change-Id: Id049145351bdd790126e0ab522d24e4c399c0ad2
CRs-Fixed: 2976130
2021-07-14 13:12:31 -07:00
Shwetha G K
5986e5eeee qcacmn: Support AoA with RCC
Changes to derive AoA phase values in RCC mode.
Add AoA phase calibration parameters to pdev_cfr. These
gets filled upon FW WMI event for every channel change.
HW reported AGC gain & these values are used to derive per
chain phase values.
FW to advertise support of this via service flag.

Change-Id: Ie239b939e50c60c5658ed0a82bae3243e5028e77
2021-07-14 13:12:26 -07:00
Shashikala Prabhu
ea157e3a14 qcacmn: Read AP initiator burst and staggered service bits
Check the below service bits and set in psoc if the service is supported
by  FW.

WMI_SERVICE_RTT_AP_INITIATOR_STAGGERED_MODE_SUPPORTED
WMI_SERVICE_RTT_AP_INITIATOR_BURSTED_MODE_SUPPORTED

Change-Id: I13504958bf31b2d645d915b4db20719bdc9a4133
CRs-Fixed: 2969195
2021-07-14 10:33:01 -07:00
Hariharan Basuthkar
82ee5ef227 qcacmn: Add regulatory support to send AFC cmd to the FW
Add core regulatory APIs to send the WMI_AFC_CMDID to the FW.

Change-Id: I1e2b7d936583a199d1be032895802740ee9f19a1
CRs-Fixed: 2975227
2021-07-14 10:32:56 -07:00
Himanshu Batra
8f056fe40e qcacmn: Free ML dev context memory in case of failure
Free ML dev context memory in case of failure

Change-Id: I2564cc5a3140f26e5b70c684879150debe009a29
CRs-Fixed: 2989084
2021-07-14 07:25:35 -07:00
Venkateswara Swamy Bandaru
8bc0945029 qcacmn: Add 11be puncturing support
Add puncturing bitmap along with channel parameters
in vdev structures for filling during vdev start.

Change-Id: I5e5afd6e118ed9933e4d9c30e2ad65cd4259bca0
CRs-Fixed: 2958389
2021-07-14 02:05:32 -07:00
Venkateswara Swamy Bandaru
aece6974f6 qcacmn: Add scan support for 11be puncturing
Add scan support for puncturing by extracting the puncturing
bitmap field in the EHT operation IE.

Change-Id: I221464f52bfce40b55344f995945836f80553579
CRs-Fixed: 2982502
2021-07-14 02:05:24 -07:00
Venkateswara Swamy Bandaru
a071b03bcd qcacmn: Add WMI support for EHT puncturing
Add WMI support for EHT puncturing by filling puncture
bitmap in vdev start and peer assoc commands.

Change-Id: If1d2541655558f22a96a741999ec4ff7348f695a
CRs-Fixed: 2982498
2021-07-14 02:05:18 -07:00
Shashikala Prabhu
c33f73847d qcacmn: Add support to send csa_event_bitmap to FW
In the current implementation, csa_event_bitmap for CSA in the beacon
template WMI command is set to 0. Hence, the FW sends CSA complete event
to the host at the end of CSA complete.

Set the below values to csa_event_bitmap to get the current channel switch
count from FW to update the CSA/ECSA IE count in probe response frame.

1. WMI_CSA_EVENT_BMAP_ALL:
   To get the CSA switch count event for every update to switch count.
2. WMI_CSA_EVENT_BMAP_SWITCH_COUNT_ZERO:
   To get the CSA complete event only when the switch count becomes zero.
3. WMI_CSA_EVENT_BMAP_VALID_MASK:
   FW to follow the bitmap for sending the CSA switch count event to the
   host. Example,
   0X80000000: Send the CSA event when the switch count becomes zero.
   0X80000033: Send the CSA switch count to host for the count 0,1,4 and 5.

Change-Id: I8380d6badc3b84c72fde489e59b51b5ac122b97b
CRs-Fixed: 2978799
2021-07-12 23:28:05 -07:00
Amruta Kulkarni
e962074dd7 qcacmn: Roam sync frame event wma cleanup
Wma to target if migration for ROAM SYNC FRAME EVENT

Change-Id: I6f61ff94f4b9e600e025284a82c060e1598edd13
CRs-Fixed: 2987272
2021-07-12 19:12:12 -07:00
Ashish Kumar Dhanotiya
fdac28ef95 qcacmn: Add synchronization for flush log completion
Currently there is no synchronization for flush log completion
between fw and userspace. When host driver receives command to
flush logs, it sends the command to fw and releases the control
of the userspace thread, it does not wait for the flush log
completion event from the fw and because of which user space
does not know when the host and fw completes the log flush.

To address above issue add a logic to wait for fw event of
flush log completion before host returns control to userspace.

Change-Id: I04fa0aead146d2b7b8627e4101c6dcd99d3947e9
CRs-Fixed: 2983387
2021-07-12 05:33:17 -07:00
Abhishek Singh
6deea68417 qcacmn: Handle EV_DISCONNECT_ACTIVE event in roaming state
In the case of Roam Start sub-state, if a new connect/disconnect
is received, an internal disconnect/actual disconnect is queued
in serialization and then the state is changed to connecting
or disconnecting, but if the disconnect command becomes active
directly the EV_DISCONNECT_ACTIVE is received in roam substates
but is not handled.

As EV_DISCONNECT_ACTIVE is not handled the disconnect is not
processed and VDEV can remain in UP state while CM assuming that
the disconnect is completed will allow a new connection which
cause 2nd BSS peer creation.

Fix is to handle EV_DISCONNECT_ACTIVE event in Roam sub-states.

Change-Id: I30180db2e15af9b793e52e891f86d54c55b7b5e0
CRs-Fixed: 2986468
2021-07-12 02:28:11 -07:00
Vevek Venkatesan
1a98ac54d7 qcacmn: init last_desc_cleared and it should always behind tp
Initialize the last_desc_cleared pointer to -1 not 0, and
also fix the check it should always behind tp.

Change-Id: I281e066d45a99ac99d4f3c4e0bcc3f65f14bb589
CRs-Fixed: 2987029
2021-07-12 00:22:00 -07:00
Manoj Ekbote
190ff6c23e qcacmn: Retrieve BSS color from TLV
In Tx monitor code, BSS color needs to be retrieved
from the PPDU TLV so that it matches the value in
transmitted packet.

Change-Id: I6e1dce3992264ebea2db37b2d9c8f156a23df028
2021-07-11 02:15:44 -07:00
Utkarsh Bhatnagar
32647bf109 qcacmn: Cleanup reg_cache_channel_state
Cleanup reg_cache_channel_state and the
related code with it.
Also, changed the logic so as to compare
channel freq instead of channel number in
reg_modify_chan_list_for_cached_channels()

Change-Id: I424b6886ed18f73bae0d2b36e36a9ddc1819688b
CRs-Fixed: 2908016
2021-07-10 19:37:32 -07:00
Jhalak Naik
b022dda84c qcacmn: Modify Spectral debug print APIs
Modify APIs target_if_dbg_print_samp_msg() and
target_if_dbg_print_samp_param() to use the
new formats for spectral_samp_msg and
target_if_samp_msg_params, respectively.

CRs-Fixed: 2961953
Change-Id: Ib0776c2189e9ca1dc33d38f2a7609aa6d15959ee
2021-07-10 13:31:19 -07:00
Jhalak Naik
8a5bf47771 qcacmn: Add new function free_samp_msg_skb()
Add a new API free_samp_msg_skb(), to free
SAMP msg buffer, if error in phyerr processing
for 160/80p80 MHz modes. Call this API from
reset_160mhz_delivery_state_machine(), to
avoid redundancy.

CRs-Fixed: 2961987
Change-Id: I3a0488997e474fef6f4f57e3fbfd1a163c91ac7b
2021-07-10 13:31:13 -07:00
Jhalak Naik
a66fec0ada qcacmn: Populate target_if_samp_msg_params for Spectral gen2
Add API target_if_spectral_populate_samp_params_gen2() to
populate fields in target_if_samp_msg_params, using
search fft report and target_if_spectral_rfqual_info
fields.

CRs-Fixed: 2961986
Change-Id: Iad970483f6183d2e52d97e6c3ddf8f146845fbe4
2021-07-10 13:31:09 -07:00
Jhalak Naik
9cbb125f8e qcacmn: Refactor target_if_process_phyerr_gen2()
Refactor API target_if_process_phyerr_gen2 for
new SAMP message format.

CRs-Fixed: 2961984
Change-Id: Ife76f4da3256e44a2d3ffe0bdb65da2d3b6b24c7
2021-07-10 13:31:04 -07:00
Jhalak Naik
da7baec68d qcacmn: Modify target_if Spectral APIs to Support GEN2
Modify the below APIs to support Spectral gen2
fields and add appropriate checks:

	1) target_if_spectral_fill_samp_msg()
	2) target_if_populate_fft_bins_info()

CRs-Fixed: 2961981
Change-Id: Ieb63a0215e5585bc8acebe8051dbf0663142fb86
2021-07-10 13:30:57 -07:00
Jhalak Naik
7100c71202 qcacmn: Populate target_if_samp_msg_params for Spectral gen3
Add API target_if_spectral_populate_samp_params_gen3() to
populate fields in target_if_samp_msg_params, using
Spectral report, search fft report and spectral scan
summary report.

CRs-Fixed: 2945300
Change-Id: Idce57af9a198773491f6c6bc7303641ec0fb15a7
2021-07-10 13:30:53 -07:00
Jhalak Naik
e50fe45a74 qcacmn: Modify target_if_samp_msg_params for new SAMP msg
Modify struct target_if_samp_msg_params to only include
fields to fill the new SAMP message format, which
are not present in the per-session report-level
info and detector map structures.

CRs-Fixed: 2961956
Change-Id: I54f69bb63c5b64a59cb83b9f205c74c83475fc14
2021-07-10 13:30:48 -07:00
Jhalak Naik
06764332ef qcacmn: Initialize Spectral scan detector list
Add sscan_detector_list struct to store the number
of detectors and detector list for a given Spectral
scan mode and channel width, based on the target type.

Initialize this struct during target_if_pdev_spectral_init.

CRs-Fixed: 2961954
Change-Id: Ia920438429579c096349a0170d15e288d46cf9a9
2021-07-10 13:30:43 -07:00
Jhalak Naik
555875b09b qcacmn: Populate start and end frequencies in detector map
Add API target_if_spectral_get_start_end_freq to set
start and end frequencies in the per-session
detector level map, based on spectral scan
cfreq1/cfreq2 and operating BW.

API target_if_populate_detector_start_end_freqs handles
population of the start and end frequencies per-detector,
in a session.

CRs-Fixed: 2961957
Change-Id: I68a052db6643d92c22e7ee671f4e46af33c2fa08
2021-07-10 13:30:38 -07:00
Jhalak Naik
86ff67088d qcacmn: Replace numbers with macros in FFT report processing
Replace numerical values with macros, for indicating
position and size of Spectral FFT report fields, in
target_if_consume_sfft_report_gen3().

Change-Id: I81994ebb0d642bc4cbebe2b24aabcae567ae6a9c
CRs-Fixed: 2945319
2021-07-10 13:30:34 -07:00
Jhalak Naik
2ae296f522 qcacmn: Support timestamp verification per-detector
Modify prev_tstamp variable in target_if_spectral
structure to an array and index it based on detector ID.
Also, modify target_if_spectral_verify_ts() to include
detector_id parameter and compare current timestamp with previously
received sample on per-detector level, to check discrepancy.

Change-Id: I9f6382909ac0661323db54f160f1350cb8bd8153
CRs-Fixed: 2945318
2021-07-10 13:30:29 -07:00