Commit Graph

35 Commits

Author SHA1 Message Date
Linux Build Service Account
ff323f757d Merge "qca-wifi: Handle capture interval and capture duration for RCC" 2020-03-24 00:13:59 -07:00
Linux Build Service Account
a8200ea0e5 Merge "qca-wifi: RCC cannot coexist with M_TX_ACK mode" 2020-03-24 00:13:58 -07:00
Adwait Nayak
c7c91947c2 qca-wifi: RCC cannot coexist with M_TX_ACK mode
Coexistence of RCC and M_TX_ACk mode is not supported

Change-Id: Ib5b5432f991e0cf5213f2d630f9322a3603ed088
2020-03-22 10:15:32 +05:30
Adwait Nayak
25eea0893c qca-wifi: Handle capture interval and capture duration for RCC
FW may limit the interval and duration during which HW may
use user provided values and attempt to capture.
These values range from 1 us to roughly 16.8 sec.
Max value is 0xFFFFFF which is 16.777215 sec.

Add check to make sure that capture duration cannot exceed
capture interval.

Change-Id: If6f75c737f8ac8cda527eee60f0e67d75e3b5420
2020-03-20 13:49:49 -07:00
Padma Raghunathan
c68c9e44b3 qcacmn: Add protection while accessing cfr lookup table
Protect access to cfr lookup table, since error handling
mechanism attempts to cleanup CFR entries in timer context,
this leads to contention between bottom-half and timer.

Change-Id: I6a414e0da883250a90451824367c12fcca33c27e
2020-03-20 13:42:36 +05:30
Adwait Nayak
412cc0e7e1 qca-wifi: CFR: Update RCC specific debug counters
RCC specific debug counters has been moved to DP layer.

Update capture BW from RXTLV instead of VDEV
Capture BW is the bandwidth at which Station operates.

Error handling for pdev referencce count.
Add support to clear CFR ppdu counters
Use same event ENUM for HKV2 and Cypress.

Change-Id: Ic1f5da16c5c1ac5893dce1023eb57f96d78d4cfa
2020-02-25 12:17:35 +05:30
Adwait Nayak
862792aa58 qca-wifi: CFR: Fixes during initial WMI being sent to FW
1. Change the default values of TA\RA entries

Host sends out one default RCC setting to FW during
the initialization of target specific CFR component.

Change the default setting of TA, RA address from
00:00:00:00:00:00 to FF:FF:FF:FF:FF:FF and TA_MASK and RA_MASK
should be 00:00:00:00:00:00. This will avoid
the scenario where the system will allow all packets
irrespective of the filter settings provided by the user.

2. In case default configuration is being sent to the FW
successfully during CFR init, those configurations will
be updated as part of global config. So that it can be
reflected as part of rcc_config_details command.

3. Code clean up

Change-Id: I719ddeee48f14992b2210562596b1ea3d61fcc1c
2020-02-20 17:51:08 +05:30
Adwait Nayak
22aef01be3 qca-wifi: CFR: Introduction of new flag to enable RCC
A new flag "is_cfr_rcc_capable", is introduced to enable RCC.
Currently, this flag is enabled only for QCA6018.

Change-Id: Ifdd1922c655c0bb743147e3f51d3ca32cac3dd2e
2020-02-12 10:13:48 +05:30
Adwait Nayak
aac53d0bf9 qca-wifi: CFR: Add enhanced debug counters
Add counters for following scenarios -

1. Ucode aborts DMA of CFR data when a higher priority TX/RX activity
needs to be scheduled, add counters in host to identify the no. of
aborts.

2. Add counters to track the total no. of TX-based CFR captures since
wifi up.

Change-Id: I3c0e0e68651348c3484a14dfcd1f664962c8647f
2020-02-12 10:12:53 +05:30
Padma Raghunathan
fe7f2fbf6a qca-wifi: CFR: Cleanup unused code/datastructures
1. Remove the handler that flushes all pending DBR and txrx
events, since that is not being used.
2. PPDU TLV subscribe logic is integrated with ol stats layer,
remove redundant subscriber alloc.
3. Downgrade debug level of timer prints, as error handling timer
fires every 3 secs.

Change-Id: I2a5d2ae10ebee069dd30c1ed87d6560b30f77427
2020-02-12 10:08:14 +05:30
Padma Raghunathan
cc9e0e7376 qca-wifi: CFR: LUT ageout timer fixes
In CFR error handling lut ageout timer, following fixes are made -
1. Fire error handling timer every 3 secs
2. Start/Stop timer only when pdev->cfr_rcc_mode transitions from enable
to disable and vice versa
3. Stop/Free timer during deinit of pdev, incase user issues wifi down
without disabling cfr

Change-Id: I2f9819706d1440d675edfdd933839dbc3ebddbb0
2020-02-12 09:20:00 +05:30
Adwait Nayak
172ff30046 qca-wifi: CFR: Fix in flush pending DBR event logic
Do not flush the DBR event for which the corresponding
TX/RX event is yet to be received.
Once the new PPDU TLV is received, flush the previous
pending DBR events.

Change-Id: I4495a45db139128d2af01f79744021c6ad6bf322
2020-02-06 14:43:26 +05:30
Linux Build Service Account
fe39b24b66 Merge "qca-wifi: CFR: Remove dp_handle references in CFR" 2020-01-13 13:39:06 -08:00
Linux Build Service Account
84b905d059 Merge "qca-wifi: Display CFR debug counters in default loglevel of CFR module" 2020-01-13 13:39:05 -08:00
Adwait Nayak
a58487f97b qca-wifi: CFR: Fixes in error handling path
1. In CFR RCC mode, when ucode aborts DMA of CFR data, 2 (or)
more PPDU status TLVs are likely to have same phy_addr+cookie in
RX location TLV, so the host will be flushing out the older PPDU
status TLV events instead of DBR events in LUT table,
since DBR events signify the actual DMA completion.

2. Same fix has been made for LUT entry ageout logic.

Change-Id: Ifc0717e97d21ba3463cc2f5ceb2f22a657177002
2020-01-10 12:54:25 +05:30
Padma Raghunathan
82cc8e46d8 qca-wifi: Display CFR debug counters in default loglevel of CFR module
Change log level of CFR debug counters from QDF_TRACE_LEVEL_INFO to
QDF_TRACE_LEVEL_ERROR

Change-Id: Ib0d36ec458de2d8d562d34a80ab8128f934ad459
2020-01-10 11:38:16 +05:30
Padma Raghunathan
1a8dfb04ef qca-wifi: CFR: Remove dp_handle references in CFR
This changes removes references to dp_handle in CFR component, to ensure
consistency with FR#56622.

Change-Id: I3539e958ed3fe4ef68f22adf473349b5639cb4b1
2020-01-07 23:57:43 +05:30
Adwait Nayak
1a4ad8923f qca-wifi: Enhanced channel capture UCFG framework
Framework to accumulate RCC configurations until user issues commit
command. Once commit command is issued, all the gathered configurations
are sent to FW through WMI fixed and variable TLVs.

Change-Id: I84fec42d22a3b4eceb710b72d89a7c3047fed1f6
CRs-Fixed: 2582833
2019-12-26 20:14:00 -08:00
Padma Raghunathan
5df9a9481d qca-wifi: CFR: Implementation of CFR for QCA6018 platforms
Channel Frequency Response(CFR) captures FFT bins corresponding to a PPDU
received and this is relayed to user space application along with
additional information about the PPDU gathered in the host. Usecases of
this feature include location sensing, motion detection.

Change-Id: If0da492bc1fcc0fc2b6e42339c56f9a54ee813f7
CRs-Fixed: 2541307
2019-12-26 20:13:08 -08:00
Vikram Kandukuri
9782ab28b4 qca-wifi: Correct meta data version for CFR captures wiht AoA
For new CFR captures with AoA data, Meta data version is 2.
Updating meta data version to 2.

CRs-Fixed: 2537866

Change-Id: I4c6cb9775e5a9760630b1f28d61fb4bdfd084c6c
2019-10-03 23:50:53 -07:00
Abhiram Jogadenu
5bf0f819dc qca-wifi: Correct CFR data version
Correct the version where CFR data is being populated.

Change-Id: I4c55b5beefb2f93e09df47162406876a1861fa00
2019-08-29 02:02:03 -07:00
Abhiram Jogadenu
fb6844f781 qca-wifi: Fill extracted phase information in CFR header
As part of FR 56301, phase data is being captured in CFR.
Fill the extracted information in CFR header.

Change-Id: Ia1f6245a1a18d1d11b266328b17e6506bd8439f4
CRs-Fixed: 2501944
2019-08-24 07:41:19 -07:00
Abhiram Jogadenu
ea20fa5e53 qca-wifi: Add support for CFR capture on unassociated clients
As part of FR 56301, add support to capture CFR data for
unassociated clients on its Probe response's ACK

Change-Id: I14a4eead4ceeb3eb21d8f2bdf76007f873db1f4e
CRs-Fixed: 2501938
2019-08-22 11:48:38 +05:30
Himanshu Batra
e460ccec98 qca-wifi: Consolidate IEEE80211_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) IEEE80211_ADDR_LEN to QDF_MAC_ADDR_SIZE

Change-Id: I30790ed7b8e6299353e639fc4cd39f72e8e699cd
CRs-Fixed: 2439274
2019-05-26 21:58:23 -07:00
Vikram Kandukuri
605c8118aa qca-wifi: Fix KW issues in cfr component
Fix Suspicious dereference of pointer 'payload' before NULL check.
Fix 'status' might be used uninitialized in this function.

Change-Id: Ib799043555faafc655919c1e42d0fbc43c716b2f
2019-05-02 17:08:07 +05:30
narayan
80554f5219 qca-wifi: Fix KW issues
Fix KW issue in cfr_common.c and wlan_cfr_tgt_api.c

Change-Id: I23e0ce3bf41ca9e6250800b7945c92ace80f037e
CRs-Fixed: 2439699
2019-04-22 23:21:10 +05:30
Abhiram Jogadenu
c0f1ac1dff qca-wifi: Correct data populated in csi_cfr_header
Two fields got swapped while polulating csi_cfr_header and
a field was missed. Corret and add missing fields.

CRs-Fixed: 2421237, 2421241, 2421209
Change-Id: Ife8ebc663292af021cc4556985c088092509b339
2019-04-08 11:10:36 +05:30
Abhiram Jogadenu
a8065f6377 qca-wifi: Updating CFR's DBR handler API
DBR event handler needs parameters to config number of events to
be packed and timeout until it can wait to pack these events.
Add these parameters in CFR's DBR event registration.

CRs-Fixed: 2415489
Change-Id: Id417221f3bebef40b8f8d75c0365c3c4ec01fec3
2019-03-14 05:56:36 -07:00
Linux Build Service Account
b6db0cb654 Merge "qca-wifi: Fix cfr max clients reference" 2019-03-08 23:05:57 -08:00
narayan
15f9397f82 qca-wifi: Fix cfr max clients reference
Fix cfr max clients ref cnt decrement when periodic
cfr is stopped.

Change-Id: I0f855e3de0f19e45243f1a49e5a5902319328ec1
CRs-Fixed: 2412533
2019-03-08 20:15:53 +05:30
Abhiram Jogadenu
d18e21fcba qca-wifi: Register and correlate dbr and tx events
Register tx and dbr events and extract data required from
these events to pass it on to relayfs.

Change-Id: I9be9d0f9d47fa926406ee525742886d55229bab0
2019-03-07 20:36:56 +05:30
narayan
57cc49dfbe qca-wifi: Fix per peer config cfr stop command
Fix cfr stop wmi command and some other fixes checking for
sanity, error handling.

Change-Id: I9f0939fee2301f85e6e7b3338fd26e84676d7d6d
CRs-Fixed: 2407354
2019-03-04 00:21:34 +05:30
narayan
6ffa911be3 qca-wifi: Fixes needed to enable cfr compile flag
Compilation fixes required to enable cfr compile flag

Change-Id: I0dd739a695d89a0effb6c116919ae915b2e22f0e
CRs-Fixed: 2407354
2019-03-01 22:43:07 -08:00
narayan
70480abe44 qca-wifi: CFR feature Component Support
Add CFR component support for legacy chipsets including
the implementation of stream filesystem interfacing

Change-Id: Id92a4592425e901cc86061ae5eccefc5438efd45
CRs-Fixed: 2397716
2019-02-21 22:28:24 -08:00
Vikram Kandukuri
1f97c2c40e qca-wifi: Add CFR component
Add Channel Frequency Response component,
This provides dispatcher and core API that can
be used by other modules.

Change-Id: I032b312c6b88494756a21afb5a36179bceb2f214
CRs-Fixed: 2372061
2019-02-09 09:50:40 +05:30