Commit Graph

452 Commits

Author SHA1 Message Date
Rajeev Kumar
a6268de325 qcacld-3.0: Register fw down callback with QDF
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.

Change-Id: I86346db08ced59bb5f77c640eb7f9257cc0bb42c
CRs-Fixed: 2203498
2018-03-16 10:35:37 -07:00
Rachit Kankane
0baf6e723f qcacld-3.0: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I400933feecc54b46bd9aebdbc2cb5440c882112b
CRs-Fixed: 2189869
2018-03-15 08:04:44 -07:00
Rajeev Kumar
3f5c593023 qcacld-3.0: Ignore qdf debug fs create failure during init
Debug fs create failure should not fail wifi turn on. Add logic
to allow wifi turn on even if kernel debug fs create API returns
failure.

Change-Id: I02ce1ae4022f6590b29b8666bbe39c7387e8d0dd
CRs-Fixed: 2203329
2018-03-14 15:53:08 -07:00
Rajeev Kumar
807c5f5193 qcacld-3.0: Register fw down callback with QDF
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.

Change-Id: I394860324368d7671f83536791b021109ddb39aa
CRs-Fixed: 2202602
2018-03-14 15:53:01 -07:00
jitiphil
5256306ace qcacld-3.0: Fix access to ol_rx_thread after thread shutdown
Currenty we are trying to access the ol_rx_thread in
ds_cpu_hotplug_notify function after we shut the thread
down in cds_sched_close function

To address the issue keep a NULL check for the ol_rx_thread

Change-Id: Icddd3ace52bbe773790546d1ace1fd463bc1a7e7
CRs-Fixed: 2200501
2018-03-14 01:48:54 -07:00
Rachit Kankane
b103562c27 qcacld-3.0: Add HTC Credit History Feature flag
Add compilation flag to compile out HTC credit History
feature cleanly from the cld-3.2 driver binary.

Change-Id: I5f5e73e430d282c99d3077fb82ed1cb8eb79715a
CRs-Fixed: 2190545
2018-03-08 18:46:38 -08:00
Dustin Brown
0b703ef927 qcacld-3.0: Remove maxWoWFilters and related
Recent changes in Power Management and Offload (PMO) have removed the
need for a configurable maximum number of WoW filters. Remove the
following relevant fields:

 * maxWoWFilters
 * CFG_MAX_WOW_FILTERS_MAX
 * WMA_STA_WOW_DEFAULT_PTRN_MAX
 * max_wow_filters
 * ol_ini_info

Change-Id: I99cc74731d6373258dc65473a8342bda0ab2786b
CRs-Fixed: 2199452
2018-03-05 23:33:27 -08:00
Nirav Shah
eb017befbd qcacld-3.0: Add support for QCA9379 on x86 platform
Add support for QCA9379 chip on x86 platform for
USB and SDIO attach.

Change-Id: I2de81794cd16521097ffa6956a18b4b0fe981d36
CRs-Fixed: 2196757
2018-02-28 05:29:39 -08:00
Venkata Sharath Chandra Manchala
2996517bbc qcacld-3.0: Enable pktlog for Helium
Add Support to enable pktlog through INI
for helium based devices.

Change-Id: I0acfcf1db8c007c5e2ce81fcb1775fd1b7a50570
CRs-Fixed: 2185210
2018-02-28 00:31:24 -08:00
Sravan Kumar Kairam
c1ae71c4cd qcacld-3.0: Add ARP debug stats
Change to collect arp packet stats along with
existing hdd stats to debug arp packet related
issues.

Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019787
2018-02-26 04:07:10 -08:00
Ashish Kumar Dhanotiya
4be2a7b2a4 qcacld-3.0: Validate update avoid frequency channel list
qcacld-2.0 to qcacld-3.0 propagation.

Validate the avoid frequency channel list of
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY command and update the
driver's unsafe channel list with the channels received in the command.

Change-Id: I1a10e668bf6fe6dbb22f7f2f8aef929fc6e7fc65
CRs-Fixed: 2187477
2018-02-26 00:24:11 -08:00
Zhu Jianmin
a2f8e8dbe1 qcacld-3.0: wait tx complete before vdev stop
Before VDEV_STOP is initiated by host, sometimes there are
outstanding mgmt tx pkts left in FW.  need wait all tx
complete,  or peer vdev ref count keep held. In P2P GO/SAP mode,
no wait since wma->interfaces[session_id].delay_before_vdev_stop
is 0, ini relative cfg isn't passed to wma at all.

Change-Id: I1c3d137bb08624e30cc220e0fa0e31e6d6fc8a9d
CRs-Fixed: 2184096
2018-02-13 09:33:52 -08:00
Arunk Khandavalli
a6305a33b6 qcacld-3.0: Converge on Initial Host-FW handshake
Initial changes for the init deinit convergence wherein
service ready, extended service ready and init cmd are
converged.

Change-Id: I1c1fd50f51362f4f09561c259961e6761429fcd0
CRs-Fixed: 2178590
2018-02-03 15:10:39 -08:00
Zhang Qian
47e22cefc3 qcacld-3.0: Add UCFG APIs and public structures for OCB
Add UCFG interface and public structures for OCB feature.

CRs-Fixed: 2177578
Change-Id: Id74df706e658568a0f50a8d953eca3993451f41a
2018-01-29 23:40:32 -08:00
Srinivas Girigowda
80213e5216 qcacld-3.0: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I67ff9972113f95c51214f8d032c2c20d2ba6d195
CRs-Fixed: 2177347
2018-01-26 00:34:22 -08:00
bings
482bae2b2e qcacld-3.0: update target type to tgt_psoc_info of psoc
update target type to tgt_psoc_info of psoc.

Change-Id: I02040feca32a11f48c6464c75ca6741c208bd92e
CRs-Fixed: 2178596
2018-01-25 23:39:21 -08:00
Tang Yingying
bfc451f8ef qcacld-3.0: Set RX thread CPU affinity to all online perf core
Currently cld driver will attach RX thread to only the last perf core when
there is high t-put requirement. If some other processes are scheduled to
the last core,RX thread will be scheduled slowly. Add fix to set RX thread
CPU affinity to all online perf core to improve the RX t-put.

Change-Id: Ib5b56ddea1498df92dd09a1cbc6800cab415a3f3
CRs-Fixed: 2167475
2018-01-19 05:24:43 -08:00
Padma, Santhosh Kumar
0ab7817dc3 qcacld-3.0: Add support for GMAC MIC validation
Add changes to validate MIC for the received protected
MC/BC frames with GMAC group management cipher suite.

Change-Id: Ie5f60674a452d2d930acc9ff9eb55de37645097a
CRs-Fixed: 2164828
2018-01-16 11:29:05 -08:00
Min Liu
81f2ed3f2f qcacld-3.0: Add check for return value
Currently in cds_enable, no check is performed against the return
value of dispatcher_psoc_enable. Add it accordingly.

Change-Id: Ie8119b5581fb13723dd5cd3c7e22477df51005f4
CRs-Fixed: 2168212
2018-01-15 03:41:19 -08:00
Nachiket Kukade
98f562ab2a qcacld-3.0: Skeleton for DISA component
Create a skeleton for the DISA component. This is a CLD
component. Add files for disa core, dispatcher and
target_if. Define DISA related public structures and
objmgr objects. Add API's as stubs.

Change-Id: I63b32a0e7da0283d091815aaccea6b8703f5184c
CRs-Fixed: 2159579
2018-01-09 13:39:53 -08:00
Jiachao Wu
341d07550b qcacld-3.0: Check psoc in de-init process
In the stress test of insmod/rmmod, the object of psoc might fail
to be initialized during initialization. For such case, recovery
process should not be triggered in the de-init process.
Add check for psoc to avoid false alarm.

Change-Id: I71f9eed8596958788f6a3213e7a3bcd9ee346781
CRs-Fixed: 2165620
2018-01-05 01:55:08 -08:00
Kabilan Kannan
973744ade7 qcacld-3.0: Do not BUG_ON, when recovery is started by FW assert
Host driver should avoid BUG_ON, when recovery is
in progress due to firmware assert.
Change the sequence in cds trigger recovery
function to avoid BUG_ON

Change-Id: Ibcce592caf4c4099a9cf3e124c5d2b70134116a3
CRs-Fixed: 2165972
2018-01-04 17:37:40 -08:00
Manjunathappa Prakash
ebdfa7e52a qcacld-3.0: return code from non-void thread function
Return value from non-void cds_ol_rx_thread().

Change-Id: Ia9b5b0e16475b27c5e03da7812299203d4bd4bda
CRs-Fixed: 2162238
2018-01-04 13:47:31 -08:00
Govind Singh
27a7403814 qcacld-3.0: Use HOST defined target type
Target types are moved to target_type.h from hif.h.
Add new target type include for target definitions.

Change-Id: I54185fff428eebf678310f95f59a63db4f82aa80
CRs-Fixed: 2144470
2018-01-03 20:09:26 -08:00
psimha
deea0a130c qcacld-3.0: Add fixes to prevent NULL pdev access on module stop
- Change the order of the deinit code of pktlog
- Change the order of the deinit code of runtime pm

Change-Id: I570b20b247b7892f9bba82f3d3a58aff9af09105
CRs-Fixed: 2160794
2017-12-20 14:10:28 -08:00
Jeff Johnson
876c1a6d35 qcacld-3.0: Use enum QDF_GLOBAL_MODE
Change "qcacmn: Rename enum tQDF_GLOBAL_CON_MODE" (qca-wifi-host-cmn
Change-Id I57933a62f6ce02b6594d97198be8132e61e8d1f6) renamed enum
tQDF_GLOBAL_CON_MODE to QDF_GLOBAL_MODE. Update all references to use
the new name.

Change-Id: I0e806e87a4c4828279dee83450b1fc20a236c9d3
CRs-Fixed: 2158636
2017-12-18 21:48:28 -08:00
Naveen Rawat
bcd3d019d8 qcacld-3.0: Execute sme_stop and mac_stop in mc thread context
sme_stop and mac_stop are accessing share data structures which
create a race condition when it is called from rmmod context.
Change context of sme_stop and mac_stop from rmmod thread to
mc thread.

Change-Id: Ie30f99d6b0c2f7c6cf20371dd66323d156360474
CRs-Fixed: 2148771
2017-12-15 03:42:05 -08:00
Ashish Kumar Dhanotiya
7b1fe06cc7 qcacld-3.0: Add missing reg pairs in driver
Regpair for DM, DO, HN, JM, NA, PA, SN, XA are missing
which results in a crash.

Add regpair for country codes  DM, DO, HN, JM, NA, PA, SN, XA.

Change-Id: I6d29f16a549121b9588d6fb68b78e14375e8eb8e
CRs-Fixed: 2154385
2017-12-11 21:25:58 -08:00
Ashish Kumar Dhanotiya
c759836cff qcacld-3.0: Add regpair for country AR and CL
Regpair for country AR and CL are missing which results in a crash.
Add regpair for country AR and CL.

Change-Id: I219e92cc09d6237774f87f8d0a75d2ddea5d59ef
CRs-Fixed: 2154123
2017-12-07 23:18:51 -08:00
Dustin Brown
44cde35fcc qcacld-3.0: Call new dispatcher enable/disable APIs
The dispatcher life-cycle functions have recently been split, resulting
in new dispatcher_enable and dispatcher_disable APIs. Call these APIs as
appropriate from HDD.

Change-Id: I807070e67811e9d5804a8ffa2d7f7db62efb0908
CRs-Fixed: 2153292
2017-12-07 15:39:03 -08:00
jiad
cd49ec74b5 qcacld-3.0: indicate tkip mic error to protocol layer
Currently tkip mic countermeasure is not supported for Napier. Fix is to
indicate tkip mic error indication to protocol layer so that errors can
be propogated to supplicant.

Change-Id: I8ee94343e76040e360f0887a826c07f98545f71f
CRs-Fixed: 2151984
2017-12-06 06:56:47 -08:00
Mohit Khanna
ca4173ba74 qcacld-3.0: add periodic data traffic stats
Add support for periodic stats for data packets to be displayed in
wlan driver logs.

Change-Id: Iee6759ae75657ae93e94ea1bb1343f2ea489c087
CRs-Fixed: 2120047
2017-12-04 19:47:06 -08:00
Dustin Brown
d33276b0e3 qcacld-3.0: Close cds sched as part of cds_close()
cds_sched_open is called as part of cds_open, but cds_sched_close is
called outside of cds_close. This leads to situations where the CDS
scheduler is started but not properly closed. Move the call to
cds_sched_close into cds_close, such that the CDS scheduler lifecycle is
tied directly to the CDS core lifecycle, to prevent CDS from closing
without closing the CDS scheduler.

Change-Id: I440ec279e6b750a7b41ec05000fc66b6cebdb8d8
CRs-Fixed: 2151049
2017-12-02 06:08:48 -08:00
Kiran Kumar Lokere
a6e01c070b qcacld-3.0: Do not process invalid reg update request
Do not process the reg notifier request if the regulatory
information is invalid

Change-Id: I13e288cd03e3fbdb192733a6675c7ec00e927250
CRs-Fixed: 2145505
2017-12-01 21:40:00 -08:00
Nachiket Kukade
0396b736a8 qcacld-3.0: Utilise new APIs for waiting on events
With current implementation in case of an SSR/PDR threads that are
waiting on events will only get purged after the wait timeout has
occurred, increasing the recovery time for the driver. Utilize new
APIs that maintain a list of events. In case of an SSR/PDR
forcefully set these events.

Change-Id: I83b4f576a65f8da5762288ac8dfccdef7d05d82a
CRs-Fixed: 2045156
2017-11-23 12:02:30 -08:00
Tiger Yu
086b6995fe qcacld-3.0: Fix target_type is incorrect in the hdd_context
The target_type is incorrect in the hdd_context.
Call hdd_wlan_update_target_info after calling bmi_download_firmware,
which will get target_info from the target.

Change-Id: I0fa9834f4adb1fccfbb0d450e2026188bc2be942
CRs-Fixed: 2146174
2017-11-21 05:22:08 -08:00
Dustin Brown
0707ddfedb qcacld-3.0: Stop MC thread on module close
Currently, the MC thread is started once, on the transition from the
uninitialized to the open driver state, and is stopped only during
unload or recovery. Instead, start the MC thread on the transition from
closed to open and stop the MC thread of the transition from open to
closed driver states.

Change-Id: I2b45f95afb99b79f2515275776fe11c9e97bc150
CRs-Fixed: 2113596
2017-11-16 02:14:38 -08:00
wadesong
ae4ffd1f24 qcacld-3.0: Populate proper return value on failure
1) Function return value is not checked after cds recovery work init,
which may result in improper status to be returned. Return an error
status code if cds recovery work init job is not successful so caller
can know something abnormal happened, such as memory allocation failure.

2) Return value should be checked immediately after invoking cds_init
to make sure no improper init happens.

Change-Id: Ic01436f075f9e1b0a96d3daa6902b598f5f6657e
CRs-Fixed: 2133200
2017-11-10 07:56:08 -08:00
Jeff Johnson
c1e6278e02 qcacld-3.0: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
2017-11-10 00:27:42 -08:00
Rajeev Kumar
8b33049b43 qcacld-3.0: Do not panic on fw ready timeout on non-debug builds
Currently WLAN host driver is triggering panic on fw ready time out
on all builds without checking if self recovery is enabled or not.
On end user builds WLAN self recovery is enabled which helps to avoid
rebooting the device in this case which is easily recoverable during
next WiFi turn on. Add self recovery enabled check on fw ready timeout
before calling qdf_bug.

Change-Id: I9c9ee3f4b87118679e79e646fb326cc4afdb1845
CRs-Fixed: 2141066
2017-11-09 22:07:53 -08:00
Dustin Brown
24d91177c2 qcacld-3.0: Use qdf_cpuhp APIs for CDS
Abstract CDS's use of CPU hotplug events by using the new QDF CPU
hotplug APIs.

Change-Id: Id37ef9028f710a55938539c8e00bb63ffeb86495
CRs-Fixed: 2139720
2017-11-08 19:42:21 -08:00
Dustin Brown
a2dcb5fb94 qcacld-3.0: Enable QDF cpu hotplug APIs
Enable the new QDF CPU hotplug APIs in Kbuild when CONFIG_SMP is
enabled.

Change-Id: Ib3e1e1fe840f0aae662cd6d32527b174a9c2895c
CRs-Fixed: 2133375
2017-11-07 13:42:37 -08:00
Dustin Brown
f79711973f qcacld-3.0: Return failure from cds_open for all failure paths
cds_open() currently returns success for a large subset of its failure
paths. Ensure a failure reason is returned for every failure path in
cds_open().

Change-Id: I857ffce4eac30ce3fc332c5392c1e859217c414f
CRs-Fixed: 2132715
2017-10-26 15:39:31 -07:00
Varun Reddy Yeturu
82e39cd004 qcacld-3.0: Fix the max length of keyname nai
Fix the maximum permissible length for Keyname NAI and also
perform a check for the same.

Change-Id: Ib6eaa11a470202fcde7495f788ab6d3c0272cefe
CRs-Fixed: 2126720
2017-10-25 17:48:16 -07:00
Manjunathappa Prakash
71c74a4d6c qcacld-3.0: Add protection for pkt_log ops with module stop
Packet log ops are protected against load-unload and SSR, but not
against module stop. Take care to add check for module stop.
Also takecare to NULLing of wdi_event_list and NULL check before accessing.

Change-Id: I20d49ff587719fc14f60a53e86092383de6ef5b8
CRs-Fixed: 2082135
2017-10-25 13:41:13 -07:00
Rajeev Kumar
6dd45a84ec qcacld-3.0: Ignore target suspend if fw is down
Ignore target suspend timeout if fw is down such that
system can recover gracefully.

Change-Id: I26c3a1fb34483a46cd4f9d48d17408b688e5ad6c
CRs-Fixed: 2130097
2017-10-24 22:56:34 -07:00
Srinivas Girigowda
ea4d806da9 qcacld-3.0: Fix checkpatch warnings (SPACING)
Fix checkpatch warnings (SPACING).

Change-Id: I966fe641b4722cc15584defc42c90921090687fb
CRs-Fixed: 2126814
2017-10-24 16:40:54 -07:00
Srinivas Girigowda
4d65ebe983 qcacld-3.0: Fix checkpatch warnings (LINE_SPACING)
Fix checkpatch warnings (LINE_SPACING).

Change-Id: Ibac537792bfd68a1e4b42eec0f5ece579fb15a20
CRs-Fixed: 2126814
2017-10-24 16:40:49 -07:00
Yun Park
ff6a16ae6f qcacld-3.0: Enable RPS dynamically for SAP mode
SAP Rx TPUT is bounded by host network stack, which is running in the
context of IPA work-queue, when IPA offload data path enabled.
However RPS shouldn't enabled for legacy Rx data path, where NAPI is
enabled. So, we dynamically enable RPS for SAP interface when the vdev
comes up and IPA was enabled only.
Send RPS enable indication to CNSS daemon to enable RPS only when SAP
interface comes up and disable RPS when SAP interface is closed.

Change-Id: Ia669b2c3ae814d0577f5226d8acbf026740ad760
CRs-Fixed: 1113202
2017-10-24 02:33:25 -07:00
Dustin Brown
46a15a39bc qcacld-3.0: Call cds_sched_close in cds_open error path
When cds_open fails after calling cds_sched_open, cleanup is attempted.
However, cds_sched_close is currently protected by a faulty
conditional. Remove the conditional so the scheduler context can be
cleaned up appropriately for all cds_open failure modes.

Change-Id: I709e8d2af06ffdf1a2910d81d23fa3a33ffbe074
CRs-Fixed: 2129677
2017-10-24 00:49:47 -07:00