wow.h (1362B)
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2/* Copyright(c) 2018-2019 Realtek Corporation 3 */ 4 5#ifndef __RTW_WOW_H__ 6#define __RTW_WOW_H__ 7 8#define PNO_CHECK_BYTE 4 9 10enum rtw_wow_pattern_type { 11 RTW_PATTERN_BROADCAST = 0, 12 RTW_PATTERN_MULTICAST, 13 RTW_PATTERN_UNICAST, 14 RTW_PATTERN_VALID, 15 RTW_PATTERN_INVALID, 16}; 17 18enum rtw_wake_reason { 19 RTW_WOW_RSN_RX_PTK_REKEY = 0x1, 20 RTW_WOW_RSN_RX_GTK_REKEY = 0x2, 21 RTW_WOW_RSN_RX_DEAUTH = 0x8, 22 RTW_WOW_RSN_DISCONNECT = 0x10, 23 RTW_WOW_RSN_RX_MAGIC_PKT = 0x21, 24 RTW_WOW_RSN_RX_PATTERN_MATCH = 0x23, 25 RTW_WOW_RSN_RX_NLO = 0x55, 26}; 27 28struct rtw_fw_media_status_iter_data { 29 struct rtw_dev *rtwdev; 30 u8 connect; 31}; 32 33struct rtw_fw_key_type_iter_data { 34 struct rtw_dev *rtwdev; 35 u8 group_key_type; 36 u8 pairwise_key_type; 37}; 38 39static inline bool rtw_wow_mgd_linked(struct rtw_dev *rtwdev) 40{ 41 struct ieee80211_vif *wow_vif = rtwdev->wow.wow_vif; 42 struct rtw_vif *rtwvif = (struct rtw_vif *)wow_vif->drv_priv; 43 44 return (rtwvif->net_type == RTW_NET_MGD_LINKED); 45} 46 47static inline bool rtw_wow_no_link(struct rtw_dev *rtwdev) 48{ 49 struct ieee80211_vif *wow_vif = rtwdev->wow.wow_vif; 50 struct rtw_vif *rtwvif = (struct rtw_vif *)wow_vif->drv_priv; 51 52 return (rtwvif->net_type == RTW_NET_NO_LINK); 53} 54 55int rtw_wow_suspend(struct rtw_dev *rtwdev, struct cfg80211_wowlan *wowlan); 56int rtw_wow_resume(struct rtw_dev *rtwdev); 57 58#endif