Commit Graph

80 Commits

Author SHA1 Message Date
Edayilliam Jayadev
17ecd7493a qcacmn: Enable Spectral feature for Pine
1) Enable DDMA support, FFT bin length adjustment SWARs
2) Skip 16 bytes of padding added after Spectral summary report.
3) FFT report header length is 24 instead of 16 in Pine.
4) Max FFT size is changed to 10.

CRs-Fixed: 2608215
Change-Id: If32a8995f814140f5b61041031fb842d01d24c94
2020-02-01 06:25:04 -08:00
Edayilliam Jayadev
b3a66311cc qcacmn: Add Agile channel width to SAMP message
Add a new member to SAMP structure describing the channel width of
Agile Spectral scan.

Change-Id: Ib27fe9ed63bf8f89c59762150fb58943e6bcf7ea
CRs-Fixed: 2582670
2019-12-12 18:14:27 +05:30
Shwetha G K
7887593414 qcacmn: Log Spectral FFT timestamp WAR parametrs
Log Spectral FFT timestamp WAR related parameters

Change-Id: I11e3107f41049e9fb05c3f9f7960279b88392598
CRs-Fixed: 2556803
2019-12-03 04:52:57 -08:00
Shwetha G K
8b236c153f qcacmn: INI support to poison spectral buffers
Add INI support to enable the poisoning of spectral buffers during init

Change-Id: I599f7d85a4756a216d24144e1e8bf2a113a26abb
CRs-Fixed: 2554855
2019-12-03 03:26:44 -08:00
Shwetha G K
8db4b4ac32 qcacmn: Control path support for Spectral DMA debug
All gen III chipsets use Direct-DMA mechanism to copy Spectral reports to
the Host for further processing. This mechanism involves ring and buffer
management in the Host, FW, and uCode, where improper/incomplete DMA and
improper tail update issues are seen. DBR framework provides support to
debug such issues. Add Spectral control path support to facilitate the
configuration of these debug options.

CRs-Fixed: 2478596 2478595
Change-Id: I094616c4137145389b6984ccab933e5ebd0aa1ab
2019-12-03 03:26:22 -08:00
Uraj Sasan
4e893b176b qcacmn: Support WIN WLAN Single module
QCA_SINGLE_WIFI_3_0 directive is used to build
single wifi module, it is disabled by default.
This is intended for used in whunt case,the default
driver still uses separate spectral modules.

Change-Id: I6d0d66ade3784f7f4c0a3f322db2e79cbc246d56
2019-11-26 23:19:53 -08:00
Wu Gao
a32b831887 qcacmn: Not register spectral to dbr when load wlan
When loading wlan host, memory alloc takes too long when registering
spectral to direct buffer rx component and affect wmi ready event
handling. So avoid to register spectral to dbr when loading wlan.

Change-Id: If48aab2cf424c41af1427f350734690918291d69
CRs-Fixed: 2558477
2019-11-25 16:15:44 -08:00
Edayilliam Jayadev
97b8676b4e qcacmn: WMI changes for Agile Spectral
1) Add Spectral scan mode and agile center frequency in WMI
   commands to indicate the current mode.
2) Obtain the Agile Spectral capability from the chain mask table.

CRs-Fixed: 2455967
Change-Id: I88ba6fc1ecf9b530a6b516d0c1e4ce88702c6d1f
2019-11-12 04:03:58 -08:00
Krishna Rao
5304724e59 qcacmn: Add Agile Spectral frequency to Spectral SAMP message
Add Agile Spectral frequency to Spectral SAMP message and populate the
same. This coexists with the pre-existing operational frequency in
SAMP message for the sake of flexibility.

Change-Id: Iadb8efeaac924df5b0ac9a83f630206b2ef93052
CRs-Fixed: 2545763
2019-10-27 17:28:49 -07:00
Edayilliam Jayadev
faeec1bf8d qcacmn: Add separate aSpectral cap for 160, 80p80 and non 160 mode
Some chip sets don't have the capability to run agile Spectral with
160/80p80 modes. For this add separate agile Spectral capability for
160 MHz, 80p80 and non 160 MHz modes.

CRs-Fixed: 2536823
Change-Id: Ic5b2335e3183688b7a007cf0380f0c3644e50219
2019-10-04 00:37:34 -07:00
Edayilliam Jayadev
b38cb7a8f0 qcacmn: validate user given agile center frequency
Validate user provided agile center frequency and throw
an error if it is invalid.

CRs-Fixed: 2529280
Change-Id: Ibb43dda98d29d8bc8360d1a204c67b64ca987ca6
2019-10-03 12:34:44 -07:00
Krishna Rao
54a3931f9f qcacmn: Add and populate Spectral pri80 indication
Spectral generation III hardware sets the Spectral primary 80 MHz
(pri80) indication in Spectral Summary reports to inform software
whether the Spectral sample was gathered on the primary 80 MHz
segment. But this may also be set in the case of Spectral scans
intended to be carried out on the Agile frequency or secondary 80 MHz,
due to a channel switch of the Spectral chain from Agile/secondary 80
MHz to primary 80 MHz. Software can ignore samples for which the pri80
indication is set for Agile mode or for secondary 80 MHz in normal
mode.

Add and populate fields for pri80 indication, one intended for primary
80 MHz/Agile and the other for secondary 80 MHz.

CRs-Fixed: 2524733
Change-Id: If592d664cebfe1e08026e55d4031c74d9a9db2e0
2019-09-28 23:41:01 -07:00
Wu Gao
d45d248743 qcacmn: Register to direct buffer rx with QCA6390
Register spectral to direct buffer rx with QCA6390.

Change-Id: Ib07fc36faf6ba4cc5aff9203d70aef732bb703e3
CRs-Fixed: 2497826
2019-09-16 00:38:24 -07:00
Edayilliam Jayadev
499d29e713 qcacmn: Add API to get center frequency of sec80 seg
Add helper API to get the center frequency of secondary 80 MHz
segment. Make this API available to Spectral target if layer
via rxops.

CRs-Fixed: 2523690
Change-Id: If1cad90d9b27d1461e802b921aecda07031b1e0b
2019-09-11 18:40:28 -07:00
Edayilliam Jayadev
9217a212bb qcacmn: Add error handling in the Spectral control path
Add an attribute which describes the error code
in the response to set config, start scan and stop
scan.

CRs-Fixed: 2500481
Change-Id: I491cd6e061d2d08ceb4d9af2a7de5223e229c280
2019-08-29 12:51:37 -07:00
Edayilliam Jayadev
8e74a62e72 qcacmn: Change Spectral control path to support Agile mode
Modify Spectral control path APIs to support Agile mode.

CRs-Fixed: 2450620
Change-Id: Id6cf48c1288b157932ab5ce0535293e466a87783
2019-07-27 00:31:31 -07:00
Edayilliam Jayadev
cd6f190963 qcacmn: Make RX path changes for Agile Spectral
Change Spectral report processing logic to handle
Agile Spectral reports. 160 MHz state machine is not
affected by Agile Spectral reports.

CRs-Fixed: 2458359
Change-Id: Iead6427f57edddd61f7d64a961cc6d936d54ab9e
2019-06-21 03:09:19 -07:00
Edayilliam Jayadev
14f9bd4194 qcacmn: Spectral control path changes
Add a new request structure for Specteral control path.
This structure packages all the commands and their
required inputs. Response to the commands are filled
in this structure by the command handlers in lower
layers.

CRs-Fixed: 2446466
Change-Id: I3113e8721382d284b4e03e0f8fdab1e68d5cfaa1
2019-06-08 06:29:44 -07:00
Edayilliam Jayadev
327257e9dd qcacmn: Public definitions for agile Spectral
Add agile Spectral capability, Spectral scan frequency parameter,
and Spectral mode.

CRs-Fixed: 2446467
Change-Id: I8e82469bb362228a029583ec4b7a29b2404e47df
2019-06-08 06:29:40 -07:00
Wu Gao
da8a7e60e5 qcacmn: Cleanup CONFIG_MCL in spectral scan
Use new macro "SPECTRAL_MODULIZED_ENABLE" to replace "CONFIG_MCL" and
"CONFIG_WIN" in spectral scan component.

Change-Id: Ib0167fa7b7cb08efde8d690f24eff85dd21897a1
CRs-Fixed: 2444204
2019-05-20 22:15:52 -07:00
Edayilliam Jayadev
b292dd7b1a qcacmn: Use common Spectral config definition
Today Driver and applications maintain a separate copy of
spectral config definitions, which is error prone. Solution is to
expose the definitions via a header file from driver and include
them in all applications using Spectral.

CRs-Fixed: 2432011
Change-Id: I107c2db05e1cb71b379d6f15a282a889882da2f8
2019-05-01 00:39:58 -07:00
Edayilliam Jayadev
f6e599fbad qcacmn: Use common Spectral SAMP message definition
Today Driver and applications maintain a separate copy of SAMP
message definitions, which is error prone. Solution is to
expose the definitions via a header file from driver and include
them in all applications using Spectral.

CRs-Fixed: 2431820
Change-Id: Icf7e6d6bfa1e7bfaa1f2cb4756e69edbac6bfb33
2019-04-30 20:45:20 -07:00
Krishna Rao
964b395409 qcacmn: Add rate limited variants of Spectral logging functions
Add the rate limited variants of the QDF trace based logging functions
for Spectral. These include the sub-variants with and without
file/line information.

Change-Id: I56be5dcdfb070e8212c4e9a7e1c1140bfdfaae05
CRs-Fixed: 2426985
2019-04-27 13:07:43 -07:00
Kai Chen
52ef33fca3 qcacmn: Support enhanced Rx capture
Support Rx capture mode to deliver first 128 bytes of
each MSDU, along with some meta data.

Change-Id: I1ffa8b1a029d46f68aa78520bacc019de8af7a82
2019-04-19 04:08:56 -07:00
Abhiram Jogadenu
d2077da875 qcacmn: Add direct rx buffer changes for CFR requirements
CFR requires to configure the number of DBRs that can be packed
in a single DBR event. Currently, this is fixed value.
Make this configurable at the time of registration.

CRs-Fixed: 2415489
Change-Id: Ifcd606641f986a5345f8ccb361c3f45db07fdc37
2019-04-02 15:16:01 -07:00
Debasis Das
daec45f472 qcacmn: Enhancement of OS abstraction framework
The OS abstraction API's have been inlined.Necessary
changes in the build scripts are needed for using
the new framework.

Change-Id: I2b78a994be6edfea2253037f8de99ba6b6a3c80d
2019-03-17 08:46:02 -07:00
Kiran Venkatappa
6c879d4c76 qcacmn: Add direct rx buffer changes for CFR requirements
CFR needs to correlate data received from direct dma ring and WMI event
for tx completion. These two events can come in any order. To facilitate
correlation CFR module has to hold on to the buffer until both events
are received and then replenish buffer back to direct dma ring. To
facilitate this requirement direct rx buf module is modified to change
callback return to bool to indicate whether buffer can be replenished
immediatley or not. Also add API to indiciate buffer release/replenish
later.

Change-Id: I40d3fdff82fd2828ada14b584da33a66052c6773
CRs-Fixed: 2403398
2019-03-04 04:00:47 -08:00
phadiman
515e9989a0 qcacmn: Add target type checks
spectral register and unregister is
supported for QCA8074, QCA8074V2 and
QCA6018

Missing target check in spectral un-
register function lead to memory leak
issue

Add missing target check in spectral
unregister to resolve the leak

CRs-Fixed: 2401813
Change-Id: I04283eaacc2d51934fb08ada46bca25d43c1dfa4
2019-02-27 09:56:07 -08:00
narayan
b7293e46c3 qcacmn: Spectral Kbuild changes for CFR
Including CFR libs in spectral's ko.

Change-Id: I86cbf3137df0222e06786e2239359aac425e935a
CRs-Fixed: 2397716
2019-02-22 22:52:23 -08:00
Abhiram Jogadenu
d81f5b148d qcacmn: hal and spectral kbuild changes for CFR
Adding hal support and including CFR libs in spectral's ko.
CRs-Fixed: 2372061

Change-Id: I7545c594fd2a004f9d34835414549bd51ff09e4f
2019-02-20 06:21:12 -08:00
Madhvapathi Sriram
65c8e4be73 qcacmn: Remove error log for qdf_mem_malloc in spectral files
qdf layer already has the error trace

Change-Id: Ia8314900f564369f51fd79cd97f3a9dba5d54a1b
CRs-Fixed: 2376437
2019-02-09 09:45:25 -08:00
Edayilliam Jayadev
d4b7e3b572 qcacmn: Populate spectral capability and send via cfg80211
Populate Spectral capability structure with scaling parameters
from extended service ready event parameters. Send the spectral caps
via cf80211 interface.

CRs-Fixed: 2379652
Change-Id: Id0372bdd40843c2101df32d2e71920027a24909f
2019-02-05 04:02:20 -08:00
Edayilliam Jayadev
2bee1aa8ad qcacmn: Add unregister API for direct buf ring
Add Unregister API to de-register and free resources in direct buf
module. Existing logic of freeing all resources as part of pdev destroy
does not take care of soc_start and soc_stop scenarios. Add this API to
enable modules to de-register as part of soc_stop and register during
start.

CRs-Fixed: 2385313
Change-Id: Ibe6f6bc5f4bd2acc5a9fe71eee09c151853073bc
2019-02-01 10:33:51 -08:00
Balamurugan Mahalingam
2a400f75d8 qcacmn: Fix compilation issue while enabling kernel IOMMU config
pld header files come from a different path for WIN case. Include
the WIN pld header files path to INCS.

Change-Id: If84398944b0102024a6230ba8873f25178396c87
2019-01-31 07:51:41 -08:00
Srinivas Pitla
39a9222d27 qcacmn: VDEV MLME SM changes
1) Fixes to enable VDEV MLME SM with legacy code
2) Define/Enable PDEV MLME component object.

Change-Id: Ieb87e5b7b70d6bb593ba0950297894a81c6a4feb
CRs-Fixed: 2384173
2019-01-26 19:58:58 -08:00
Shiva Krishna Pittala
66ae9bef51 qcacmn: Check whether Spectral is disabled upon setting rxchainmask
When Spectral is disabled via INI and the rxchainmask is set for
the radio via iwpriv/cfg80211tool, it results in null pointer access
of target_if_spectral pointer. To fix this, add Spectral feature check
inside target_if_spectral_set_rxchainmask.

Change-Id: Ibd43d3bbc8622d4b8502653b55511bb4667cec7a
CRs-Fixed: 2380653
2019-01-23 21:46:39 -08:00
Shashikala Prabhu
6872218ab7 qcacmn: Add makefile changes for directory changes of WMI files
Add makefile changes for directory changes of WIN only WMI files.

Change-Id: Ic66f68cf04ea84f7007a390bf83ebebfde1b338b
CRs-Fixed: 2360078
2019-01-21 01:46:34 -08:00
Shashikala Prabhu
7eb2d08e3b qcacmn: Add INI support to disable spectral feature
Add INI support to disable spectral feature and do not process the spectral
user commands if spectral feature is  disabled.

Change-Id: Id353131675454652d59fd5d5f8fd3d732a07b777
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2343947
2018-12-27 13:28:00 -08:00
Disha Das
df10f65cb7 qcacmn: Move out Crypto files
Move only-win-specific crypto files from cmn_dev to
component dev

Change-Id: I55c2c44100d3a9c0799ccbafd2ce31aa242d3e71
2018-12-25 22:18:43 -08:00
Edayilliam Jayadev
db29e57ef8 qcacmn: remove CONFIG_WIN from Spectral module
Remove CONFIG_WIN macro from Spectral module.

CRs-Fixed: 2369720
Change-Id: I67154341497230c66b3c3f5a09894c8b2eff8bff
2018-12-21 10:05:32 -08:00
Shiva Krishna Pittala
8512b848a6 qcacmn: Use QDF trace APIs for Spectral logging
Component level logging functions of Spectral module are calling
vprintk internally, change them to use QDF trace APIs
so that Spectral logging can be controlled at run time from qdf_cv_lvl.

Change-Id: I8244a29918718c70a8f384ea8df2d5c2ad5bfad2
CRs-Fixed: 2369842
2018-12-21 10:05:25 -08:00
Edayilliam Jayadev
780b60ea90 qcacmn: Remove CONFIG_WIN from spectral
Remove CONFIG_WIN from spectral module to achieve maximum
possible convergence.

CRs-Fixed: 2354105
Change-Id: I59e4d8029fcf096042741573cf020136747e7367
2018-12-11 06:11:13 -08:00
Hariharan Basuthkar
3b381fb22d qcacmn: Fix pktlog issue
ath_pktlog.ko was not being built as part of disabling
Direct Attach(DA) support.

Moved pktlog files and enabled building of ath_pktlog.ko
since pktlog files are common to both DA and offload.

Change-Id: Ibcb559832029ade94f7215ce633cb6dbc83f747e
2018-12-07 13:04:30 -08:00
Basamma Yakkanahalli
5f7cfd49c2 qcacmn: Device and Target type support for qca6018
Added target and device type support for qca6018.

Change-Id: I85382bf053d0a5f34cfaf0cca78a4b66b4265989
CRs-Fixed: 2323023
2018-11-27 00:32:00 -08:00
Visudha Sathurappan
1d0ab1991c qcacmn: Move hal files to DA directory
Spectral Kbuild changes are made since hal
files are moved to a direct attach directory.

Change-Id: Icb2b45dd7a285ccd88fba3b06dc98efd5b89a0c1
2018-11-10 22:50:04 -08:00
Visudha Sathurappan
669c33eea5 qcacmn: Move lmac files to DA directory
* Since LMAC files are moved to direct attach directory
  specral Kbuild changes are made.
* Spectral DA objects are conditionally compiled.

Change-Id: I8724af4b9511539566485e91e05de88c8eb0435c
2018-11-10 22:50:01 -08:00
Visudha Sathurappan
e159d1434f qcacmn: Move WIN DA files in UMAC to DA directory
* DA only WIN files are moved to a DA specific directory
   and are conditionally compiled.
 * DA:- Direct Attach.

Change-Id: Idf704d2e4c9cebf3b02d6cc41d7f9908200af70c
2018-10-26 10:39:31 -07:00
Visudha Sathurappan
7a1c814bc7 qcacmn: Move out spectral DA files
* Move spectral DA files to a DA specific directory.
   The new DA specific directory will be under a new git root.
 * DA:- Direct Attach

Change-Id: Ifd1325bd822015a894ff2a67ed4b53dae24e4a28
2018-10-11 08:56:46 -07:00
Edayilliam Jayadev
2256850e61 qcacmn: 160 MHz/80p80 support for gen III Spectral
For generation 3 spectral reports for the 80 MHz segments
come as part of different events. To deal with this a
state machine is added to report handler. Noise floor
value of the lowest chain in the chain mask is populated
in the SAMP message.

CRs-Fixed: 2236331
Change-Id: Ie24426449cf8503c9d7f7c30ca617a6697ca2b5e
2018-10-05 02:14:07 -07:00
Krishna Rao
3fa42be5d4 qcacmn: Add definitions for Spectral linear bin scaling
Add definitions for Spectral linear bin scaling, including conversion
functions, RF parameter definitions, and hardware generation
specifiers.

CRs-Fixed: 2294176
Change-Id: I6e1eb2ce3ec19d8734facb88c6329fe0026ecce0
2018-10-01 02:37:18 -07:00