diff options
Diffstat (limited to 'sys/contrib/dev/iwlwifi/fw/api/time-event.h')
| -rw-r--r-- | sys/contrib/dev/iwlwifi/fw/api/time-event.h | 60 | 
1 files changed, 47 insertions, 13 deletions
| diff --git a/sys/contrib/dev/iwlwifi/fw/api/time-event.h b/sys/contrib/dev/iwlwifi/fw/api/time-event.h index f4b827b58bd3..46d35ef4751e 100644 --- a/sys/contrib/dev/iwlwifi/fw/api/time-event.h +++ b/sys/contrib/dev/iwlwifi/fw/api/time-event.h @@ -1,6 +1,6 @@  /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */  /* - * Copyright (C) 2012-2014, 2018-2020, 2022-2024 Intel Corporation + * Copyright (C) 2012-2014, 2018-2020, 2022-2025 Intel Corporation   * Copyright (C) 2013-2015 Intel Mobile Communications GmbH   * Copyright (C) 2016-2017 Intel Deutschland GmbH   */ @@ -351,7 +351,7 @@ enum iwl_roc_activity {  }; /* ROC_ACTIVITY_API_E_VER_1 */  /* - * ROC command + * ROC command v5   *   * Command requests the firmware to remain on a channel for a certain duration.   * @@ -366,7 +366,7 @@ enum iwl_roc_activity {   * @max_delay: max delay the ROC can start in TU   * @duration: remain on channel duration in TU   */ -struct iwl_roc_req { +struct iwl_roc_req_v5 {  	__le32 action;  	__le32 activity;  	__le32 sta_id; @@ -375,7 +375,41 @@ struct iwl_roc_req {  	__le16 reserved;  	__le32 max_delay;  	__le32 duration; -} __packed; /* ROC_CMD_API_S_VER_3 */ +} __packed; /* ROC_CMD_API_S_VER_5 */ + +/* + * ROC command + * + * Command requests the firmware to remain on a channel for a certain duration. + * + * ( MAC_CONF_GROUP 0x3, ROC_CMD 0xE ) + * + * @action: action to perform, see &enum iwl_ctxt_action + * @activity: type of activity, see &enum iwl_roc_activity + * @sta_id: station id, resumed during "Remain On Channel" activity. + * @channel_info: &struct iwl_fw_channel_info + * @node_addr: node MAC address for Rx filtering + * @reserved1: align to a dword + * @max_delay: max delay the ROC can start in TU + * @duration: remain on channel duration in TU + * @interval: interval between repetitions (when repetitions > 1). + * @repetitions: number of repetitions + *	0xFF: infinite repetitions. 0 or 1: single repetition. + * @reserved2: align to a dword + */ +struct iwl_roc_req { +	__le32 action; +	__le32 activity; +	__le32 sta_id; +	struct iwl_fw_channel_info channel_info; +	u8 node_addr[ETH_ALEN]; +	__le16 reserved1; +	__le32 max_delay; +	__le32 duration; +	__le32 interval; +	u8 repetitions; +	u8 reserved2[3]; +} __packed; /* ROC_CMD_API_S_VER_6 */  /*   * ROC notification @@ -395,7 +429,7 @@ struct iwl_roc_notif {  } __packed; /* ROC_NOTIF_API_S_VER_1 */  /** - * enum iwl_mvm_session_prot_conf_id - session protection's configurations + * enum iwl_session_prot_conf_id - session protection's configurations   * @SESSION_PROTECT_CONF_ASSOC: Start a session protection for association.   *	The firmware will allocate two events.   *	Valid for BSS_STA and P2P_STA. @@ -418,13 +452,13 @@ struct iwl_roc_notif {   *	listen mode. Will be fragmented. Valid only on the P2P Device MAC.   *	Valid only on the P2P Device MAC. The firmware will take into account   *	the duration, the interval and the repetition count. - * @SESSION_PROTECT_CONF_P2P_GO_NEGOTIATION: Schedule the P2P Device to be be + * @SESSION_PROTECT_CONF_P2P_GO_NEGOTIATION: Schedule the P2P Device to be   *	able to run the GO Negotiation. Will not be fragmented and not   *	repetitive. Valid only on the P2P Device MAC. Only the duration will   *	be taken into account.   * @SESSION_PROTECT_CONF_MAX_ID: not used   */ -enum iwl_mvm_session_prot_conf_id { +enum iwl_session_prot_conf_id {  	SESSION_PROTECT_CONF_ASSOC,  	SESSION_PROTECT_CONF_GO_CLIENT_ASSOC,  	SESSION_PROTECT_CONF_P2P_DEVICE_DISCOV, @@ -433,12 +467,12 @@ enum iwl_mvm_session_prot_conf_id {  }; /* SESSION_PROTECTION_CONF_ID_E_VER_1 */  /** - * struct iwl_mvm_session_prot_cmd - configure a session protection + * struct iwl_session_prot_cmd - configure a session protection   * @id_and_color: the id and color of the link (or mac, for command version 1)   *	for which this session protection is sent   * @action: can be either FW_CTXT_ACTION_ADD or FW_CTXT_ACTION_REMOVE,   *	see &enum iwl_ctxt_action - * @conf_id: see &enum iwl_mvm_session_prot_conf_id + * @conf_id: see &enum iwl_session_prot_conf_id   * @duration_tu: the duration of the whole protection in TUs.   * @repetition_count: not used   * @interval: not used @@ -448,7 +482,7 @@ enum iwl_mvm_session_prot_conf_id {   * The firmware supports only one concurrent session protection per vif.   * Adding a new session protection will remove any currently running session.   */ -struct iwl_mvm_session_prot_cmd { +struct iwl_session_prot_cmd {  	/* COMMON_INDEX_HDR_API_S_VER_1 hdr */  	__le32 id_and_color;  	__le32 action; @@ -462,17 +496,17 @@ struct iwl_mvm_session_prot_cmd {   */  /** - * struct iwl_mvm_session_prot_notif - session protection started / ended + * struct iwl_session_prot_notif - session protection started / ended   * @mac_link_id: the mac id (or link id, for notif ver > 2) for which the   *	session protection started / ended   * @status: 1 means success, 0 means failure   * @start: 1 means the session protection started, 0 means it ended - * @conf_id: see &enum iwl_mvm_session_prot_conf_id + * @conf_id: see &enum iwl_session_prot_conf_id   *   * Note that any session protection will always get two notifications: start   * and end even the firmware could not schedule it.   */ -struct iwl_mvm_session_prot_notif { +struct iwl_session_prot_notif {  	__le32 mac_link_id;  	__le32 status;  	__le32 start; | 
