提交線圖

68 次程式碼提交

作者 SHA1 備註 日期
Srinivas Girigowda
baa7b295e0 qcacld-3.0: Replace SIR_MAC_ACTION_* with converged enum ACTION_SPCT_*
Replace SIR_MAC_ACTION_* with converged enum ACTION_SPCT_*.

Change-Id: I76cc3d7ea8e12b9a40f39ba855a73e2779896fea
CRs-Fixed: 2460915
2019-05-29 02:53:53 -07:00
Manikandan Mohan
25ccc47e8a qcacld-3.0: Call correct PMO API for setting PS params
WMI_STA_PS_PARAM_INACTIVITY_TIME and
WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX
need to be sent as WMI_STA_POWERSAVE_PARAM_CMDID param IDs.
Thus use pmo_tgt_send_vdev_sta_ps_param instead of
pmo_tgt_vdev_update_param_req in appropriate locations.

Change-Id: Ie9438cd88540a9bbcaf120b3d0a32d355f85002d
CRs-fixed: 2457998
2019-05-23 16:39:55 -07:00
Pragaspathi Thilagaraj
957b7ecf57 qcacld-3.0: Handle wmi_key_material_ext tlv of ROAM_SYNCH event
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.

Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.

Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.

Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
2019-04-24 20:23:59 -07:00
Pragaspathi Thilagaraj
74dece59a0 qcacld-3.0: Send idle roam trigger monitor command to firmware
Send idle roam trigger monitor command to firmware based on
the SET SUSPEND mode command received from the user space.
The set suspend mode value sent will be used by firmware as
one of the parameters in determining if the device is in
idle state. When set suspend mode is 1, device is not in
idle state else the device is considered idle if idle state
data packet count, idle rssi, inactivity time criteria are met.

Add changes to send the suspend mode value over the wmi
command WMI_IDLE_TRIGGER_MONITOR_CMDID.

Change-Id: Ia4531fdab140334dbb830e0d7486db07bbdfc7e8
CRs-Fixed: 2436221
2019-04-18 17:02:14 -07:00
Srinivas Girigowda
7c3ae6158e qcacld-3.0: Replace multiple IPv4/v6 address len macros with QDF macro
Replace multiple IPv4/v6 address len macros with QDF macro.

Change-Id: Id8ee0e1a4d6057f74ea5b7122a33f5137ea533e4
CRs-Fixed: 2435753
2019-04-16 19:57:47 -07:00
Ajit Pal Singh
e64f7f7d9b qcacld-3.0: pmo: Add API to get target suspend state
In USB devices even if the driver returns an error from bus_suspend,
still the kernel/platform goes into suspend as any error from USB
bus_suspend is ignored.
During suspend, if WoW or suspend was NACked by FW, we should not
send WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID, WMI_PDEV_RESUME_CMDID to disable
WoW or resume device (in the next system resume)
Add new PMO API to get target suspend state and use it to check if
device should be resumed.

Change-Id: Ic6be05f4f2d36ffe174774b6cd55c6da6b1ea1b8
CRs-Fixed: 2421591
2019-04-05 08:37:19 -07:00
Srinivas Girigowda
300a0e3f9c qcacld-3.0: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
PMO_80211_ADDR_LEN
IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HTT_MAC_ADDR_LEN
ETHERNET_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
QCSAP_ADDR_LEN

CRs-Fixed: 2406592
Change-Id: I829c5799e4724f81af996b23fdd4ea03f4728bc4
2019-03-28 16:49:58 -07:00
Ashish Kumar Dhanotiya
c7a3201840 qcacld-3.0: Add support to configure ito repeat count
Currently there is no support to configure ito repeat
count when driver enters into wow mode.

Add support to configure ito repeat count with ini
gItoRepeatCount when driver enters into wow mode.

CRs-fixed: 2419137
Change-Id: I62d7e7df12342e9743c26e0147851347214a9ce7
2019-03-22 03:08:52 -07:00
Ashish Kumar Dhanotiya
cd2eb89e8e qcacld-3.0: Add support to set inactivity timout for PMO
Currently there is no support to configure the inactivity
timeout when driver goes to wow mode or when driver resumes
from wow mode.

Add support for PMO component to configure the wow mode
inactivity timeout with ini g_wow_data_inactivity_timeout
when driver enters into wow mode and when driver resumes
from wow mode add support to configure the inactivity
timeout for non wow mode with ini gDataInactivityTimeout.

CRs-fixed: 2412866
Change-Id: I0672f22a5dfec870e5e67b23058db2729b9a0848
2019-03-20 08:25:38 -07:00
wadesong
7c1fddd94c qcacld-3.0: cfg ini documentation refine
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.

Refine the documentation text of the following items
in one batch:

gEnableDynamicDTIM
g_sap_chanswitch_mode
gVhtChannelWidth
gDataInactivityTimeout

Change-Id: I2b1455d0ea27fd35dc0cf66316c7dc3b348ee0ac
CRs-Fixed: 2416086
2019-03-14 11:17:48 -07:00
wadesong
b060ffbd7b qcacld-3.0: cfg ini documentation refine
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.

Refine the documentation text of the following items
in one batch:

gEnableVendorVhtFor24GHzBand
hostArpOffload
ssdp
gEnableDynamicDTIM
gEnableModulatedDTIM

Change-Id: I3cd617e52e86e2a890e35edb33b37ba3df8f4f6e
CRs-Fixed: 2414259
2019-03-13 00:07:14 -07:00
Jeff Johnson
74c2bb64a3 qcacld-3.0: Remove session_id from struct pmo_wow_add_pattern
The session_id field in struct pmo_wow_add_pattern does not serve any
purpose, so remove it.

Change-Id: I477b74c1360f124fb493440a8289fb2a4382c6d5
CRs-Fixed: 2404828
2019-02-27 05:09:26 -08:00
Wu Gao
73643858e5 qcacld-3.0: Format ini descriptions
Some ini descriptions are different to common, and some of them
include wrong information, so correct them and use unified form.

Change-Id: I36348fb26a03cab254fd309d792125b8a21ad02f
CRs-Fixed: 2402446
2019-02-24 21:34:47 -08:00
Nachiket Kukade
d536817ebb qcacld-3.0: In PMO, replace cfg_get_int with component cfg API's
Legacy WNI CFG items are refactored into new CFG implementation.
PMO uses a wma callback which uses cfg_get API to get listen
interval. Listen interval is now part of the MLME component's
private object. Define API's to get this value and use it instead
of the callbacks.

Remove WMA callback implementation and use new API that gets
listen interval from MLME component.

Change-Id: I797001ea14cc654f9daee3ce297e1ad0c0a08f2a
CRs-Fixed: 2386725
2019-02-17 20:49:59 -08:00
Nachiket Kukade
91d132e51b qcacld-3.0: Fix typo in INI definition in CFG framework
Change I3b1ee6254de158ad6408dc8c61e83be571e180af refactored 3
APF related INI's into CFG framework. This was merged with a
a copying error causing INI string "gActiveMcBcBpfMode" being
replaced by "gActiveUcBpfMode". Fix this by correcting the
string name.

Fix copying error by replacing with the correct INI string.

Change-Id: I41576b1b22287f7c0fd751ce96ceddb8f7cbc62a
CRs-Fixed: 2393504
2019-02-06 17:12:31 -08:00
Jeff Johnson
af111dbb97 qcacld-3.0: Remove ucfg_pmo_vdev_update_dp_handle() stub
Change I1f668fff633a5e5cdfc478e7f619e9600930b333 ("qcacld-3.0: Use wma
callback to get vdev dp handle") removed the implementation of
pmo_ucfg_vdev_update_dp_handle(), but left behind the stub
implementation for use when PMO is disabled. This stub, since renamed
to ucfg_pmo_vdev_update_dp_handle(), is unused, so remove it.

Change-Id: I042ea081a4c2e5288963f7882129d06667e5b707
CRs-Fixed: 2380780
2019-01-18 16:36:23 -08:00
Jeff Johnson
ab808dda27 qcacld-3.0: Harmonize PMO packet filter APIs
Update the PMO packet filter APIs to make sure the parameter names
in the prototypes match the ones in the implementations and in the
documentation.

Change-Id: I7fd924d17edb54c690e8ef5b85d4829a4a165edc
CRs-Fixed: 2379075
2019-01-14 08:38:06 -08:00
Wu Gao
f79cd5f0c1 qcacld-3.0: Refactor three INI in PMO
Based on cfg framework, refactor below INI:
 - CFG_RA_RATE_LIMIT_INTERVAL_NAME
 - CFG_ACTIVE_UC_APF_MODE_NAME
 - CFG_ACTIVE_MC_BC_APF_MODE_NAME

Change-Id: I3b1ee6254de158ad6408dc8c61e83be571e180af
CRs-Fixed: 2379743
2019-01-13 18:45:51 -08:00
Wu Gao
585217225c qcacld-3.0: Refactor one WNI cfg and two INI cfg about PMO
Based on new cfg framework, refactor below WNI and INI cfg items:
 - WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT
 - g_wow_data_inactivity_timeout
 - gDisablePacketFilter

Change-Id: I9a975263021ba4fd5ccea19ed1147a661f73317f
CRs-Fixed: 2375866
2019-01-10 19:42:02 -08:00
Jeff Johnson
42bf329f35 qcacld-3.0: Remove enum pmo_offload_type
Enum pmo_offload_type is unused, so remove it.

Change-Id: Ibe1c488fbf72d577eac0424151adf5bd593be3c6
CRs-Fixed: 2375418
2019-01-07 08:46:58 -08:00
Jeff Johnson
5bce73de63 qcacld-3.0: Remove bmiss_enable from struct pmo_psoc_cfg
The bmiss_enable field in struct pmo_psoc_cfg is unused, so remove it.

Change-Id: I456c420faea23616aa0b273a57fd661fd8c4eaf5
CRs-Fixed: 2375417
2019-01-07 08:46:52 -08:00
Sourav Mohapatra
f3f8127986 qcacld-3.0: Relocate HDD ini items (1)
Relocate below HDD ini items as per converged infrastructure.
1. CFG_ENABLE_RUNTIME_PM
2. CFG_STA_KEEPALIVE_METHOD_NAME
3. CFG_ENABLE_MCC_ENABLED_NAME
4. CFG_ENABLE_SAP_SUSPEND
5. CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME
6. CFG_INFORM_BSS_RSSI_RAW_NAME
7. CFG_AP_ENABLE_RANDOM_BSSID_NAME
8. CFG_VC_MODE_BITMAP

Change-Id: I881c87f9ca73804d03af358163c9a043b3193c81
CRs-Fixed: 2357174
2018-12-06 13:43:56 -08:00
Ashish Kumar Dhanotiya
6e33a9a0bb qcacld-3.0: Reset wow pattern on vdev destroy
Currently if a vdev is destroyed, wow patterns are not
getting cleared for that vdev, so when a new vdev is
created, host tries to configure new wow patterns for
this new vdev but due to FW limitations on number of
wow patterns that can be maintained at FW, FW is not
able to act on this filter and will not maintain this
new wow filter.

To resolve this issue, clear the wow patterns for the
vdev before it gets destroyed.

Change-Id: Iae7ad8b683c95d8eaf11355bc0e36b91cece2202
CRs-Fixed: 2344337
2018-11-28 09:35:06 -08:00
Wu Gao
820d716659 qcacld-3.0: Split PMO configures into different files
Split PMO configures into different files by feature. Remove
unnecessary macro limitation.

Change-Id: I1e431fd2f38988c771e02c979c5ce55d0627e605
CRs-Fixed: 2323999
2018-10-24 03:17:03 -07:00
Wu Gao
89ea765a96 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
Wu Gao
f52e741b82 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
f1a6d08ebc 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
41e8dae15d 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
0cd7eb0dde 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
85694d84b9 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
2f26ecc06b 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
e467a93dbb 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
71af6a086d 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
8a37ee8431 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
ca44875a70 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
7239a4de25 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
5d493f9ff6 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
ba9580d290 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
5aa6a14b2e 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
fe74c78926 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
c8dc3cef73 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
ea6f62fb48 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
2d7d3e1764 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
f7334b7fb4 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
1e073b1e12 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
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
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
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