Commit Graph

43 Commits

Author SHA1 Message Date
Wu Gao
87bfd3520c qcacld-3.0: Refine PMO configures based on converged cfg component
Based on cfg component, define PMO configures and add APIs to get or
set configures.

Change-Id: I9b9ff1f8701168787985cbcb219361a3f63c787f
CRs-Fixed: 2322176
2018-10-01 18:38:06 -07:00
Rajeev Kumar Sirasanagandla
85f8b02175 qcacld-3.0: Add debugfs support for offload info
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,)
for STA interface.

Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0
CRs-Fixed: 2203786
2018-09-06 08:54:37 -07:00
Rachit Kankane
0cf4d4feb1 qcacld-3.0: Featurize WLAN_FEATURE_PACKET_FILTERING
Featurize packet filter properly, as this feature was partially featurized.

Change-Id: Ib4b0e94ab2b9847f824220e2cd4efc2cee6fae8d
CRs-Fixed: 2304233
2018-09-04 13:45: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
gaurank kathpalia
82a1b2b802 qcacld-3.0: Fix GTK offload req params
Currently the host sends the fixed gtk offload params
and the FILS TLV params, even when the FILS feature is disabled
in the host, which force firmware to pick the KEK from the
FILS TLV structure rather than from the fixed param structure,
which further leads to GTK re-keying feature fail.

Fix is to send only the fixed params in case when host doesnt
supports FILS.

Change-Id: I5b3b3fd503c7cb9c4d7933074fd483086b113204
CRs-Fixed: 2244725
2018-07-17 14:48:23 -07:00
Qiwei Cai
1083f5b0ac qcacld-3.0: Featurize WLAN_NS_OFFLOAD
Fix compilation errors when disable WLAN_NS_OFFLOAD

Change-Id: Ifba894a4880a226cedf4c88b1121d02c63aceb4b
CRs-Fixed: 2271272
2018-07-13 10:36:11 -07:00
Nachiket Kukade
4b7c8e03c7 qcacld-3.0: Port modulated dtim and override listen interval
Port modulated dtim and override listen interval to PMO from
WMA.

Change-Id: Id965dd8ee0fbddfa563335fd2fe225dcd20cd162
CRs-Fixed: 2252788
2018-06-21 12:35:40 -07:00
Nachiket Kukade
f080407812 qcacld-3.0: Send enable/disable flag separately in hw filter command
Before wow enable or pdev suspend  host sets hardware filter bitmap
and enables the filter via a command. But after resuming it sends
bitmap as zero with filter disable. This is interpreted by Firmware
as disable the modes set in the bitmap, so none of the modes are
disabled. With this host will not receive bc/mc packets after
disabling the hw filter, which it is expecting.

Send the same bitmap after resume that was used before suspend.

Change-Id: Ic7425274c9197e907404c3ca9ba0d5269ee51690
CRs-Fixed: 2194964
2018-06-18 16:33:30 -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
Will Huang
ad01577f26 qcacld-3.0: Use wma callback to get vdev dp handle
PMO should not know about vdev data path handle, but
pmo_unpause_all_vdev() need it, so register a wma callback to retrieve
the vdev dp handle instead of keep a copy in pmo vdev private context.

Refine current code to retrieve vdev dp handle using a wma callback

Change-Id: I1f668fff633a5e5cdfc478e7f619e9600930b333
CRs-Fixed: 2227384
2018-06-18 16:33:13 -07:00
Nachiket Kukade
37b4e6dfbe qcacld-3.0: Add support for getting dtim and beacon interval
Add support for getting vdev dtim and beacon interval from
mlme in PMO.

Change-Id: I97c117eec290f6b9452b98629bf6b3ee10c38ce6
CRs-Fixed: 2252713
2018-06-13 22:27:01 -07:00
Mukul Sharma
4474604869 qcacld-3.0: Add support for getting cfg integer from PMO
Add support for getting cfg integer from PMO. Register callbacks
during pe_open/close so that PMO can query CFG int values for
calculating parameters like listen interval etc.

Change-Id: I52d165586576e547e175ba276e6b7225db5b27e0
CRs-Fixed: 2252661
2018-06-13 22:26:58 -07:00
Rachit Kankane
8863cba926 qcacld-3.0: Add Kbuild config for no of WoW filter
Total 16 number of WoW filters are PoRed for Genoa.
Define CONFIG_PMO_WOW_FILTERS in genoa defconfigs with value 16.

Change-Id: Iba3d9875c954b32a3f22cfd639f4508beb36a5d5
CRs-Fixed: 2257033
2018-06-13 14:10:55 -07:00
Nachiket Kukade
107f639cce qcacld-3.0: Change wow event API's to accept wow event types
Current ucfg API's that disables wow events accept a u32 bitmap
variable. A pointer to that variable is passed to core API where
it assumes it as a u32 array of 4 bytes. This will lead to out of
bound memory access.

Change wow enable/disable API's to accept wow event type as the
parameter.

Change-Id: I220aaddfea62ab96f121014d0d65a1406988c946
CRs-Fixed: 2233108
2018-06-08 21:34:47 -07:00
Wu Gao
a9d336b455 qcacld-3.0: PMO feature flag disable (part two)
This is the change for PMO feature flag disable.

Change-Id: I3e0624c034ddfcad567534ffbbcd85735b8ea0d6
CRs-Fixed: 2243952
2018-06-08 08:31:00 -07:00
Wu Gao
ffb9c72f7b qcacld-3.0: Use PMO macro from public head files
We should use PMO macro from public head files.

Change-Id: Iac533655e85ef85fe86bae19e0bce4967418cc81
CRs-Fixed: 2251499
2018-05-31 22:30:49 -07:00
Will Huang
67ce1e332b qcacld-3.0: Refine PMO wow to support legacy chip
wma_is_service_enabled can't get valid service bitmap if call in
hdd_update_pmo_config, use psoc_ctx->caps.unified_wow instead to check
pattern id per vdev and legacy d0 wow capability.

Change-Id: If7bf316f482c49253fc4b95b94e172727b27ffd1
CRs-Fixed: 2225847
2018-05-06 23:12:33 -07:00
Rajeev Kumar
289f3c401a qcacld-3.0: Add feature flag for PMO component (part-2)
Add feature flag for PMO component such that for high latency
and IoT devices power management and offload component can be
compiled out.

Change-Id: Iaccda7d9e895cdb4610f0ec984add3aeb7ef9926
CRs-Fixed: 2227330
2018-04-26 16:01:57 -07:00
Rajeev Kumar
109683cf30 qcacld-3.0: Add feature flag for PMO component (part-1)
Add feature flag for PMO component such that for high latency
and IoT devices power management and offload component can be
compiled out.

Change-Id: I2c88b6af33e8f10f1837263f157c1f6892a2c2fb
CRs-Fixed: 2227326
2018-04-25 14:30:31 -07:00
Dustin Brown
d69ec37568 qcacld-3.0: Trigger recovery on pdev suspend timeout
Historically, recovery was triggered if PDEV suspend failed, but the
logic was lost during componentization. Restore the previous logic of
triggering recovery on PDEV suspend timeout.

Change-Id: I6e193e98c5ef45fd7ab4b6595ea85d986fa84131
CRs-Fixed: 2215588
2018-03-30 02:46:16 -07:00
Dustin Brown
67d69ebbfd 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
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
Dustin Brown
b9987afb2c 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
06259e5d96 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
f2e2fac99e 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
Rajeev Kumar
ec1194dc72 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
244c3f631e 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
Will Huang
3cd2b7c566 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
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
d1a7ac420b 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
0c1c379514 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
9084cc835d 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
029015e2ba 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
c22fb8f3e0 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
b4c2996223 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
31cef197ff 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
f7c49e73b7 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
ab3959506f 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
Vignesh Viswanathan
21d9ecbf2a qcacld-3.0: Add kek_len to GTK Offload params in PMO component structure
Add new kek_len param used for FILS in the pmo_gtk_req structure under
PMO GTK public structures

Change-Id: I4fc25026d9fc004f267b9461d1671f8b1ac57f53
CRs-Fixed: 2081252
2017-10-06 12:27:39 -07:00
Will Huang
fe649175aa qcacld-3.0: Differentiate pattern id for legacy firmware
The Wow pattern id should be identified unique for different vdevs of
legacy firmware, and latest firmware accept same Wow pattern id on
different vdevs.

This change is to differentiate this behavior using
WMI_SERVICE_UNIFIED_WOW_CAPABILITY flag, and supply a set of APIs to
manipulate pattern id.

Change-Id: I5fe7623a309a0c3baa14fb7312107c057e994462
CRs-Fixed: 2103017
2017-09-27 17:30:33 -07:00
Sridhar Selvaraj
53166d7fdb qcacld-3.0: Drop action frames based on action id
Currently, host driver sets bitmap of allowed action frames to fw.
For a particular action category, there are certain action id
frames which are not processed. This causes host wakeup and leads
to power drain.

Set action id along with action category to fw for action frames
to be allowed to host driver.

Change-Id: Ifa0b40b290fcabb9ce5e48f69bd462aebb9017ac
CRs-Fixed: 2072123
2017-08-30 10:45:47 -07:00
Dustin Brown
8d8d9fe485 qcacld-3.0: Add enhanced multicast enable/disable APIs
Currently, a hard-coded enhanced multicast filter configuration is being
sent to firmware. Instead, create a set of enable/disable APIs, and
configure enhanced multicast filter based on advertised firmware
capability.

Change-Id: I488b4a921612e1081266be8831be098d755375f9
CRs-Fixed: 2078615
2017-07-27 16:59:26 -07:00
Rajeev Kumar
f46083e0e5 qcacld-3.0: Move CLD components outside core folder
Core is legacy module folder in CLD. Hence move MCL specific
components folder outside core.

Change-Id: Iba3f9fdb06ad10dc4a5b19f3ff1ffa23f7372605
CRs-Fixed: 2077963
2017-07-18 01:58:53 -07:00