Commit Graph

63 Commits

Author SHA1 Message Date
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
Kiran Venkatappa
e7609f7cec qcacmn: Add wbuff include path for spectral compilation
wbuff is a module which maintains a pre-allocated pool of
skbs for each registered module and allocates skbs when
requested. Add wbuff/inc in include path for qca_spectral
compilation.

Change-Id: I6bc9eaca99f7789eaa5cb0500d0258495caf7ea4
CRs-Fixed: 2313935
2018-09-24 05:07:32 -07:00
Srinivas Pitla
be8dac4d5d qcacmn: Define VDEV MLME component object
This change defines VDEV MLME object, and registers with object manager to
be notified on creation/destroy, and also initializes MLME SM

Change-Id: I75bb7de7326e4bbed21ef9653427c4e0694c3ffc
CRs-Fixed: 2307722
2018-09-14 08:16:48 -07:00
Venkateswara Swamy Bandaru
4dd4a62272 qcacmn: Extend target type checks of qca8074v1 to qca8074v2
Extend target type checks of qca8074v1 to qca8074v2

Change-Id: Ie5eba980af03c87f0086ffe2c2c89d7dc86dc71f
CRs-Fixed: 2292315
2018-08-29 03:08:00 -07:00
Debasis Das
c2af7e7648 qcacmn: Wrappers for OS API's used for device cfg
Use appropriate wrappers for OS API's used for
device configuration.

Change-Id: I6a8042175d1a5939742be077fa45e8b776eee180
CRs-Fixed: 2222560
2018-08-17 10:29:26 -07:00
Edayilliam Jayadev
8e3eb14984 qcacmn: Add more fields to SAMP message
Add new fields such as agc_total_gain, sscan_gainchange
to the Spectral SAMP message.

CRs-Fixed: 2291499
Change-Id: Ia6a9fd742c2ee98fd9d7102f0d8c66dcd22a1614
2018-08-14 05:01:16 -07:00
Sandeep Puligilla
6f083bace3 qcacmn: Fix spectral scan compilation issue
Forward declare 'struct wmi_spectral_cmd_ops' in
file wlan_spectral_utils_api.h to avoid
compilation issue when spectral feature flag
is disabled.

Change-Id: Iba8dfbb2007f20d409fbb2d67ee29f702264e50d
CRs-Fixed: 2269005
2018-07-11 23:36:30 -07:00
Edayilliam Jayadev
05f1b59642 qcacmn: Sync Spectral header files
Sync the Spectral header files used by driver and Spectral related
applications.

CRs-Fixed: 2258823
Change-Id: I9a4fb89e9327fffb7478619e63788a1d284f49b5
2018-06-21 21:18:57 -07:00
Jeff Johnson
5d4bd11421 qcacmn: spectral: Fix misspelling of 'frequency'
Address the following issue in wlan_spectral_utils_api.h:
CHECK: 'frequncy' may be misspelled - perhaps 'frequency'?

Change-Id: Ie9675796d12feded20d968d09c439f2e6ac5c9f0
CRs-Fixed: 2241582
2018-05-19 19:40:38 -07:00
Edayilliam Jayadev
8e9eb4f27d qcacmn: Add API to get first vdev of given pdev
Add API to get first vdev of any given pdev.
Change spectral module's API accordingly.

CRs-Fixed: 2234801
Change-Id: I6c5f0aefad4a71610300810531b8c893471306ad
2018-05-14 12:50:52 -07:00
Edayilliam Jayadev
df3100c157 qcacmn: Share Spectral HW gen as part of capability exchange
Spectral scan period is not in terms of tclk periods for
generation 3 Spectral HW. It is directly in micro seconds.
Default value is 224 us. Driver needs to use 224 us as
default value. Application needs to display the unit as
tclk period till generation II and micro second for
generation III. For this driver will be sharing the
Spectral HW generation info to application as part of
the capability exchange.

CRs-Fixed: 2225740
Change-Id: Iaeda8ebb77c2a39824b5f919e8578ff4d56c1aa5
2018-05-14 11:39:29 -07:00
Edayilliam Jayadev
01b4921127 qcacmn: Enable spectral registration to direct dma
Enable registration of spectral feature to direct dma

CRs-Fixed: 2219121
Change-Id: I483e87b9a6c7dcd297bc8b88d24c49e8d80ed547
2018-04-06 13:25:41 -07:00
Shiva Krishna Pittala
d75cdc199e qcacmn: Fix Spectral KW issues
Add null pointer checks in Spectral component

Change-Id: I42eb678f2d90d38c3c8afee8c010970783e66f52
CRs-Fixed: 2206406
2018-03-23 03:18:30 -07:00
Manikandan Mohan
56c2608fa3 qcacmn: Fix export symbol for multi drivers compilation
Update spectral module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I2ae9f4b38d67600f10a9c8991a5095ff50f7dfb2
CRs-fixed: 2197751
2018-03-19 19:58:08 -07:00
Pratik Gandhi
7846150f2b qcacmn: Fix compilation issues for FW header abstraction
fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
2018-03-09 07:28:50 -08:00
Shiva Krishna Pittala
a143f83a27 qcacmn: Add Netlink deinit functionality in Spectral
Define os_if_spectral_netlink_deinit to close the Spectral socket and
de-register the os_if callbacks

Change-Id: I3d054c2a2d630d4d959861d3620592010d04c09a
CRs-Fixed: 2186113
2018-03-06 03:53:47 -08:00
Sandeep Puligilla
4d3daf5cf0 qcacmn: Fix static analysis
Fix static analysis issues on spectral modules.

CRs-Fixed: 2196066
Change-Id: I7588a26108ff3c0b01f480007ffe3d3b91c29b8e
2018-03-02 23:45:16 -08:00
Edayilliam Jayadev
f01a81b79f qcacmn: spectral changes for gen3 HW
Process spectral summary and search fft report for
gen3 spectral HW. Add the frame work to register to
Direct dma module.

CRs-Fixed: 2184019
Change-Id: I4e2869d9c2887767d58685533265cc93c908b697
2018-02-09 09:21:04 -08:00