wow.h (cdd38c5f1ce4398ec58fec95904b75824daab7b5) wow.h (ba9177fcef21fa98406e73c472b5ac2eb4ec5f31)
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
2/*
3 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
4 */
5
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
2/*
3 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
4 */
5
6#ifndef _WOW_H_
7#define _WOW_H_
8
9struct ath11k_wow {
10 u32 max_num_patterns;
11 struct completion wakeup_completed;
12 struct wiphy_wowlan_support wowlan_support;
13};
14
15struct rfc1042_hdr {
16 u8 llc_dsap;
17 u8 llc_ssap;
18 u8 llc_ctrl;
19 u8 snap_oui[3];
20 __be16 snap_type;
21} __packed;
22
6#define ATH11K_WOW_RETRY_NUM 3
7#define ATH11K_WOW_RETRY_WAIT_MS 200
23#define ATH11K_WOW_RETRY_NUM 3
24#define ATH11K_WOW_RETRY_WAIT_MS 200
25#define ATH11K_WOW_PATTERNS 22
8
26
27#ifdef CONFIG_PM
28
29int ath11k_wow_init(struct ath11k *ar);
30int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
31 struct cfg80211_wowlan *wowlan);
32int ath11k_wow_op_resume(struct ieee80211_hw *hw);
33void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled);
9int ath11k_wow_enable(struct ath11k_base *ab);
10int ath11k_wow_wakeup(struct ath11k_base *ab);
34int ath11k_wow_enable(struct ath11k_base *ab);
35int ath11k_wow_wakeup(struct ath11k_base *ab);
36
37#else
38
39static inline int ath11k_wow_init(struct ath11k *ar)
40{
41 return 0;
42}
43
44static inline int ath11k_wow_enable(struct ath11k_base *ab)
45{
46 return 0;
47}
48
49static inline int ath11k_wow_wakeup(struct ath11k_base *ab)
50{
51 return 0;
52}
53
54#endif /* CONFIG_PM */
55#endif /* _WOW_H_ */