Commit Graph

554 Commits

Author SHA1 Message Date
Arif Hussain
224d38154f qcacld-3.0: Refactor more dfs cfg items
Refactor following DFS cfg items
CFG_DISABLE_DFS_CH_SWITCH
CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME
CFG_IGNORE_CAC_NAME
CFG_DFS_RADAR_PRI_MULTIPLIER_NAME
CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME
CFG_DFS_BEACON_TX_ENHANCED
CFG_DISABLE_DFS_JAPAN_W53
CFG_ENABLE_NON_DFS_CHAN_ON_RADAR

Change-Id: I7f39ed0680919c6a383d9b8bae5864f979b6948c
CRs-Fixed: 2351995
2018-12-04 00:05:53 -08:00
Tiger Yu
13cdcc4194 qcacld-3.0: Change the policy & priority of RX thread
Change the policy & priority of RX thread to improve the RX throughput for
Specified platform.

Change-Id: Ie9df5de6f34d75264c4f3b7bdcb59ab92845a128
CRs-Fixed: 2354502
2018-11-30 06:45:09 -08:00
Wu Gao
51a6356b60 qcacld-3.0: Apply second part of LFR INIs changes
Since refined second part of LFR INIs, apply these changes in
SME/MAC/WMA layer.

Change-Id: I7994a9038d5bd094ce23bcd525ef8f5282974bfc
CRs-Fixed: 2346790
2018-11-29 18:11:48 -08:00
hangtian
e52fa917b9 qcacld-3.0: Fix uninitialized issue while BMI failed
Initialize gp_cds_context->cfg_ctx before any error case happened and
goto err_wma_close. Otherwise, in wma_wmi_service_close, it's trying to
free uninitialized gp_cds_context->cfg_ctx.

Change-Id: I822ecf77676b9d638c414afb544fdb41d7b1d146
CRs-Fixed: 2355042
2018-11-29 18:11:04 -08:00
Pragaspathi Thilagaraj
4b5c0601a2 qcacld-3.0: Add the MLME CFG items to new MLME component
Add the following mlme cfg items:
CFG_AP_PROTECTION_MODE_NAME
CFG_AP_OBSS_PROTECTION_MODE_NAME
CFG_AP_STA_SECURITY_SEPERATION_NAME
CFG_ENABLE_BT_CHAIN_SEPARATION
CFG_AP_QOS_UAPSD_MODE_NAME

Change-Id: Iabdfb7c2492c234cfc3e8f71f33801f0034e578d
CRs-Fixed: 2350626
2018-11-28 14:35:01 -08:00
Rakshith Suresh Patkar
ba55fd097f qcacld-3.0: Flush scheduler message queues before htc_stop
There is a window where wmi commands are reaching HTC while HTC is
getting stopped in other context irrespective of wma_wmi_stop() which
will lead to memory leaks.

To avoid this issue, flush all scheduler message queues before
proceeding to htc_stop.

Change-Id: I4d0742d7b9df6a9b0401fd4e840ff6a667d353da
CRs-Fixed: 2352291
2018-11-22 04:18:18 -08:00
Jeff Johnson
40894141cb qcacld-3.0: Refine sme_send_flush_logs_cmd_to_fw prototype()
There are currently multiple issues with sme_send_flush_logs_cmd_to_fw()
- Although this is an SME API the prototype is exposed in a CDS header
  file
- The API is defined to take a mac context parameter which is unused
- Although the function returns QDF_STATUS, the only caller treats the
  return value as an int errno

To address these issues
- Relocate the prototype to SME
- Remove the unused parameter
- Properly treat the return value as QDF_STATUS

Change-Id: Ia511565ee0b77148ee7cb1bf221e99a5b26ed446
CRs-Fixed: 2353530
2018-11-21 21:20:51 -08:00
Lin Bai
f5e8cc2dba qcacld-3.0: Fix compiler error on UP target
QCA_CONFIG_SMP defined to support some thread scheduling features on
SMP target, while some variants defined only for SMP purpose are
referred out of this MACRO, like is_ol_rx_thread_suspended,
ol_rx_event_flag and ol_suspend_rx_event.

Defines separate functions for SMP/UP target to avoid it.

Change-Id: I01884644b7b77e55514cf00426609643386480e8
CRs-Fixed: 2344683
2018-11-06 21:07:41 -08:00
jitiphil
377bcc1227 qcacld-3.0: Add legacy DP CFG items and APIs
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.

Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
2018-11-01 05:42:07 -07:00
Venkata Sharath Chandra Manchala
598f503a01 qcacld-3.0: Change return status
Return QDF_STATUS as return status
over an integer value.

Change-Id: Ib6083de9b3581e6d92ec18f39ca552a5ae0cfc2d
CRs-Fixed: 2311561
2018-10-26 10:39:16 -07:00
Wu Gao
d7dd6e4157 qcacld-3.0: Rename some ucfg APIs of PMO
To keep names of PMO ucfg APIs consistent, change some of them from
"pmo_ucfg_xxx" to "ucfg_pmo_xxx".

Change-Id: I77165be8c5c408c3f91f84a477c15be1c6ea15e8
CRs-Fixed: 2334109
2018-10-22 03:52:11 -07:00
yuanl
2746f07242 qcacld-3.0: expose TSF to user space by file system on Vipertooth
Enable TSF for Adrastea arch on Vipertooth chip firstly and
expose TSF time mapping via file system

CRs-Fixed: 2320218
Change-Id: Ifda0d8035717ad21edb1a393ef32f1157ab59105
2018-10-13 15:23:10 -07:00
Alok Kumar
62bf738e15 qcacld-3.0: Address the error path during WLAN suspend
In __wlan_hdd_cfg80211_suspend_wlan(), suspend process is bailed out
if hdd_suspend_wlan() < 0 due to which RX thread waits for completion
of ol_resume_rx_event.

Do completion of ol_resume_rx_event in __wlan_hdd_cfg80211_suspend_wlan
for error path to resume RX thread.

Change-Id: I8bf056f82d80e063b2e32a1a6573d7a36ced67dc
CRs-Fixed: 2327238
2018-10-09 21:35:40 -07:00
Liangwei Dong
7191780c4b qcacld-3.0: Register recovering state query callback
Register recovering state query callback to common qdf
platform component to provide recovering state.

Change-Id: If5d1b30f0617d9f8cef41787da1e829a792105f8
CRs-Fixed: 2320797
2018-10-09 12:37:18 -07:00
jitiphil
4c256a34d6 qcacld-3.0: Add IPA CFG items and APIs
Add IPA related INI config to IPA component.

Change-Id: I5bea63b83ddac62504ef38019aa4034c4e18bca7
CRs-Fixed: 2320921
2018-10-05 19:58:00 -07:00
Dundi Raviteja
8e33828530 qcacld-3.0: Relocate HDD ini items
Relocate below HDD ini items as per converged infrastructure.
1. private_wext_control
2. gInterfaceChangeWait
3. gTimerMultiplier
4. g_bug_on_reinit_failure
5. gEnableDumpCollect
6. gMulticastHostFwMsgs
7. wlanLoggingEnable
8. wlanLoggingToConsole
9. gWlanAutoShutdown
10. gEnablefwprint
11. gEnablefwlog
12. gEnablePacketLog

Change-Id: I913bbbcfd94eba609836afdcc134c3ccd7a8f46b
CRs-Fixed: 2322112
2018-10-04 22:52:43 -07:00
Yuanyuan Liu
dfb40924f5 qcacld-3.0: add check for qdf_ctx
Add NULL check for qdf_ctx to avoid dereference.

Change-Id: I75f5f2baafdf6b9c1a7587a3d17934c9246acccd
CRs-Fixed: 2326306
2018-10-03 18:37:25 -07:00
Wu Gao
66454f118f qcacld-3.0: Apply PMO configures
Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.

Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
2018-10-01 18:38:10 -07:00
Rajeev Kumar
9f46158146 qcacld-3.0: Resume wlan threads during shutdown before adapter reset
Resume wlan threads during wlan shutdown process before adapter reset
because adapter reset triggers vdev destroy and vdev destroy sends
del sta self message to lower layers and in absence of wlan threads
this message will not be processed leading to timeout and vdev peer
object leak. Hence add fix to make sure wlan threads are resumed
before resetting adapters during wlan shutdown process.

Change-Id: Idc31b7e41e5d9734b5f6b96fba24948dbfb45c3d
CRs-Fixed: 2321503
2018-10-01 14:59:40 -07:00
Dustin Brown
a2a39dcfd5 qcacld-3.0: Move QDF init to HDD from CDS
QDF is effectively the driver's library for base primitives and data
structures, especially logging. As such, we want to initialize it as
early as possible in the driver loading process such that various
components can leverage this library code as much as possible. To this
end, move QDF init functionality into HDD from CDS, and invoke it first
thing in hdd_driver_load().

Change-Id: I769126ec293f741dced50c0dccc2f49e600aea43
CRs-Fixed: 2317861
2018-09-20 16:40:18 -07:00
Bala Venkatesh
2fde2c61db qcacld-3.0: SAP CFG Items part 2
Add support for the sap cfg items in new mlme component

Change-Id: I80f3f00a85720fe7bec11575fe67dd2f6b9d44b2
CRs-Fixed: 2316643
2018-09-20 10:30:08 -07:00
Yuanyuan Liu
e470977e9f qcacld-3.0: Call icnss API to check if WLAN FW is down
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to set FW down status in
driver side when it receives BEFORE_SHUTDOWN notification.
If wlan driver is de-initialized just before the callback
is called, kernel will panic as driver's context is freed.
This can be avoid by not setting FW status in host driver.
Instead, icnss driver provides an API to host driver to
check FW status and host driver calls this API before any timeout
assert or accessing HW registers.

CRs-Fixed: 2161431
Change-Id: I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
2018-09-19 19:32:46 -07:00
Pragaspathi Thilagaraj
00bd8bc47f qcacld-3.0: Remove legacy ini for chainmask configs
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.

Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
2018-09-11 12:01:28 -07:00
Dustin Brown
94ce20f5a4 qcacld-3.0: Validate context for qdf transition check
cds_is_module_state_transitioning() is effectively a partial
re-implementation of wlan_hdd_validate_context(). Instead of having
multiple copies of this logic, register a new callback in QDF which
simply calls wlan_hdd_validate_context() instead.

Change-Id: If533d72725b4cc9dbe5e4b9c25e499657c8e1376
CRs-Fixed: 2308771
2018-09-05 23:55:35 -07:00
Yeshwanth Sriram Guntuka
cbe6144d29 qcacld-3.0: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301924
2018-09-03 06:48:36 -07:00
Jinwei Chen
1850d9ca80 qcacld-3.0: send deauth if recevie data from non-assoc STA
If SAP receive unicast data from a non-assoc STA, SAP should send
deauth mgmt frame to this STA, add this part logic to serve data path.

Change-Id: I47346e751b89eda77f6d6450218e2b70fe6b4953
CRs-Fixed: 2298550
2018-08-30 07:02:28 -07:00
Dustin Brown
5f8955a994 qcacld-3.0: Add dispatcher_psoc_open() error handling
The error handling in cds_open(), in the event that the call to
dispatcher_psoc_open() fails, is currently empty. Add appropriate error
handing for this case by referencing cds_open() and cds_close().

Change-Id: I2b0d328e365efd67099bb8e6b529720c7b1904c5
CRs-Fixed: 2303785
2018-08-28 18:27:56 -07:00
Dustin Brown
da0262a36f qcacld-3.0: Add mac_open() error handling
The error handling in cds_open(), in the event that the call to
mac_open() fails, is currently stubbed out. Add appropriate error
handling for this case by referencing cds_open() and cds_close().

Change-Id: I6103050d5f2323250c9254a5a3add01fd0d34de3
CRs-Fixed: 2302968
2018-08-28 14:46:21 -07:00
Mohit Khanna
7032200a77 qcacld-3.0: Support for DP RX Threads
Add support for DP RX Threads as a part of the FR. Multiple RX threads
can be enabled from the ini. The code is added in a new DP module
outside of the cmn project.

Change-Id: Ief6ee955f13c5e527986307371b8e45677cb9700
CRs-Fixed: 2256446
2018-08-24 18:35:32 -07:00
Dustin Brown
ffd584f1c2 qcacld-3.0: Check recovery enabled before unloading
In cds_trigger_recovery(), we avoid recovery if the wlan driver is
unloading. While this is ideal for production devices, we would like to
panic in debug builds for offline analysis. Move the check to see if the
wlan driver is unloading to immediately after the check to see if we
should panic or not.

Change-Id: I07cc624295416ca555eb4d847f709cf30e6672bb
CRs-Fixed: 2299903
2018-08-21 20:51:03 -07:00
Dustin Brown
485bbad241 qcacld-3.0: Fix cds_trigger_recovery PERF build issue
QDF_DEBUG_PANIC() is stubbed out for PERF builds, leading to a warning
in cds_trigger_recovery() because @call_info is unused. Extract the
trigger recovery handling into its own function with proper types
instead of void*, and make cds_trigger_recovery_work() a thin wrapper
over this to do the type conversion. This will address the unused
variable warning, and provide stronger type checks via the compiler.

Change-Id: Idf712bdf30d2c6c338219a0327221fe6a0b0b27a
CRs-Fixed: 2299813
2018-08-20 16:55:01 -07:00
Vignesh Viswanathan
21c58cb8c3 qcacld-3.0: Add MLME CFG items and APIs
Add the basic infra for MLME CFG items and the APIs to be used from
other components.

Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825
2018-08-20 05:29:46 -07:00
Dustin Brown
2a24d7c1d9 qcacld-3.0: Add caller/line info to recovery log
To speed up recovery trigger debugging, pass the caller's function name
and line number, such that the group needing to do the initial triage
can be easily identified via the panic message.

Change-Id: Ibac141a62a990adf7a781d7ef64544d92ff4e31b
CRs-Fixed: 2298194
2018-08-17 16:13:13 -07:00
Dustin Brown
e5fa197b07 Revert "qcacld-3.0: Collect F/W dump when host F/W out of sync"
Revert I457c20f6ba908cac32cfc9b27fbaf980f1ec174d, which removes the
check to ensure recovery has been enabled via configuration before
starting the recovery process. This is a critical feature for internal
debugging. The check was moved into cds_trigger_recovery() to prevent
callers from bypassing this configuration and unconditionally asserting
the target firmware. Restore that check now.

Change-Id: Ieb347cfcd0eecd24f005d374c0fead07c34f3705
CRs-Fixed: 2296038
2018-08-15 01:17:47 -07:00
Dustin Brown
6a8d39b6ed qcacld-3.0: Reduce excessive logging
Reduce or removed several excessive log in order to avoid spamming
dmesg.

Change-Id: I818c8f88f66ad11a3c3bc5d5a12799e83c02e5ff
CRs-Fixed: 2296680
2018-08-14 23:32:49 -07:00
Manikandan Mohan
dcd0fdfcc0 qcacld-3.0: Update for converged NAN config params
Update driver to use NAN config params based converged CFG
component. Cleanup hdd config references to nan ini params.

Change-Id: I5af85d68ee53ad557e64523f7a1719e328536926
CRs-fixed: 2290360
2018-08-10 20:45:16 -07:00
Venkata Sharath Chandra Manchala
9ac1620c82 qcacld-3.0: Add conditional QCA6390_HEADERS_DEF flag
Add a conditional compilation QCA6390_HEADERS_DEF flag to compile
htt_rx_restitch_mpdu_from_msdus.

Change-Id: I6b526f2dd5d56338e520ec138512b7cf2d849d0c
CRs-Fixed: 2275699
2018-08-08 12:53:42 -07:00
Zhu Jianmin
994174cf69 qcacld-3.0: Collect F/W dump when host F/W out of sync
When host F/W out of sync issue is found in driver, assert
command is needed to send to firmware to collect firmware dump
even self recovery isn't enabled on Rome,  or no enough
firmware info for debug.

Change-Id: I457c20f6ba908cac32cfc9b27fbaf980f1ec174d
CRs-Fixed: 2289539
2018-08-07 15:57:32 -07:00
Jeff Johnson
4ea7974ce3 qcacld-3.0: Refine the mac_start() API
The mac_start() API currently specifies a void pointer for the "start
params" parameter. But both mac_start() and its caller must agree on
the type of this structure, so replace the void pointer with the
actual struct pointer. In the process rename that struct to comply
with the coding style and relocate it to be a part of the MAC Init
API.

Change-Id: I7fc62abbb17d214551ca6ff0cda8b76d218280e3
CRs-Fixed: 2290807
2018-08-06 20:55:14 -07:00
Dustin Brown
d0bf6403d2 qcacld-3.0: Reduce SMMU mapping logs
Reduce the number of logs during the SMMU mapping process in
cds_smmu_mem_map_setup by refactoring the logic to reduce the number of
branches.

Change-Id: I1a8b0ece31ab51eaf6f96232b284b61d77c83084
CRs-Fixed: 2291034
2018-08-06 19:03:12 -07:00
Nirav Shah
790d943594 qcacld-3.0: Add per module logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Id808fef623b82cec38fc31071ef384f3ff0c92da
CRs-Fixed: 2278874
2018-07-27 09:09:42 -07:00
Nirav Shah
d6fa0f8cd8 qcacld-3.0: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required.

Change-Id: I0c6cd633705e820fcfeb47e3f81a3522c9ef1974
CRs-Fixed: 2274850
2018-07-25 09:40:33 -07:00
Jeff Johnson
62cd6803a7 qcacld-3.0: Remove tHalStopType
There are multiple places where a tHalStopType parameter is passed but
unused. This is a historical artifact, so remove all instances of it.

Change-Id: Iebcbbac580495a376b7456b3a2901f33c2474f83
CRs-Fixed: 2283460
2018-07-24 15:10:49 -07:00
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