Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
0002 /*
0003  * Copyright (C) 2012-2014 Intel Corporation
0004  * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
0005  * Copyright (C) 2016-2017 Intel Deutschland GmbH
0006  * Copyright (C) 2021 Intel Corporation
0007  */
0008 #ifndef __iwl_fw_api_offload_h__
0009 #define __iwl_fw_api_offload_h__
0010 
0011 /**
0012  * enum iwl_prot_offload_subcmd_ids - protocol offload commands
0013  */
0014 enum iwl_prot_offload_subcmd_ids {
0015     /**
0016      * @STORED_BEACON_NTF: &struct iwl_stored_beacon_notif
0017      */
0018     STORED_BEACON_NTF = 0xFF,
0019 };
0020 
0021 #define MAX_STORED_BEACON_SIZE 600
0022 
0023 /**
0024  * struct iwl_stored_beacon_notif_common - Stored beacon notif common fields
0025  *
0026  * @system_time: system time on air rise
0027  * @tsf: TSF on air rise
0028  * @beacon_timestamp: beacon on air rise
0029  * @band: band, matches &RX_RES_PHY_FLAGS_BAND_24 definition
0030  * @channel: channel this beacon was received on
0031  * @rates: rate in ucode internal format
0032  * @byte_count: frame's byte count
0033  */
0034 struct iwl_stored_beacon_notif_common {
0035     __le32 system_time;
0036     __le64 tsf;
0037     __le32 beacon_timestamp;
0038     __le16 band;
0039     __le16 channel;
0040     __le32 rates;
0041     __le32 byte_count;
0042 } __packed;
0043 
0044 /**
0045  * struct iwl_stored_beacon_notif - Stored beacon notification
0046  *
0047  * @common: fields common for all versions
0048  * @data: beacon data, length in @byte_count
0049  */
0050 struct iwl_stored_beacon_notif_v2 {
0051     struct iwl_stored_beacon_notif_common common;
0052     u8 data[MAX_STORED_BEACON_SIZE];
0053 } __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_2 */
0054 
0055 /**
0056  * struct iwl_stored_beacon_notif_v3 - Stored beacon notification
0057  *
0058  * @common: fields common for all versions
0059  * @sta_id: station for which the beacon was received
0060  * @reserved: reserved for alignment
0061  * @data: beacon data, length in @byte_count
0062  */
0063 struct iwl_stored_beacon_notif_v3 {
0064     struct iwl_stored_beacon_notif_common common;
0065     u8 sta_id;
0066     u8 reserved[3];
0067     u8 data[MAX_STORED_BEACON_SIZE];
0068 } __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_3 */
0069 
0070 #endif /* __iwl_fw_api_offload_h__ */