Commit Graph

13155 次程式碼提交

作者 SHA1 備註 提交日期
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
Jhalak Naik
d75eec9e92 qcacmn: Add helper function target_if_spectral_get_num_fft_bins()
Add target_if_spectral_get_num_fft_bins() to find the
number of FFT bins, from the Spectral FFT size.
It will adjust the number of FFT bins according to
Spectral report mode.

Change-Id: I8f81f2b784d71387f951c38701af6cf4443246e0
CRs-Fixed: 2945316
2021-07-10 13:30:25 -07:00
Jhalak Naik
f0cbec4348 qcacmn: Add API to get correct center frequency values
Add target_if_get_ieee80211_format_cfreq() to calculate
correct cfreq1/cfreq2 values in-line with IEEE 802.11
standard, for Spectral gen3.

CRs-Fixed: 2965699
Change-Id: I9449a6625883c4534a71c2427c84954625bd2977
2021-07-10 13:30:21 -07:00
Jhalak Naik
7a2dbee636 qcacmn: Populate FFT bins start and end indices
Add API to fill FFT bin start and end indices to the
detector map, depending on the values of cfreq1 and cfreq2.

This is to handle samples where the frequency of
Detector 0 is greater than that of Detector 1.
Fill the start and end indices for bins such that
the bin_pwr array is in increasing order of
frequencies but the order of detectors same as
that sent by the HW.

Add API target_if_update_session_info_from_report_ctx(),
to populate the per-session information in the
consume report context. This includes population of
start and end bin indices on per-detector level,
start and end frequencies on per-detector level
and cfreq1/cfreq2 on per-report level,

Change-Id: I044c6961e5f710089b0192876e8717f9127b497f
CRs-Fixed: 2945315
2021-07-10 13:30:17 -07:00
Jhalak Naik
89adfb27cf qcacmn: Find adjusted timestamps in FFT report processing
Find the last_raw_timestamp and adjusted_timestamp
as part of the FFT report processing API.

Change-Id: Ibc7fd524ca897ead3b4b8ca25ba6e6487154305d
CRs-Fixed: 2945307
2021-07-10 13:30:12 -07:00
Jhalak Naik
4f386f38ab qcacmn: Fill per-session info for report and detector level
Fill per-session information in per_session_det_map and
per_session_report_info, with per-report and per-detector
level information, respectively.

These intermediate structures help in filling the
SAMP message.

Change-Id: Ib194fde3567ce76710e010febf729746fedf7a2c
CRs-Fixed: 2945297
2021-07-10 13:30:07 -07:00
Jhalak Naik
399fdd15c0 qcacmn: Add API to fill the Spectral SAMP message
Add a new API target_if_fill_samp_msg, to populate
the Spectral SAMP message and detector level
information, using  pdev_spectral_det_map
and per_session_report_info. Send the SAMP message
to upper layers when completely filled.

Change-Id: If43494fe4a09dbfeb9aea6cb0fa20b406d81e390
CRs-Fixed: 2945282
2021-07-10 13:30:03 -07:00
Jhalak Naik
7dfea024c8 qcacmn: Modify target_if_consume_spectral_report_gen3()
Refactor target_if_consume_spectral_report_gen3()
and divide the functionality into individual
functions.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: I07e753dcaff6e81dfc8739df4e691d871c921581
CRs-Fixed: 2945171
2021-07-10 13:29:59 -07:00
Jhalak Naik
f3008debc9 qcacmn: Modify state machine for 160/80p80 MHz gen3 spectral
A state machine checks if spectral reports are
in order for gen3 spectral 160/80p80. Currently,
this state machine has four states.
Modify this state machine to have only two states and
change associated APIs accordingly.

Change-Id: I754758fdf0529394c63fe371f54db79d52459999
CRs-Fixed: 2945161
2021-07-10 13:29:54 -07:00
Jhalak Naik
a366a6f29e qcacmn: Add structs for Spectral per-detector and per-report info
Define a map with per-detector information, that is
keyed by the detector ID from Spectral FFT report.
Use per-detector information from this map to fill
the Spectral SAMP message.

Define struct per_session_report_info, for per session
info that needs to be filled at report level within
SAMP message.

Change-Id: I9f73bd904cc3d4cac42d21b89b1ceb586da7f911
CRs-Fixed: 2945158
2021-07-10 13:29:50 -07:00
Jhalak Naik
1de0695e47 qcacmn: Modify target_if_process_sfft_report_gen3()
Modify the API to include Validation and
processing of Spectral search FFT report.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: I250867e2c002f491f51a36416ea9ca5ae0bc5508
CRs-Fixed: 2945132
2021-07-10 13:29:45 -07:00
Jhalak Naik
40bce64102 qcacmn: Modify target_if_consume_sscan_summary_report_gen3()
Modify target_if_consume_sscan_summary_report_gen3() to
include validation and processing of Spectral summary
report.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: Ice88b8e74ed714515f21b9b232aa0088fbb54d1d
CRs-Fixed: 2945124
2021-07-10 13:29:40 -07:00
Sandeep Puligilla
9c652b4d8b qcacmn: Implement AP start/stop API in mlo mgr
Implement AP start/stop API in mlo manager.

Change-Id: Ib9fcc4a678ebfe1ad57043891b12fc98998cf931
CRs-Fixed: 2970650
2021-07-10 02:58:34 -07:00
Chaoli Zhou
6f15f8170e qcacmn: Support extended avoid frequency list updating
Add regulatory API to support updating extended avoid
frequency list from HDD to regulatory component. Then
populate the new final current channel list and secondary
channel list.

Change-Id: Icda683c30bd7f8e51a5fd930712658ce35eff418
CRs-Fixed: 2975136
2021-07-09 14:58:04 -07:00
Ramanathan Choodamani
ed652bf38b qcacmn: Receive SCS parameters for building peer database
This change will receive SCS procedure based parameters from
the control path and the peer will start building it's database
for traffic classification using SCS procedures.

Change-Id: I4fd7db595e0645285a95d0561eb46343238fa337
CRs-Fixed: 2970408
2021-07-09 01:56:53 -07:00
Jinwei Chen
7caa52178d qcacmn: skip HW cookie conversion initialization for FTM mode
skip HW cookie conversion initialization for FTM mode

Change-Id: I890dcf270bb42fff87b15c491d7485ef0c9660e9
CRs-Fixed: 2983003
2021-07-08 23:34:02 -07:00
Harsh Kumar Bijlani
2d5c0e2880 qcacmn: Use correct frag index in monitor restitch path
While adding amsdu padding in last buffer (in case of msdu split
across multiple buffers) or single msdu buffer, address of frag at
0th index and size of the current frag index are considered currently.

Instead the address and size at current frag index are to be taken
into consideration. Make change to use correct frag index for amsdu
padding.

Change-Id: I3c5ac11cbdb67bc5264bc62425825583158269a0
CRs-Fixed: 2907489
2021-07-08 11:38:23 -07:00
Jhalak Naik
8cc1b89b17 qcacmn: Optimize the SAMP message structures
Refactor the current SAMP message for memory efficiency
and scalability. Introduce per-span and per-detector
information structures, in place of separate static
arrays for each 80MHz segment in SAMP message structure.
Also, remove members in the SAMP message that are no
longer in use.

The new structures will be under OPTIMIZED_SAMP_MESSAGE
flag, which is unset by default for all profiles, till
development is complete.

CRs-Fixed: 2912498
Change-Id: Ie176f762cee811efa5c257faebc57af7f3166f85
2021-07-08 09:02:27 -07:00
Hariharan Basuthkar
9f2a6a4040 qcacmn: Add wmi_support to send AFC cmd to the FW
Add Host WMI APIs to send the WMI_AFC_CMDID to the FW.

Change-Id: I6849826ab4596f3c76b2dea3cb76116be46b4dd6
CRs-Fixed: 2985645
2021-07-08 04:50:04 -07:00
Yeshwanth Sriram Guntuka
5246cc0bf2 qcacmn: Assert only when unmapped is true in rx_desc
The existing assertions for unmapped variable in
rx descriptor results in an undesired bug_on since
the unmapped value is 0 for active descriptors.

The fix is to modify this assertion so that bug_on will
be triggered only if the unmapped value is 1 in rx
desc.

Change-Id: I03b27e0e42ce3c42b9fa148da9258063b0209b08
CRs-Fixed: 2985248
2021-07-08 00:11:22 -07:00
Santosh Anbu
4d22cbcab3 qcacmn: Add API to get mlo context from objmgr
Add API to get mlo context from object manager.

Change-Id: Ic037d346842d880d8ef54104ea55391bc7058018
CRs-Fixed: 2964102
2021-07-08 00:11:17 -07:00
Santosh Anbu
404f4a0c23 qcacmn: Add mlo mlme ext callbacks
Add template to define and register MLO MLME ext callbacks

Change-Id: Iac1f33bd97afbc9744e5873ca342585cfd4d5c93
CRs-Fixed: 2964102
2021-07-08 00:11:12 -07:00
Bapiraju Alla
a62a30a938 qcacmn: Select partner link information based on best link score
Add API to get partner links information to proceed for ML connection
in best links selected in ML scoring.

Change-Id: Ief13bc19d8e44af601e2fe6397112d841bfcce28
CRs-Fixed: 2961883
2021-07-07 11:24:42 -07:00
Bapiraju Alla
fccacb7dd3 qcacmn: Update BSS score calculation for 11be
Update BSS score calculation to consider 11be parameters

Change-Id: I4e017ccdc7e3e62f9962d6d369dd6aecd85e47fe
CRs-Fixed: 2961896
2021-07-07 11:24:38 -07:00
Bapiraju Alla
561025df10 qcacmn: Add support to RNR and multi link IE parsing for ML scoring
Add support to parse RNS and ML IE and fill ml info in the scan
cache entry.

Change-Id: Ia5fdd0310e20d4435343f0535c071ea3d8510ef8
CRs-Fixed: 2961893
2021-07-07 11:24:33 -07:00
Alan Chen
a390375589 qcacmn: Add resource config flag to enable dynamic_pcie_gen_speed
Add resource config flag to enable dynamic_pcie_gen_speed.

Change-Id: Ieb61ca183b7544aa31dee08f047da1de8bfec21f
CRs-Fixed: 2977084
2021-07-07 06:41:49 -07:00
sandhu
81272da21e qcacmn: Add support to log ICMP packet seq no and ID
Add support to log ICMP seq no and ID in DPTRACE.
Other protcols can use this private proto data to record
there private data accordingly. Currently it is set to 0.
Increase the record entry from 40 bytes to 50 bytes.

Change-Id: Ief5fb26a97408a364af486f3eaec2e108de71d52
CRs-Fixed: 2951916
2021-07-07 04:28:14 -07:00
Vevek Venkatesan
c515aa874b qcacmn: abort system suspend_noirq if wake-IRQ received
Wake-IRQ can be received just before Kernel issuing
suspend_noirq callback, such wake-IRQ would not be
handled by Kernel. So check if any tasklet most likely
CE2 is pending and abort suspend_noirq if true.

Change-Id: Ie3d6de97179aa0d8f383a086f4f8df27d3fc5254
CRs-Fixed: 2981882
2021-07-07 00:16:32 -07:00
Bapiraju Alla
700ff4bdc8 qcacmn: Add INI configuration for MLO scoring params
Add INI parameters to configure MLO scoring parameters

Change-Id: Idbdb6194dcf5230a1e6cefbbaab472bb986fa6a4
CRs-Fixed: 2958676
2021-07-06 17:33:41 -07:00
Vinay Adella
d86a4a60a2 qcacmn: Move NAPI stats to workqueue
When back pressure event comes from FW print NAPI stats in worker
theread to avoid cascading the issue by causing more latency in
processing the CE rings, due to the prints.

Change-Id: Ic846e06ae4b47f8ad46b269c8a175db7ed46b9bf
2021-07-06 11:55:17 -07:00
Shikha Bakshi
ebadbe6b7f qcacmn: Fix format specifier
Replace %pk with %pK.

Change-Id: Iefc1ae6de8a744bdec5a7fdbb749f8580f2c0457
CRs-Fixed: 2900997
2021-07-06 11:55:13 -07:00
Hariharan Basuthkar
72a9b8d0ec qcacmn: Export the API wlan_reg_set_ap_pwr_and_update_chan_list
Export the API wlan_reg_set_ap_pwr_and_update_chan_list so that it can
be used by APIs outside the UMAC module.

Change-Id: I5205f22bb9d6c4e28688c2db03478d46e6a3d200
CRs-Fixed: 2984261
2021-07-06 11:55:08 -07:00
Abhishek Singh
62fe3e3986 qcacmn: Trigger panic on CM active command timeout
Trigger panic on CM active command timeout.

Change-Id: I5013d2141dc2f0c9c9d1ed762b126e9d41fb7220
CRs-Fixed: 2983061
2021-07-06 06:53:47 -07:00
Aakanksha Doda
e175d5124c qcacmn: Add cmn_dev changes to get ANI status from FW
Add changes to send a command and in return, get an event
giving ANI status from FW.

Change-Id: I327e6134fef17bc4dc98b99d1ca4bc4d0a039625
2021-07-06 06:53:43 -07:00
Sajini R
75b10f2ab7 qcacmn: Update PCI SOC revision details to wifi driver
Update PCI SOC revision details from cnss2 to wifi driver.

Change-Id: I43e5f62fc79e2fe937e31134cdcc452381d20a14
2021-07-06 04:38:49 -07:00
Surya Prakash Raajen
86ea3e3a8f qcacmn: Add enum support for soft chainmask
TLV targets support updating tx chainmask(soft-set) using 
PDEV_PARAM_TX_CHAINMASK param. Update host enum accordingly to
use this for setting soft chainmask.

Change-Id: Ic5362fb8c79f07cbd83328b786b5930f75d2a084
CRs-Fixed: 2976914
2021-07-06 04:38:45 -07:00
Vevek Venkatesan
723721e67f qcacmn: add CDP reason code support for send_delba
Add CDP reason code support for sending DELBA request,
so protocol layer can make decisions for special cases.

Change-Id: I4e4b2e7f7232a8ab12d4c7838f97908f481dc787
CRs-Fixed: 2983553
2021-07-06 02:16:09 -07:00
Yu Wang
98a3fceeb3 qcacmn: Enhance DCS event handler to support AWGN event
Handle DCS-AWGN event and take actions accordingly:
For STA mode, if the interference locates on primary 20MHz,
disconnect from AP; otherwise, find a max interference free width
and trigger channel change.
For SAP mode, if the interference locates on primary 20MHz,
try to select a random interference free channel and trigger channel
change (stop SAP if no channel is selected); otherwise, find a max
interference free width and trigger channel change.

Change-Id: I33e79f454b459b12ad84f8b0f3259403037464ee
CRs-Fixed: 2958675
2021-07-02 19:02:13 -07:00
Abhishek Singh
61d75799c8 qcacmn: Add new reason code in qdf_hang_reason
Add new reason code QDF_VDEV_SM_OUT_OF_SYNC, in qdf_hang_reason.

Change-Id: I528fa1d2dc32ff8d8e4b7e38f16bce04cda48b5b
CRs-Fixed: 2982366
2021-07-02 13:54:08 -07:00
Ruben Columbus
1be92c16c8 qcacmn: correct tid boundaries on error
add >= sign on values of tid where DP_MAX_TIDS is missused

Change-Id: Ib50f65705835f69ff3ca5c2b2a3edb7f8064adeb
2021-07-02 11:44:12 -07:00
Krishna Rao
e49588b31e qcacmn: Add RL variants for MLO QDF trace APIs
Add missing ratelimited variants for MLO QDF trace print APIs.

Change-Id: I05e3232bf7d40e13b201d13f92ebe35a93bc71dd
CRs-Fixed: 2982212
2021-07-02 11:44:07 -07:00
Hariharan Basuthkar
140f495b6c qcacmn: Export ucfg_reg_get_cur_6g_ap_pwr_type to use outside UMAC
Export the ucfg API ucfg_reg_get_cur_6g_ap_pwr_type, so that it can be
used by the APIs outside the UMAC module.

Change-Id: I46a23f2d3a2545dcc07373f664b419c125f557e1
CRs-Fixed: 2981562
2021-07-02 09:41:42 -07:00