Commit Graph

475 Commits

Author SHA1 Message Date
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
Sravan Kumar Kairam
d01b445db4 qcacld-3.0: Move IPA setup and initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA setup and initialization code
to the IPA component.

Change-Id: I63717eb2601c569131c6642f7330e4182e604424
CRs-Fixed: 2177925
2018-03-21 18:57:08 -07:00
Alok Kumar
fa826fdba9 qcacld-3.0: Fix Null pointer dereference issue
Add null check for context in cds_get_connectivity_stats_pkt_bitmap
and cds_get_arp_stats_gw_ip to avoid Null dereferencing.

Change-Id: I3481508ee62f630b9db580fdf7d73821733d1599
CRs-Fixed: 2191518
2018-03-19 15:33:05 -07:00
Poddar, Siddarth
3906e17e74 qcacld-3.0: track connectivity stats for rx packets
Track connectivity stats for data rx packets through a
callback function hdd_tx_rx_collect_connectivity_stats_info().

Change-Id: I045ba694495876273691373a9d0a8995d4aa9c34
CRs-Fixed: 2161889
2018-03-19 15:33:00 -07:00
Poddar, Siddarth
31797fa6a8 qcacld-3.0: Extend debug stats
Extend to collect connectivity check stats other
than ARP such as DNS, TCP SYN/SYN-ACK/ACK, and Ipv4.
Add extra attributes in existing vendor command(set/reset
and get NUD debug stats) for above  connectvitiy stats.

CRs-Fixed: 2161889
Change-Id: I037c4ec29b181a0b3117ae2abbc7a2229b373ac2
2018-03-19 15:32:58 -07:00
Yun Park
45d3597a63 qcacld-3.0: Check IPA HW support before SMMU enable
Currently even if IPA HW support is not there during load
HOST is checking for SMMU enable status which returns error.
As a result driver load fails. So check for IPA HW support
before checking for SMMU enable status.

Change-Id: I5705f98f88d495b100af7cb2b3d2ad40e7030a8d
CRs-Fixed: 2185620
2018-03-19 12:18:14 -07:00
Himanshu Agarwal
a89ce24bd4 qcacld-3.0: Add support to get IPA SMMU status
Add support to get IPA SMMU status

Change-Id: I0e476b465bcaa2c5e8ae58c0783265e78ebc8181
CRs-Fixed: 2176317
2018-03-19 12:18:12 -07:00
Sravan Kumar Kairam
4329c5fea8 qcacld-3.0: Map/Unmap IPA RX buffers at driver load/unload time
Map/Unmap IPA RX buffers at driver load/unload time when WLAN
SMMU is enabled.

Change-Id: Ibe2c5d234cc67a18979aed9af273d2340beb124a
CRs-Fixed: 2088439
2018-03-19 09:34:28 -07:00
Sravan Kumar Kairam
b664b6c61b qcacld-3.0: Add support for WLAN-IPA WDI 2 SMMU S1 translation
Update WLAN-IPA WDI-2 datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA need to mapped to physical address by IPA
module before accessing them

Change-Id: I969ad020d5b423c785539f346286b212ea5830a1
CRS-Fixed: 2072960
2018-03-19 09:34:26 -07:00
Himanshu Agarwal
edf30dc042 qcacld-3.0: Add support for WLAN-IPA SMMU Stage 1 translation
Update WLAN-IPA datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by IPA
module before accessing them.

Change-Id: I6b24cde7b7805395053a8fd8f9afbad202e6105f
CRS-Fixed: 2072960
2018-03-19 09:34:23 -07:00
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