Commit Graph

217 次程式碼提交

作者 SHA1 備註 提交日期
Sravan Kumar Kairam
3fe542722a qcacld-3.0: Fix compilation error for unified IPA WDI
Fix compilation error when unified IPA WDI is enabled in the
build.

Change-Id: Iebb47f3d34e065197d8fca3b76aae00d9390efdf
CRs-Fixed: 2177925
2018-03-21 18:57:38 -07:00
Sravan Kumar Kairam
739492cc3d 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
bd4c5eba7b qcacld-3.0: Move IPA WLAN event handler to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy HDD IPA WLAN event handler to
the IPA component.

Change-Id: Ia53adce7ef29eea747f288fa074f96a84e47925d
CRs-Fixed: 2177925
2018-03-21 18:57:30 -07:00
Sravan Kumar Kairam
f4303dcb22 qcacld-3.0: Move IPA FW OP event handler to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy HDD IPA FW OP event handler to
the IPA component.

Change-Id: Idecf12c33a5b4ab80de50626029ff43b5f9336a2
CRs-Fixed: 2177925
2018-03-21 18:57:27 -07:00
Sravan Kumar Kairam
6121bfac2d qcacld-3.0: Move IPA UC offload initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA UC offload initialization to
the IPA component.

Change-Id: I221a11e7f8aa2459918f87c6b043d4682e05cb04
CRs-Fixed: 2177925
2018-03-21 18:57:23 -07:00
Sravan Kumar Kairam
62765edc62 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
04a16084bf qcacld-3.0: Move IPA stats and debug info API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA stats and debug info  APIs to
the IPA component.

Change-Id: Ieb68a1579986c835f66c84e5e3b7aa2a4004383d
CRs-Fixed: 2177925
2018-03-21 18:57:17 -07:00
Sravan Kumar Kairam
b9a3f3dedc qcacld-3.0: Move IPA set perf level API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA set perf level APIs to the IPA
component.

Change-Id: Idbbab9cc6885b6acf1cd40d432a236f0629c8dff
CRs-Fixed: 2177925
2018-03-21 18:57:14 -07:00
Sravan Kumar Kairam
333c809f91 qcacld-3.0: Move IPA RM functionalities to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA RM APIs to the IPA component.

Change-Id: Iaff12ae3cec9ee6ff20543579692385c9a555613
CRs-Fixed: 2177925
2018-03-21 18:57:11 -07:00
Sravan Kumar Kairam
eba1743995 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
Sravan Kumar Kairam
576d68ae64 qcacld-3.0: Modify IPA UC offload control cmd
IPA module has been moved to CLD component under the converged
driver model. Remove legacy WMA interface IPA command and use
the new defined API.

Change-Id: Icd9a207f43f8df4dc563d0078d402470683cfd7d
CRs-Fixed: 2177925
2018-03-21 18:57:06 -07:00
Sravan Kumar Kairam
c2f07f4de4 qcacld-3.0: Create IPA CLD component
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Add files for
IPA core, dispatcher and target_if. Define IPA related
public and private structures.

Change-Id: I8848331edc7dd878f9fc51ef9f5e311ad91ed70b
CRs-Fixed: 2177925
2018-03-21 18:57:03 -07:00
Dustin Brown
acc247b5ea qcacld-3.0: Migrate PMO to level-specific log wrappers
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers to support compiling out entire levels of
logging messages. Migrate the PMO logging wrappers to consumer these
new APIs instead of QDF_TRACE.

Change-Id: I3f46450e76cc6422a0877e95785bfd41e4c0af0c
CRs-Fixed: 2208536
2018-03-21 16:09:08 -07:00
Dustin Brown
43d1552d1b qcacld-3.0: Use level-specific QDF_TRACE_RATE_LIMITED
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers. Instead of using QDF_TRACE_RATE_LIMITED
directly, use the level-specific versions.

Change-Id: I21b47f443ae53d1780fd21e352f69b0ea48ae726
CRs-Fixed: 2208563
2018-03-19 22:45:58 -07:00
Dustin Brown
44c82be47e qcacld-3.0: Update calls to QDF_TRACE_RATE_LIMITED
QDF_TRACE_RATE_LIMITED recently lost its 'rate' parameter in
I31a3f48f68fb6bc67f59f3157a635345943d3331. Update call sites to account
for this change.

Change-Id: I301a36a445be4ecc3e1d24e007d7ca6f05898fc5
CRs-Fixed: 2205796
2018-03-16 21:51:41 -07:00
Dustin Brown
a77a318840 qcacld-3.0: Rename PMO_ENTER and PMO_EXIT macros
In order to better align with the other PMO logging wrappers, and the
rest of the driver, rename the following macros:
 * PMO_ENTER -> pmo_enter
 * PMO_EXIT -> pmo_exit

Change-Id: I9186c1425f22c5a8d4fc98f048a9d487b6095797
CRs-Fixed: 2206650
2018-03-15 17:31:10 -07:00
Dustin Brown
2102362779 qcacld-3.0: Update firmware filter config (part 2)
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.

Part 1
	num_wow_filters = ARP/NS offload enabled ? 2 : 5
	bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff

Part 2
	num_packet_filter = Packet Filter enabled ? 12 : 0xffffffff

Change-Id: Ie8cb4ae44c83b115b249e22ebd7146278ed70612
CRs-Fixed: 2199297
2018-03-15 15:11:59 -07:00
Dustin Brown
6e67003e87 qcacld-3.0: Fix PERF build issue in PMO (part 2)
Building CLD3.2 with a performance configuration results in several
"potentially uninitialized" warnings. Initialize the relevant variables
to avoid the warnings.

Change-Id: I6a4324cb313dfb9d3b4c82294bc2fc8ce357fd0b
CRs-Fixed: 2202533
2018-03-08 18:46:54 -08:00
Dustin Brown
56236edc88 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
Dustin Brown
3b33f59347 qcacld-3.0: Update firmware filter config (part 1)
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.

Part 1
	num_wow_filters = ARP/NS offload enabled ? 2 : 5
	bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff

Part 2 (pending firmware support)
	pkt_filter_num = Packet Filter enabled ? 12 : 0 (disabled)

Change-Id: Ic6624ff04598b53d8321e4864618b12b9702780f
CRs-Fixed: 2196997
2018-03-05 21:43:46 -08:00
Dustin Brown
20acc975d4 qcacld-3.0: Add wlan_pmo_apf.[ch]
Add files to house PMO logic for the Android Packet Filter (APF).

Change-Id: I30e40b1dc761261511d8a37e5720a4f5c737b36c
CRs-Fixed: 2198745
2018-03-05 21:43:43 -08:00
Dustin Brown
3e15669a50 qcacld-3.0: Fix PERF build issue in PMO
Building CLD3.2 with a performance configuration results in several
"potentially uninitialized" warnings. Initialize the relevant variables
to avoid the warnings.

Change-Id: If97b67d50ebe2b7465fd2cc5a6a44488e4cb25a7
CRs-Fixed: 2200294
2018-03-05 20:48:51 -08:00
Dustin Brown
cdb7f861e9 qcacld-3.0: Add ucfg_pmo_psoc_set_caps()
Provide PMO-specific device capabilities to PMO. This allows PMO to do
intersections between configuration and device capabilities.

Change-Id: If0a199f9be466d16cef900a29b14b73a2a4e52d0
CRs-Fixed: 2197828
2018-03-05 20:48:43 -08:00
Dustin Brown
5c5413bdcd qcacld-3.0: Remove pmo_core_wow_[enter|exit]()
pmo_core_wow_enter(), pmo_core_wow_exit() and struct
pmo_wow_enter_params are all dead code. Remove them.

Change-Id: I254a0bad794ffc1170a2799918e1627a3e01e340
CRs-Fixed: 2199462
2018-03-02 20:37:21 -08:00
Dustin Brown
1567190755 qcacld-3.0: Add pmo_psoc_with_ctx() macro
It is really common to want to update or read from the PMO private
context, but doing so requires several lines boilerplate code. Because
this boilerplate is in so many places, mistakes like using the wrong
lock operation, or forgetting to use locks at all, are a always a
danger. Add pmo_psoc_with_ctx() to address this deficiency, which
retrieves the private context pointer, locks on entry, and unlocks on
exit. Usage is like so:

	struct pmo_psoc_prov_obj *psoc_ctx;

	pmo_psoc_with_ctx(psoc, psoc_ctx) {
		/* use psoc_ctx */
	}

Which is equivalent to:

	struct pmo_psoc_prov_obj *psoc_ctx;

	psoc_ctx = pmo_psoc_get_priv(psoc);
	qdf_spin_lock_bh(&psoc_ctx->lock);
	/* use psoc_ctx */
	qdf_spin_unlock_bh(&psoc_ctx->lock);

Change-Id: I6a3ccbfbfb57c589d44c7eae57e2ed8272dae3ee
CRs-Fixed: 2197722
2018-02-28 19:16:02 -08:00
Arif Hussain
60264d8283 qcacld-3.0: Add bss color collision detection support
Add support for bss color collision detection.

Change-Id: Idd616ca902469f5dc446d35e63fce7fe7eb0d327
CRs-Fixed: 2130127
2018-02-11 23:20:42 -08:00
Zhang Qian
4ae3026eaa 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
Zhang Qian
88bc878ff7 qcacld-3.0: Add target interfaces for OCB component
Add target interfaces and core APIs for OCB component.

CRs-Fixed: 2177578
Change-Id: I76a1afa4d6f3876b0b5df89ffe4080af77cd13c4
2018-01-25 07:41:16 -08:00
Sourav Mohapatra
49b7e79081 qcacld-3.0: Converge on wmi service/ext service is enable
Converge on wmi service/ext service is enable.

Change-Id: Ieed7a18f88806ed1e5b7fb012619ea67015cce2d
CRs-Fixed: 2152849
2018-01-24 13:19:26 -08:00
Arif Hussain
14128d0b68 qcacld-3.0: Add obss detection offload support
Add support for obss detection offload support.

Change-Id: I27fdef1604f6f92890dda024fbc8f9d13df602a3
CRs-Fixed: 2170187
2018-01-17 17:49:06 -08:00
Nachiket Kukade
0479fdf18d qcacld-3.0: Correct the logic that checks bound for pmo handler ids
Under unregistering of PMO handlers, incoming component id is sanity
checked. In the logic, WLAN_UMAC_MAX_COMPONENTS as id will not cause
failure even though it is an id beyond the acceptable bound.

Correct the logic so that WLAN_UMAC_MAX_COMPONENTS ends up in failure.

Change-Id: I6935f34c6d91a4217c3f7f73cd5539af2741ed2b
CRs-Fixed: 2091831
2018-01-16 09:40:16 -08:00
Naveen Rawat
cf5a74d049 qcacld-3.0: Fix out buffer overflow and un-intialized variable access
In function pmo_core_send_lphb_enable check index before accessing array.
In function pmo_core_is_wow_applicable initialize vaiable before access.

Change-Id: Iadba3175d10da3e4e311d8ab9e8a850053d3da24
CRs-Fixed: 2162257
2018-01-09 23:47:16 -08:00
Nachiket Kukade
09acaf85a9 qcacld-3.0: Add DISA Component changes into the skeleton
Add final changes of DISA component into the skeleton. Fill up all the
code in core, dispatcher and target_if of the DISA component. Use new
wmi API to extract cmd response from event buffer.

Change-Id: I55f7170efa1055f1449dd95d9f1a911dfa6b54ce
CRs-Fixed: 2161979
2018-01-09 13:39:58 -08:00
Nachiket Kukade
ba2253d2af 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
Rajeev Kumar
7e2c874db0 qcacld-3.0: Rename pmo_ucfg_* APIs to ucfg_pmo_* APIs
Rename pmo_ucfg_* API to ucfg_pmo_* to match existing
naming convention for component ucfg APIs.

Change-Id: I59491eff038709a883efb527168159a7e9e2ba2a
CRs-Fixed: 2145088
2017-12-07 13:27:12 -08:00
Srinivas Girigowda
6c5d571593 qcacld-3.0: Drop measurement pilot public action frame
Measurement pilot public action frame (Action Id = 7) is not
handled in the driver, if the AP is sending this action frame
it ends up waking up the APPS and burn battery.

Since anyway host is not handling this action frame, configure
the firmware to drop this action frame.

Change-Id: I15327f9af8cccaa7324e4e39f1e6336225740b75
CRs-Fixed: 2146506
2017-12-02 01:40:49 -08:00
Naveen Rawat
9d26b1d21c qcacld-3.0: Send WOW timer pattern to firmware
Send WOW timer pattern to firmware when suspend is requested and
INSTALL_KEY is not sent to firmware yet. This will allow firmware
to wake host in case Eapol frames are not received and do a graceful
disconnect.

Change-Id: Ibbcc0af85ee9ddcd7f6559c83c67274508193004
CRs-Fixed: 2127634
2017-12-02 01:40:45 -08:00
Will Huang
e7acf06c04 qcacld-3.0: Enable D0WOW for pcie
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.

Change-Id: Ia2107ff6939666b4a0bd19d57149d17814f2dfb5
CRs-Fixed: 2070426
2017-11-28 19:39:01 -08:00
Nachiket Kukade
2ec1adfce6 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
Jeff Johnson
11d8f6454c 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
c188e1ee36 qcacld-3.0: Rename pmo_ucfg_* APIs to ucfg_pmo_* APIs
Rename pmo_ucfg_* APIs to ucfg_pmo_* to match existing
naming convention for component ucfg APIs.

Change-Id: I9fba71ee5d5cf6428f043c7d7782ef585951e059
CRs-Fixed: 2140474
2017-11-09 11:46:42 -08:00
Mukul Sharma
4a46599568 qcacld-3.0: Add wow user pattern support in PMO
Add wow user pattern support in PMO.

Change-Id: I186e650e3a165ea0aeaada4bba880005c5be8b5f
CRs-Fixed: 2135644
2017-11-08 03:01:19 -08:00
Rajeev Kumar
09d7e79df4 qcacld-3.0: Rename pmo_ucfg_* APIs to ucfg_pmo_* APIs
Rename pmo_ucfg_is_vdev_connected to ucfg_pmo_is_vdev_connected
to match existing naming convention for component ucfg APIs.

Change-Id: Idd04103664135f226881b07263365d70df5790e0
CRs-Fixed: 2135888
2017-11-02 09:38:18 -07:00
Rajeev Kumar
8d5af6e30e qcacld-3.0: Rename pmo_ucfg_* APIs to ucfg_pmo_* APIs
Rename pmo_ucfg_is_ap_mode_supports_arp_ns to ucfg_pmo_*
to match existing naming convention for component ucfg APIs.

Change-Id: I6877e1ebbc8a89d9b2cfb08f7af46e3f3b6606f3
CRs-Fixed: 2135193
2017-11-02 09:38:15 -07:00
Rajeev Kumar
d0a8ad44c7 qcacld-3.0: Clean up unwanted blank lines from wlan_pmo_obj_mgmt_api.c
Clean up unwanted blank lines from wlan_pmo_obj_mgmt_api.c

Change-Id: I4c77e9bef3fb1c6799a802095125c21979f7ba3e
CRs-Fixed: 2129039
2017-10-24 23:50:36 -07:00
Rajeev Kumar
0fb18ad5ce qcacld-3.0: Redume pmo resume timeout to 6 seconds
PMO resume timeout is 25 seconds which is too large
hence reduce PMO resume timeout to 6 seconds.

Change-Id: I9f29e136bc091ddd3ae2ca38a495edcbff6c1cb8
CRs-Fixed: 2128481
2017-10-17 21:49:30 -07:00
Jeff Johnson
eec7f692ca qcacld-3.0: pmo: Fix block comments
Checkpatch reported multiple instances of block comments not aligning
on "*" so fix them.

Change-Id: I082f62f59fe16d84ba013adbbfcd2e9bf1985e3c
CRs-Fixed: 2122901
2017-10-12 13:59:59 -07:00
Srinivas Girigowda
c76db4722b qcacld-3.0: Configure FW not to wakeup APPS for RRM action frame
This is a qcacld-2.0 to qcacld-3.0 propagation.

If the device connects to 11k enabled AP and enter WoW mode, then
the AP is keep sending RRM beacon reports (Action frames) which are
waking up the APPS and leading to battery drain.

The fix is to configure the firmware to not to wake up APPS
for RRM action frame.

Change-Id: I2368be4f641b8b8684a458daea52a81fa671200b
CRs-Fixed: 1115560
2017-10-12 13:57:58 -07:00
Poddar, Siddarth
6fa3065430 qcacld-3.0: Add support for set multicast filter command
Add support for WMI_SET_MULTIPLE_MCAST_FILTER_CMDID command
that can add/delete multiple mcast filters.

CRs-Fixed: 2096595
Change-Id: I3dc93c603a5a6676d97b5911a716277c7bef0ef8
2017-10-12 13:56:33 -07:00
Hanumanth Reddy Pothula
a9dd0d6dd2 qcacld-3.0: Update ini param g_auto_detect_power_failure_mode
Update ini param g_auto_detect_power_failure_mode to incorporate below
values,
0 - Don't register wow wakeup event and FW crashes on power failure
1 - Register wow wakeup event and FW sends failure event to host on
    power failure
2 - Don't register wow wakeup event and FW silently rejuvenate on
    power failure
3 - Don't register wow wakeup event and the auto power failure detect
    feature is disabled in FW.

Change-Id: I8a704954ecbacadbc035c1523fa41a18b6300f66
CRs-Fixed: 2087144
2017-10-09 03:47:52 -07:00