cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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