drm: bridge: adv7511: remove s32 format from i2s capabilities
[drm/drm-misc.git] / drivers / net / wireless / ath / ath12k / wow.h
blobaf9be5fadcc31efa67ce13051636f3a9194f019f
1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
2 /*
3 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
5 */
7 #ifndef ATH12K_WOW_H
8 #define ATH12K_WOW_H
10 #define ATH12K_WOW_RETRY_NUM 10
11 #define ATH12K_WOW_RETRY_WAIT_MS 200
12 #define ATH12K_WOW_PATTERNS 22
14 struct ath12k_wow {
15 u32 max_num_patterns;
16 struct completion wakeup_completed;
17 struct wiphy_wowlan_support wowlan_support;
20 struct ath12k_pkt_pattern {
21 u8 pattern[WOW_MAX_PATTERN_SIZE];
22 u8 bytemask[WOW_MAX_PATTERN_SIZE];
23 int pattern_len;
24 int pkt_offset;
27 struct rfc1042_hdr {
28 u8 llc_dsap;
29 u8 llc_ssap;
30 u8 llc_ctrl;
31 u8 snap_oui[3];
32 __be16 eth_type;
33 } __packed;
35 #ifdef CONFIG_PM
37 int ath12k_wow_init(struct ath12k *ar);
38 int ath12k_wow_op_suspend(struct ieee80211_hw *hw,
39 struct cfg80211_wowlan *wowlan);
40 int ath12k_wow_op_resume(struct ieee80211_hw *hw);
41 void ath12k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled);
42 int ath12k_wow_enable(struct ath12k *ar);
43 int ath12k_wow_wakeup(struct ath12k *ar);
45 #else
47 static inline int ath12k_wow_init(struct ath12k *ar)
49 return 0;
52 static inline int ath12k_wow_enable(struct ath12k *ar)
54 return 0;
57 static inline int ath12k_wow_wakeup(struct ath12k *ar)
59 return 0;
61 #endif /* CONFIG_PM */
62 #endif /* ATH12K_WOW_H */