Commit Graph

511 Commits

Author SHA1 Message Date
Manjunathappa Prakash
a1f5879d0b qcacld-3.0: Change log level rx_thread affinity info
Reduce log level of Rx_thread affinity info message.

Change-Id: Idd968259770d55f40c8bf17facd803b11783a080
CRs-Fixed: 2281293
2018-07-19 21:33:00 -07:00
Sravan Kumar Kairam
b8bdf522fc qcacld-3.0: Register target if ops for DP control ops
As part of DP-CP interaction convergence register common
converged target if ops for DP control ops.

Change-Id: Ifbe5d20e32262782016c3b0c20a7d2e149a071c3
CRs-fixed: 2273037
2018-07-12 18:02:02 -07:00
Jeff Johnson
7b3c98f329 qcacld-3.0: Clean up the wlan_hdd_power API
Clean up issues identified in wlan_hdd_power.h:
- Make sure all APIs have documentation
- Make sure all APIs adhere to the coding standard

Change-Id: I955b2eaec5f583d8d558df1dac7708b7b455e089
CRs-Fixed: 2275266
2018-07-10 18:41:49 -07:00
Sravan Kumar Kairam
1cbfb00f1c qcacld-3.0: Fix compilation issue for legacy DP
As part of DP CP interaction UMAC pdev objmgr handle is
passed at dp pdev attach. But in legacy DP config handle
is passed which leads to compilation issue. In this change
handle compilation issue by type casing handles.

Change-Id: I40986c8fd07d007aced91621f338f31332be6782
CRs-Fixed: 2260753
2018-07-09 02:02:15 -07:00
Rachit Kankane
45d8b8c46a qcacld-3.0: Allocate MAC Trace buffer dynamically
Allocate memory for g_qdf_trace_tbl buffer dynamically.

Change-Id: I1d5435860a104d86537f42c97336099171c3595b
CRs-Fixed: 2267933
2018-07-08 23:30:39 -07:00
Manjunathappa Prakash
b6b4ff1809 qcacld-3.0: Add CPU mask INI option for Rx_thread affinity
Add INI option to specify CPU mask for Rx_thread and affine
Find current online cores.
During high TPUT,
1) If user INI configured cores, affine to those cores
2) Otherwise perf cores.
3) Otherwise to all cores.

During low TPUT, set affinity to any core, let system decide.

Change-Id: I10e906d484e300bb32491d7d60d717e92b92aaef
CRs-Fixed: 2185186
2018-07-02 12:23:20 -07:00
Abhinav Kumar
50d4dc7645 qcacld-3.0: Fix high latency during BTM roaming
While processing the WMA_ROAM_OFFLOAD_SYNCH_IND event, The
driver takes nearly 150 to 200 msec time to just write fatal,
error and info messages to the kmsg log buffer. Also to get
tx power supplicant runs another thread while roaming. These
cause more latency(300ms) to send WMA_ROAM_OFFLOAD_SYNCH_CNF
message to fw. To decrease roam latency, the driver should
write the only necessary error message to kmsg buffer.

The fix is to change irrelevant fatal, error and info message
type to debug add a check in __wlan_hdd_cfg80211_get_txpower
to reject the request to get Tx power while roaming in progress
otherwise driver will process this and will increase the roaming
latency.

Change-Id: I6c31637f21991b5b29c1e2dd2c2935ae7d4fc3d0
CRs-Fixed: 2251824
2018-06-29 19:37:17 -07:00
Jeff Johnson
ec56395f88 qcacld-3.0: Pass correct pointer type to mac_open()
In cds_open() the call to mac_open() currently passes a pointer to the
gp_cds_context->mac_context field. This is a void * field but
mac_open() expects a mac_handle_t * (aka tHalHandle *). This currently
compiles because mac_handle_t is itself a void *. But in the future
the underlying type of mac_handle_t will change, so pass a pointer to
an object of the correct type to mac_open().

Change-Id: Ie3e54c5288bc7d1e9287f30d997b005a5c8dc2ef
CRs-Fixed: 2268813
2018-06-27 18:58:38 -07:00
Jeff Johnson
ac99e473cd qcacld-3.0: cds: Replace tSirRetStatus with QDF_STATUS
The tSirRetStatus definitions are obsolete, so replace them with
QDF_STATUS definitions in the cds folder.

Change-Id: I689e80fefa0068980a2bf78d2eff13d0892f8d95
CRs-Fixed: 2266521
2018-06-24 11:58:47 -07:00
Ryan Hsu
d0327d53d7 qcacld-3.0: Add SSR callbacks
As CDS is not usable by WIN, add callbacks that are registered
in QDF and correct the module dependencies.

Also rearrange the header file inclusion, due to in cmn project,
the qdf_self_recovery_callback() is moved from qdf_event.h to
qdf_platform.h.

Change-Id: I6d03a1a8df01df4c67a933a11d86147384b656fd
CRs-fixed: 2263625
2018-06-20 04:05:21 -07:00
Nachiket Kukade
e547a48662 qcacld-3.0: Rename legacy definitions containing BPF to APF
In implementation of Android Packet Filter, functions, variables,
definitions are named after BPF, which stands for Berkely Packet
Filter. The term was more appropriate for Link Layer packet
filters implemented in the Linux kernel, known as Linux Socket
Filters.

The term BPF is obsolete now, so rename it with the
appropriate acronym, APF.

Change-Id: I9e02edbc580ffb2c559c8e864f54d255fc2d51a3
CRs-Fixed: 2191530
2018-06-18 16:33:24 -07:00
Zhu Jianmin
26b9b8a963 qcacld-3.0: Avoid recovery during driver unloading
During wlan unloading, target failure is ignored, no recovery
will happen, refer function ol_target_failure

During wlan unloading, cds_cfg may be freed, can't get
cds_is_self_recovery_enabled state correctly

Change-Id: I321d4029f299ef2eb7a6316faaed90f62e091b4e
CRs-Fixed: 2224058
2018-06-15 20:10:27 -07:00
Pragaspathi Thilagaraj
be3b5fad69 qcacld-3.0: Fix uninitialized variable in cds_is_gmac_mmie_valid
In the function cds_is_gmac_mmie_valid, there is uninitialized
use of mic array elements that are passed into the function
qdf_crypto_aes_gmac which causes error report in coverty.

Initialize mic array before it is passed to qdf_crypto_aes_gmac.

Change-Id: I8650cc18d32f297f659ffaac0a514e183823f042
CRs-Fixed: 2233863
2018-06-14 02:56:13 -07:00
Rachit Kankane
0106e38412 qcacld-3.0: Add INI support for number of vdevs
new INI gNumVdevs is added to allow number of VDEV support
for both Host and FW. Also Updated logic to calculate num_peers
and num_tids.

Change-Id: Ife5ff24e9594c8986913c06899ac5e41c83fc75c
CRs-Fixed: 2245506
2018-06-13 15:23:53 -07:00
Alok Kumar
d27a9ed4f7 qcacld-3.0: Fix race vdev down and tx_desc->vdev access
ol_tx_update_connectivity_stats() in tx completion
path updates connectivity stats referenced from tx_desc.
In cases when vdev has gone down and tx completion are received
leads to NULL vdev access. So, add check before accessing vdev.

Change-Id: I402d740ab3ecd923aa1b632bd0c59447599c17df
CRs-Fixed: 2225053
2018-06-08 20:14:06 -07:00
Nirav Shah
bb8e47c200 qcacld-3.0: Featurize packet log
Featurize packet log.

Change-Id: Id747d142d72d02759b20bcf3091fd769261b8f67
CRs-Fixed: 2245422
2018-06-06 23:49:08 -07:00
Tiger Yu
9973e36524 qcacld-3.0: Reset the soc before htc_stop when failure in cds_pre_enable
Reset the soc before htc_stop when failure in the cds_pre_enable to stop
the copy engine which might continue deliver the data to host after
cleaning up the destination ring buffers to avoid the poison overwritten.

Change-Id: I2ef111926af4a889f1ee005681d68eafba7e5564
CRs-Fixed: 2250860
2018-06-06 22:12:24 -07:00
Jeff Johnson
d0a6b2c979 qcacld-3.0: Consistently use CDS logging APIs
The CDS module currently has a mixture of directly using QDF_TRACE
(with an assortment of module IDs) along with using its own CDS
logging APIs. Update the module to consistently use just the CDS
logging APIs.

Change-Id: I5581c960d2b3c973246b44bda3b5bbb740ac3bf3
CRs-Fixed: 2251991
2018-06-06 20:27:52 -07:00
Jeff Johnson
028033d7a0 qcacld-3.0: Add cds_warn() API
The set of cds trace APIs is missing the "warn" API, so add cds_warn().

Change-Id: I1d15f7e01667c5f8ec46c7a7c20d9d8ac4987f28
CRs-Fixed: 2251990
2018-06-06 20:27:48 -07:00
Jeff Johnson
13269963d7 qcacld-3.0: Rename pModuleContext & ppModuleContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pModuleContext & ppModuleContext.

Change-Id: Ib0c37fa2ec295da24cfcdfbf903c6ba121dec04b
CRs-Fixed: 2251989
2018-06-06 20:27:45 -07:00
Jeff Johnson
835b760a1e qcacld-3.0: Rename pGpModContext & pModContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pGpModContext & pModContext.

Change-Id: I077cd7b7b3415c14549f02bb166ec31e79712b7b
CRs-Fixed: 2251988
2018-06-06 20:27:42 -07:00
Jeff Johnson
b3be6a6a36 qcacld-3.0: Rename moduleID & moduleId
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers moduleID & moduleId.

Change-Id: I1bda5cb9d0d57a5af072ed0eb61c7d8125dfd3cd
CRs-Fixed: 2251987
2018-06-06 20:27:39 -07:00
Jeff Johnson
2ccd815bf5 qcacld-3.0: Rename cds_context field wmaCompleteEvent
Per the Linux coding style "mixed-case names are frowned upon" so
rename field wmaCompleteEvent in struct cds_context.

Change-Id: I0b56daf9e387bbc96ddd2b0539ddefb16c82cca2
CRs-Fixed: 2250673
2018-06-06 20:27:36 -07:00
Jeff Johnson
a40e21c1d3 qcacld-3.0: Rename cds_context field pHIFContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHIFContext in struct cds_context.

Change-Id: I023d61b0a26a6f4f35a46e5c04ab63b83182b846
CRs-Fixed: 2250672
2018-06-06 20:27:33 -07:00
Jeff Johnson
830f322c66 qcacld-3.0: Rename cds_context field pWMAContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pWMAContext in struct cds_context.

Change-Id: Ia8fa98366d57ab2bf81549570ef7b1766e579a00
CRs-Fixed: 2250671
2018-06-06 20:27:30 -07:00
Jeff Johnson
528c2cfc31 qcacld-3.0: Rename cds_context field pMACContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pMACContext in struct cds_context.

Change-Id: I50007d80d12276b682237d728435203e455a18c9
CRs-Fixed: 2250670
2018-06-06 20:27:27 -07:00
Jeff Johnson
323a6f06aa qcacld-3.0: Rename cds_context field pHDDContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHDDContext in struct cds_context.

Change-Id: I483c5fa09127753770ec644527989902d842af0e
CRs-Fixed: 2250669
2018-06-04 13:58:51 -07:00
Jeff Johnson
7d63adb741 qcacld-3.0: Remove pVContext from struct _cds_sched_context
The pVContext field of struct _cds_sched_context is written but never
read, hence it is unused, so remove it.

Change-Id: I38a6491fb8581df00af59f7f2bc3f5f88c65b7e5
CRs-Fixed: 2250668
2018-06-04 13:58:48 -07:00
Jeff Johnson
2b6982c4a5 qcacld-3.0: Replace references to cds context typedefs
To align with the Linux Kernel coding style replace typedefs
cds_context_type and p_cds_contextType with a reference to the
underlying struct.

Change-Id: Ifc85a9bbecd29614835ed9e61ab143d0387e82b0
CRs-Fixed: 2250667
2018-06-04 13:58:45 -07:00
Jeff Johnson
cba3b465d2 qcacld-3.0: Rename struct _cds_context_type
Currently struct _cds_context_type is poorly named and poorly defined.
Rename it to struct cds_context to better align with expected naming,
and define it separately from the typedefs which reference it in
anticipation of removing those typedefs in the near future.

Change-Id: Icd096b7e99f13402fb7dab53493e6c55dda4d764
CRs-Fixed: 2250666
2018-06-01 10:57:16 -07:00
Dustin Brown
a22671a594 qcacld-3.0: Remove cds_sys_probe_thread_cback()
The sys-probe feature has been removed. Remove related unused function
cds_sys_probe_thread_cback() as well.

Change-Id: Idb1f090a40c255812e9e8b573cd239503dddac49
CRs-Fixed: 2250488
2018-06-01 05:26:06 -07:00
Dustin Brown
9746bd6a57 qcacld-3.0: Cleanup cds_pre_enable
There are a number of code hygiene issues with cds_pre_enable().
Cleanup some trivial items such as using appropriate logging wrappers,
removing excessive QDF_ASSERTs, using standard naming conventions, etc.

Change-Id: I1a236c4aae9a48195b73943bf83c9498d44501ea
CRs-Fixed: 2249436
2018-05-31 21:31:53 -07:00
Dustin Brown
c30f3933ff qcacld-3.0: Remove wlan_sys_probe
wlan_sys_probe has been superseded by the scheduler thread watchdog.
Since it is no longer needed, remove wlan_sys_probe.

Change-Id: I31e7cf0021774d074a6c94eb6a636e1f87452923
CRs-Fixed: 2249435
2018-05-29 12:27:30 -07:00
Dustin Brown
b309cf139a qcacld-3.0: Refactor CDS logging wrappers
Refactor the CDS logging wrappers to use the new per-level logging APIs.

Change-Id: I13e6d0676250348c07a3abb256d5220b48f77737
CRs-Fixed: 2249432
2018-05-29 12:27:27 -07:00
Jeff Johnson
47486e2f87 qcacld-3.0: cds: Fix misspellings
Address the following issue in the core/cds folder:
CHECK: 'couter' may be misspelled - perhaps 'counter'?
CHECK: 'defintions' may be misspelled - perhaps 'definitions'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'extention' may be misspelled - perhaps 'extension'?
CHECK: 'independant' may be misspelled - perhaps 'independent'?
CHECK: 'initilize' may be misspelled - perhaps 'initialize'?
CHECK: 'minumum' may be misspelled - perhaps 'minimum'?
CHECK: 'recieve' may be misspelled - perhaps 'receive'?

Change-Id: I8586ee1aa0a2ab59faa064ff534148511e662615
CRs-Fixed: 2241940
2018-05-16 18:01:33 -07:00
Jeff Johnson
6bb5d7852a qcacld-3.0: Fix misspelling of 'retrieve'
Fix misspelling 'retreive' => 'retrieve'

Change-Id: I7fd51f73a911e528e2e17088f7a099056478efc8
CRs-Fixed: 2241935
2018-05-16 18:01:07 -07:00
Jeff Johnson
f2cf659cc2 qcacld-3.0: Fix typo "diable"
Replace typo "diable" with correct spelling "disable".

Change-Id: Ifb0d0086c1356a92fd868a22c2f1e1693f66066a
CRs-Fixed: 2238297
2018-05-12 04:30:06 -07:00
Jeff Johnson
4ceed38fbf qcacld-3.0: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I16de4aedcd0f401da8b11fa0ea4989ad1e73bf57
CRs-Fixed: 2238297
2018-05-12 04:30:02 -07:00
Jeff Johnson
6201829f3a qcacld-3.0: Fix typo "retrive"
Replace typo "retrive" with correct spelling "retrieve".

Change-Id: I09ae4ea41031a0a8108e1b60494eedb8751c5b3e
CRs-Fixed: 2238297
2018-05-12 04:29:54 -07:00
Lin Bai
362e52b391 qcacld-3.0: Fix regression of peer map adjustment
Change I8e1b62cd9586f5b2be7acb863a106d2486be1b35 used unassigned
member dp_handle of wlan_objmgr_psoc, that causing failure on DP.

Assign dp_handle properly to avoid it.

CRs-Fixed: 2237072
Change-Id: If230b8a24f5ac9d26ac27f89779c7669cdee5455
2018-05-08 13:47:22 -07:00
Rajeev Kumar
dcce809079 qcacld-3.0: Log reason code while flushing logging events
Log reason code while flushing logging events to precisely know
the reason of failure.

Change-Id: Ibe26563780f165e85490c54c2b4f83d959a3587f
CRs-Fixed: 2235138
2018-05-03 08:04:57 -07:00
Himanshu Agarwal
fc5d66088a qcacld-3.0: Send frames with GCMP MIC LEN if encryption is GCMP
CCMP and GCMP both have different lengths of their MIC part. MIC
length for CCMP is 8 bytes whereas it is 16 bytes for GCMP. When
encryption type is GCMP/GCMP-256, sending packets with CCMP MIC
length causes fw to drop the GCMP encrypted management packets
leading to connection issues.

Send GCMP encrypted frames with GCMP MIC length.

Change-Id: Ia83fa6ffde880fe69e5e4c3e3c3ce9c62ad8fa3c
CRs-Fixed: 2203224
2018-04-26 21:38:55 -07:00
Jeff Johnson
cec401235e qcacld-3.0: cds: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: I5aa9814a2c281f28d84c8775480b454fec8ae9bf
CRs-Fixed: 2229655
2018-04-24 14:48:44 -07:00
Vignesh Viswanathan
cad91325bf qcacld-3.0: Register SCAN queue to scheduler thread
Register the new low priority QDF_MODULE_ID_SCAN queue to the scheduler
thread to handler beacon/probe frames and scan events.

Change-Id: I80c9b6bbbce97942d188f8a7941a3937130d7c8e
CRs-Fixed: 2226222
2018-04-23 00:30:28 -07:00
Nirav Shah
e6c8e64600 qcacld-3.0: Fix to set start/stop threshold from ini
Fix to set start/stop threshold value from ini
for flow control for LL.

Change-Id: Id77e47ea959dfce02cea8b4af648b07b12bb5cdc
CRs-Fixed: 2213290
2018-04-18 18:38:40 -07:00
Kabilan Kannan
fc3a8c0631 qcacld-3.0: Block WMI cmds before issuing HTC stop
WMI cmds should be blocked, before calling HTC stop
to avoid the race condition in the system

Change-Id: I677c55cd96ea6af973595eec1e759641fbea109a
CRs-Fixed: 2193653
2018-04-16 16:56:47 -07:00
Sravan Kumar Kairam
5a8c4ba2e2 qcacld-3.0: Update io smmu mapping to osdev
Update io smmu mapping to osdev during smmu map set up.

Change-Id: I639d4fb515d66c1bafab4303d97546b013fc2078
CRs-Fixed: 2223185
2018-04-14 15:41:53 -07:00
jitiphil
5fdc34704f qcacld-3.0: Prevent access to rx thread after thread shutdown
During unload/SSR, the ol_rx_thread is shutdown and then the
cpu hotplug notifier is unregistered. In other context
cpu hotplug notifier could be accessing the freed contents
of rxthread resulting in use after free.

To avoid this race condition, reject the cpu hot plug
notificaiton in case of a driver SSR in addition to
load/unload.

Change-Id: Iafadff92d5660b979c6cf20a70eef42d22a9e51a
CRs-Fixed: 2219011
2018-04-06 01:58:53 -07:00
Sravan Kumar Kairam
983a445b37 qcacld-3.0: Move IPA SMMU functions to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy HDD IPA SMMU functions to the
IPA component.

Change-Id: I3ac5ebe87cc48913f3e8e075e60737e78664f861
CRs-Fixed: 2177925
2018-03-21 18:57:34 -07:00
Sravan Kumar Kairam
858073b1f9 qcacld-3.0: Remove legacy IPA code from HDD
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Remove the
legacy code from the HDD.

Change-Id: Id4691e0f490c2f9bd9ccc8d5225be32002a5df9e
CRs-Fixed: 2177925
2018-03-21 18:57:20 -07:00