Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/iwlwifi/fw/api/offload.h
48426 views
1
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2
/*
3
* Copyright (C) 2012-2014 Intel Corporation
4
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
5
* Copyright (C) 2016-2017 Intel Deutschland GmbH
6
* Copyright (C) 2021-2025 Intel Corporation
7
*/
8
#ifndef __iwl_fw_api_offload_h__
9
#define __iwl_fw_api_offload_h__
10
11
/**
12
* enum iwl_prot_offload_subcmd_ids - protocol offload commands
13
*/
14
enum iwl_prot_offload_subcmd_ids {
15
/**
16
* @WOWLAN_WAKE_PKT_NOTIFICATION: Notification in &struct iwl_wowlan_wake_pkt_notif
17
*/
18
WOWLAN_WAKE_PKT_NOTIFICATION = 0xFC,
19
20
/**
21
* @WOWLAN_INFO_NOTIFICATION: Notification in
22
* &struct iwl_wowlan_info_notif_v1, iwl_wowlan_info_notif_v3,
23
* or &struct iwl_wowlan_info_notif
24
*/
25
WOWLAN_INFO_NOTIFICATION = 0xFD,
26
27
/**
28
* @D3_END_NOTIFICATION: End D3 state notification
29
*/
30
D3_END_NOTIFICATION = 0xFE,
31
32
/**
33
* @STORED_BEACON_NTF: &struct iwl_stored_beacon_notif_v2 or
34
* &struct iwl_stored_beacon_notif
35
*/
36
STORED_BEACON_NTF = 0xFF,
37
};
38
39
#define MAX_STORED_BEACON_SIZE 600
40
41
/**
42
* struct iwl_stored_beacon_notif_common - Stored beacon notif common fields
43
*
44
* @system_time: system time on air rise
45
* @tsf: TSF on air rise
46
* @beacon_timestamp: beacon on air rise
47
* @band: band, matches &RX_RES_PHY_FLAGS_BAND_24 definition
48
* @channel: channel this beacon was received on
49
* @rates: rate in ucode internal format
50
* @byte_count: frame's byte count
51
*/
52
struct iwl_stored_beacon_notif_common {
53
__le32 system_time;
54
__le64 tsf;
55
__le32 beacon_timestamp;
56
__le16 band;
57
__le16 channel;
58
__le32 rates;
59
__le32 byte_count;
60
} __packed;
61
62
/**
63
* struct iwl_stored_beacon_notif_v2 - Stored beacon notification
64
*
65
* @common: fields common for all versions
66
* @data: beacon data, length in @byte_count
67
*/
68
struct iwl_stored_beacon_notif_v2 {
69
struct iwl_stored_beacon_notif_common common;
70
u8 data[MAX_STORED_BEACON_SIZE];
71
} __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_2 */
72
73
/**
74
* struct iwl_stored_beacon_notif - Stored beacon notification
75
*
76
* @common: fields common for all versions
77
* @sta_id: station for which the beacon was received
78
* @reserved: reserved for alignment
79
* @data: beacon data, length in @byte_count
80
*/
81
struct iwl_stored_beacon_notif {
82
struct iwl_stored_beacon_notif_common common;
83
u8 sta_id;
84
u8 reserved[3];
85
u8 data[MAX_STORED_BEACON_SIZE];
86
} __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_3, _VER_4 */
87
88
#endif /* __iwl_fw_api_offload_h__ */
89
90