提交图

13372 次代码提交

作者 SHA1 备注 提交日期
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
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