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