wow.h (1134B)
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 23#define ATH11K_WOW_RETRY_NUM 3 24#define ATH11K_WOW_RETRY_WAIT_MS 200 25#define ATH11K_WOW_PATTERNS 22 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); 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_ */