diff options
Diffstat (limited to 'sys/contrib/dev/iwlwifi/fw/api/location.h')
| -rw-r--r-- | sys/contrib/dev/iwlwifi/fw/api/location.h | 179 | 
1 files changed, 132 insertions, 47 deletions
| diff --git a/sys/contrib/dev/iwlwifi/fw/api/location.h b/sys/contrib/dev/iwlwifi/fw/api/location.h index 30a54c7fa001..33541f92c7c7 100644 --- a/sys/contrib/dev/iwlwifi/fw/api/location.h +++ b/sys/contrib/dev/iwlwifi/fw/api/location.h @@ -2,10 +2,15 @@  /*   * Copyright (C) 2015-2017 Intel Deutschland GmbH   * Copyright (C) 2018-2022 Intel Corporation - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation   */  #ifndef __iwl_fw_api_location_h__  #define __iwl_fw_api_location_h__ +#include <linux/ieee80211.h> +#include <linux/if_ether.h> +#include <linux/types.h> +#include <linux/bits.h> +#include "rs.h"  /**   * enum iwl_location_subcmd_ids - location group command IDs @@ -616,6 +621,9 @@ struct iwl_tof_range_req_ap_entry_v2 {   *	continue with the session and will provide the LMR feedback.   * @IWL_INITIATOR_AP_FLAGS_TEST_INCORRECT_SAC: send an incorrect SAC in the   *	first NDP exchange. This is used for testing. + * @IWL_INITIATOR_AP_FLAGS_TEST_BAD_SLTF: use incorrect secure LTF tx key. This + *	is used for testing. Only supported from version 15 of the range request + *	command.   */  enum iwl_initiator_ap_flags {  	IWL_INITIATOR_AP_FLAGS_ASAP = BIT(1), @@ -633,6 +641,7 @@ enum iwl_initiator_ap_flags {  	IWL_INITIATOR_AP_FLAGS_PMF = BIT(14),  	IWL_INITIATOR_AP_FLAGS_TERMINATE_ON_LMR_FEEDBACK = BIT(15),  	IWL_INITIATOR_AP_FLAGS_TEST_INCORRECT_SAC = BIT(16), +	IWL_INITIATOR_AP_FLAGS_TEST_BAD_SLTF = BIT(17),  };  /** @@ -767,7 +776,7 @@ enum iwl_location_cipher {   * @num_of_bursts: Recommended value to be sent to the AP. 2s Exponent of   *	the number of measurement iterations (min 2^0 = 1, max 2^14)   * @sta_id: the station id of the AP. Only relevant when associated to the AP, - *	otherwise should be set to &IWL_MVM_INVALID_STA. + *	otherwise should be set to &IWL_INVALID_STA.   * @cipher: pairwise cipher suite for secured measurement.   *          &enum iwl_location_cipher.   * @hltk: HLTK to be used for secured 11az measurement @@ -814,7 +823,7 @@ struct iwl_tof_range_req_ap_entry_v6 {   * @num_of_bursts: Recommended value to be sent to the AP. 2s Exponent of   *	the number of measurement iterations (min 2^0 = 1, max 2^14)   * @sta_id: the station id of the AP. Only relevant when associated to the AP, - *	otherwise should be set to &IWL_MVM_INVALID_STA. + *	otherwise should be set to &IWL_INVALID_STA.   * @cipher: pairwise cipher suite for secured measurement.   *          &enum iwl_location_cipher.   * @hltk: HLTK to be used for secured 11az measurement @@ -827,10 +836,10 @@ struct iwl_tof_range_req_ap_entry_v6 {   *	&IWL_INITIATOR_AP_FLAGS_TB is set.   * @rx_pn: the next expected PN for protected management frames Rx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @tx_pn: the next PN to use for protected management frames Tx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   */  struct iwl_tof_range_req_ap_entry_v7 {  	__le32 initiator_ap_flags; @@ -872,7 +881,7 @@ struct iwl_tof_range_req_ap_entry_v7 {   * @num_of_bursts: Recommended value to be sent to the AP. 2s Exponent of   *	the number of measurement iterations (min 2^0 = 1, max 2^14)   * @sta_id: the station id of the AP. Only relevant when associated to the AP, - *	otherwise should be set to &IWL_MVM_INVALID_STA. + *	otherwise should be set to &IWL_INVALID_STA.   * @cipher: pairwise cipher suite for secured measurement.   *          &enum iwl_location_cipher.   * @hltk: HLTK to be used for secured 11az measurement @@ -885,10 +894,10 @@ struct iwl_tof_range_req_ap_entry_v7 {   *	&IWL_INITIATOR_AP_FLAGS_TB is set.   * @rx_pn: the next expected PN for protected management frames Rx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @tx_pn: the next PN to use for protected management frames Tx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @r2i_ndp_params: parameters for R2I NDP ranging negotiation.   *      bits 0 - 2: max LTF repetitions   *      bits 3 - 5: max number of spatial streams @@ -946,7 +955,7 @@ struct iwl_tof_range_req_ap_entry_v8 {   * @num_of_bursts: Recommended value to be sent to the AP. 2s Exponent of   *	the number of measurement iterations (min 2^0 = 1, max 2^14)   * @sta_id: the station id of the AP. Only relevant when associated to the AP, - *	otherwise should be set to &IWL_MVM_INVALID_STA. + *	otherwise should be set to &IWL_INVALID_STA.   * @cipher: pairwise cipher suite for secured measurement.   *          &enum iwl_location_cipher.   * @hltk: HLTK to be used for secured 11az measurement @@ -961,10 +970,10 @@ struct iwl_tof_range_req_ap_entry_v8 {   *	&IWL_INITIATOR_AP_FLAGS_TB or &IWL_INITIATOR_AP_FLAGS_NON_TB is set.   * @rx_pn: the next expected PN for protected management frames Rx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @tx_pn: the next PN to use for protected management frames Tx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @r2i_ndp_params: parameters for R2I NDP ranging negotiation.   *      bits 0 - 2: max LTF repetitions   *      bits 3 - 5: max number of spatial streams @@ -1011,7 +1020,7 @@ struct iwl_tof_range_req_ap_entry_v9 {  } __packed; /* LOCATION_RANGE_REQ_AP_ENTRY_CMD_API_S_VER_9 */  /** - * struct iwl_tof_range_req_ap_entry_v10 - AP configuration parameters + * struct iwl_tof_range_req_ap_entry - AP configuration parameters   * @initiator_ap_flags: see &enum iwl_initiator_ap_flags.   * @band: 0 for 5.2 GHz, 1 for 2.4 GHz, 2 for 6GHz   * @channel_num: AP Channel number @@ -1029,7 +1038,7 @@ struct iwl_tof_range_req_ap_entry_v9 {   * @num_of_bursts: Recommended value to be sent to the AP. 2s Exponent of   *	the number of measurement iterations (min 2^0 = 1, max 2^14)   * @sta_id: the station id of the AP. Only relevant when associated to the AP, - *	otherwise should be set to &IWL_MVM_INVALID_STA. + *	otherwise should be set to &IWL_INVALID_STA.   * @cipher: pairwise cipher suite for secured measurement.   *          &enum iwl_location_cipher.   * @hltk: HLTK to be used for secured 11az measurement @@ -1042,10 +1051,10 @@ struct iwl_tof_range_req_ap_entry_v9 {   *	&IWL_INITIATOR_AP_FLAGS_TB is set.   * @rx_pn: the next expected PN for protected management frames Rx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @tx_pn: the next PN to use for protected management frames Tx. LE byte   *	order. Only valid if &IWL_INITIATOR_AP_FLAGS_SECURED is set and sta_id - *	is set to &IWL_MVM_INVALID_STA. + *	is set to &IWL_INVALID_STA.   * @r2i_ndp_params: parameters for R2I NDP ranging negotiation.   *      bits 0 - 2: max LTF repetitions   *      bits 3 - 5: max number of spatial streams @@ -1059,7 +1068,7 @@ struct iwl_tof_range_req_ap_entry_v9 {   * @min_time_between_msr: For non trigger based NDP ranging, the minimum time   *	between measurements in units of milliseconds   */ -struct iwl_tof_range_req_ap_entry_v10 { +struct iwl_tof_range_req_ap_entry {  	__le32 initiator_ap_flags;  	u8 band;  	u8 channel_num; @@ -1130,7 +1139,7 @@ enum iwl_tof_initiator_flags {  	IWL_TOF_INITIATOR_FLAGS_NON_ASAP_SUPPORT = BIT(20),  }; /* LOCATION_RANGE_REQ_CMD_API_S_VER_5 */ -#define IWL_MVM_TOF_MAX_APS 5 +#define IWL_TOF_MAX_APS 5  #define IWL_MVM_TOF_MAX_TWO_SIDED_APS 5  /** @@ -1149,7 +1158,7 @@ enum iwl_tof_initiator_flags {   *		   when the session is done (successfully / partially).   *		   one of iwl_tof_response_mode.   * @reserved0: reserved - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @macaddr_random: '0' Use default source MAC address (i.e. p2_p),   *	            '1' Use MAC Address randomization according to the below   * @range_req_bssid: ranging request BSSID @@ -1179,7 +1188,7 @@ struct iwl_tof_range_req_cmd_v5 {  	u8 ftm_tx_chains;  	__le16 common_calib;  	__le16 specific_calib; -	struct iwl_tof_range_req_ap_entry_v2 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v2 ap[IWL_TOF_MAX_APS];  } __packed;  /* LOCATION_RANGE_REQ_CMD_API_S_VER_5 */ @@ -1188,7 +1197,7 @@ struct iwl_tof_range_req_cmd_v5 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1212,7 +1221,7 @@ struct iwl_tof_range_req_cmd_v7 {  	__le32 tsf_mac_id;  	__le16 common_calib;  	__le16 specific_calib; -	struct iwl_tof_range_req_ap_entry_v3 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v3 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_7 */  /** @@ -1220,7 +1229,7 @@ struct iwl_tof_range_req_cmd_v7 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1244,7 +1253,7 @@ struct iwl_tof_range_req_cmd_v8 {  	__le32 tsf_mac_id;  	__le16 common_calib;  	__le16 specific_calib; -	struct iwl_tof_range_req_ap_entry_v4 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v4 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_8 */  /** @@ -1252,7 +1261,7 @@ struct iwl_tof_range_req_cmd_v8 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1272,7 +1281,7 @@ struct iwl_tof_range_req_cmd_v9 {  	u8 macaddr_template[ETH_ALEN];  	__le32 req_timeout_ms;  	__le32 tsf_mac_id; -	struct iwl_tof_range_req_ap_entry_v6 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v6 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_9 */  /** @@ -1280,7 +1289,7 @@ struct iwl_tof_range_req_cmd_v9 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1300,7 +1309,7 @@ struct iwl_tof_range_req_cmd_v11 {  	u8 macaddr_template[ETH_ALEN];  	__le32 req_timeout_ms;  	__le32 tsf_mac_id; -	struct iwl_tof_range_req_ap_entry_v7 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v7 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_11 */  /** @@ -1308,7 +1317,7 @@ struct iwl_tof_range_req_cmd_v11 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1328,7 +1337,7 @@ struct iwl_tof_range_req_cmd_v12 {  	u8 macaddr_template[ETH_ALEN];  	__le32 req_timeout_ms;  	__le32 tsf_mac_id; -	struct iwl_tof_range_req_ap_entry_v8 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v8 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_12 */  /** @@ -1336,7 +1345,7 @@ struct iwl_tof_range_req_cmd_v12 {   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1356,15 +1365,15 @@ struct iwl_tof_range_req_cmd_v13 {  	u8 macaddr_template[ETH_ALEN];  	__le32 req_timeout_ms;  	__le32 tsf_mac_id; -	struct iwl_tof_range_req_ap_entry_v9 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_req_ap_entry_v9 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_13 */  /** - * struct iwl_tof_range_req_cmd_v14 - start measurement cmd + * struct iwl_tof_range_req_cmd - start measurement cmd   * @initiator_flags: see flags @ iwl_tof_initiator_flags   * @request_id: A Token incremented per request. The same Token will be   *		sent back in the range response - * @num_of_ap: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_ap: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @range_req_bssid: ranging request BSSID   * @macaddr_mask: Bits set to 0 shall be copied from the MAC address template.   *		  Bits set to 1 shall be randomized by the UMAC @@ -1373,9 +1382,9 @@ struct iwl_tof_range_req_cmd_v13 {   *	This is the session time for completing the measurement.   * @tsf_mac_id: report the measurement start time for each ap in terms of the   *	TSF of this mac id. 0xff to disable TSF reporting. - * @ap: per-AP request data, see &struct iwl_tof_range_req_ap_entry_v10. + * @ap: per-AP request data, see &struct iwl_tof_range_req_ap_entry.   */ -struct iwl_tof_range_req_cmd_v14 { +struct iwl_tof_range_req_cmd {  	__le32 initiator_flags;  	u8 request_id;  	u8 num_of_ap; @@ -1384,8 +1393,8 @@ struct iwl_tof_range_req_cmd_v14 {  	u8 macaddr_template[ETH_ALEN];  	__le32 req_timeout_ms;  	__le32 tsf_mac_id; -	struct iwl_tof_range_req_ap_entry_v10 ap[IWL_MVM_TOF_MAX_APS]; -} __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_13 */ +	struct iwl_tof_range_req_ap_entry ap[IWL_TOF_MAX_APS]; +} __packed; /* LOCATION_RANGE_REQ_CMD_API_S_VER_15 */  /*   * enum iwl_tof_range_request_status - status of the sent request @@ -1605,7 +1614,7 @@ struct iwl_tof_range_rsp_ap_entry_ntfy_v5 {  } __packed; /* LOCATION_RANGE_RSP_AP_ETRY_NTFY_API_S_VER_5 */  /** - * struct iwl_tof_range_rsp_ap_entry_ntfy_v6 - AP parameters (response) + * struct iwl_tof_range_rsp_ap_entry_ntfy_v7 - AP parameters (response)   * @bssid: BSSID of the AP   * @measure_status: current APs measurement status, one of   *	&enum iwl_tof_entry_status. @@ -1641,7 +1650,7 @@ struct iwl_tof_range_rsp_ap_entry_ntfy_v5 {   * @tx_pn: the last PN used for this responder Tx in case PMF is configured in   *	LE byte order.   */ -struct iwl_tof_range_rsp_ap_entry_ntfy_v6 { +struct iwl_tof_range_rsp_ap_entry_ntfy_v7 {  	u8 bssid[ETH_ALEN];  	u8 measure_status;  	u8 measure_bw; @@ -1668,6 +1677,65 @@ struct iwl_tof_range_rsp_ap_entry_ntfy_v6 {  } __packed; /* LOCATION_RANGE_RSP_AP_ETRY_NTFY_API_S_VER_6,  	       LOCATION_RANGE_RSP_AP_ETRY_NTFY_API_S_VER_7 */ +/** + * struct iwl_tof_range_rsp_ap_entry_ntfy - AP parameters (response) + * @bssid: BSSID of the AP + * @measure_status: current APs measurement status, one of + *	&enum iwl_tof_entry_status. + * @measure_bw: Current AP Bandwidth: 0  20MHz, 1  40MHz, 2  80MHz + * @rtt: The Round Trip Time that took for the last measurement for + *	current AP [pSec] + * @rtt_variance: The Variance of the RTT values measured for current AP + * @rtt_spread: The Difference between the maximum and the minimum RTT + *	values measured for current AP in the current session [pSec] + * @rssi: RSSI as uploaded in the Channel Estimation notification + * @rssi_spread: The Difference between the maximum and the minimum RSSI values + *	measured for current AP in the current session + * @last_burst: 1 if no more FTM sessions are scheduled for this responder + * @refusal_period: refusal period in case of + *	@IWL_TOF_ENTRY_RESPONDER_CANNOT_COLABORATE [sec] + * @timestamp: The GP2 Clock [usec] where Channel Estimation notification was + *	uploaded by the LMAC + * @start_tsf: measurement start time in TSF of the mac specified in the range + *	request + * @reserved1: reserved, for backwards compatibility + * @t2t3_initiator: as calculated from the algo in the initiator + * @t1t4_responder: as calculated from the algo in the responder + * @common_calib: Calib val that was used in for this AP measurement + * @specific_calib: val that was used in for this AP measurement + * @papd_calib_output: The result of the tof papd calibration that was injected + *	into the algorithm. + * @rttConfidence: a value between 0 - 31 that represents the rtt accuracy. + * @reserved: for alignment + * @rx_pn: the last PN used for this responder Rx in case PMF is configured in + *	LE byte order. + * @tx_pn: the last PN used for this responder Tx in case PMF is configured in + *	LE byte order. + */ +struct iwl_tof_range_rsp_ap_entry_ntfy { +	u8 bssid[ETH_ALEN]; +	u8 measure_status; +	u8 measure_bw; +	__le32 rtt; +	__le32 rtt_variance; +	__le32 rtt_spread; +	s8 rssi; +	u8 rssi_spread; +	u8 last_burst; +	u8 refusal_period; +	__le32 timestamp; +	__le32 start_tsf; +	__le32 reserved1[2]; +	__le32 t2t3_initiator; +	__le32 t1t4_responder; +	__le16 common_calib; +	__le16 specific_calib; +	__le32 papd_calib_output; +	u8 rttConfidence; +	u8 reserved[3]; +	u8 rx_pn[IEEE80211_CCMP_PN_LEN]; +	u8 tx_pn[IEEE80211_CCMP_PN_LEN]; +} __packed; /* LOCATION_RANGE_RSP_AP_ETRY_NTFY_API_S_VER_8 */  /**   * enum iwl_tof_response_status - tof response status @@ -1691,7 +1759,7 @@ enum iwl_tof_response_status {   * @request_status: status of current measurement session, one of   *	&enum iwl_tof_response_status.   * @last_in_batch: reprot policy (when not all responses are uploaded at once) - * @num_of_aps: Number of APs to measure (error if > IWL_MVM_TOF_MAX_APS) + * @num_of_aps: Number of APs to measure (error if > IWL_TOF_MAX_APS)   * @ap: per-AP data   */  struct iwl_tof_range_rsp_ntfy_v5 { @@ -1699,7 +1767,7 @@ struct iwl_tof_range_rsp_ntfy_v5 {  	u8 request_status;  	u8 last_in_batch;  	u8 num_of_aps; -	struct iwl_tof_range_rsp_ap_entry_ntfy_v3 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_rsp_ap_entry_ntfy_v3 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_RSP_NTFY_API_S_VER_5 */  /** @@ -1715,7 +1783,7 @@ struct iwl_tof_range_rsp_ntfy_v6 {  	u8 num_of_aps;  	u8 last_report;  	u8 reserved; -	struct iwl_tof_range_rsp_ap_entry_ntfy_v4 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_rsp_ap_entry_ntfy_v4 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_RSP_NTFY_API_S_VER_6 */  /** @@ -1731,25 +1799,42 @@ struct iwl_tof_range_rsp_ntfy_v7 {  	u8 num_of_aps;  	u8 last_report;  	u8 reserved; -	struct iwl_tof_range_rsp_ap_entry_ntfy_v5 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_rsp_ap_entry_ntfy_v5 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_RSP_NTFY_API_S_VER_7 */  /** - * struct iwl_tof_range_rsp_ntfy_v8 - ranging response notification + * struct iwl_tof_range_rsp_ntfy_v9 - ranging response notification   * @request_id: A Token ID of the corresponding Range request   * @num_of_aps: Number of APs results   * @last_report: 1 if no more FTM sessions are scheduled, 0 otherwise.   * @reserved: reserved   * @ap: per-AP data   */ -struct iwl_tof_range_rsp_ntfy_v8 { +struct iwl_tof_range_rsp_ntfy_v9 {  	u8 request_id;  	u8 num_of_aps;  	u8 last_report;  	u8 reserved; -	struct iwl_tof_range_rsp_ap_entry_ntfy_v6 ap[IWL_MVM_TOF_MAX_APS]; +	struct iwl_tof_range_rsp_ap_entry_ntfy_v7 ap[IWL_TOF_MAX_APS];  } __packed; /* LOCATION_RANGE_RSP_NTFY_API_S_VER_8, -	       LOCATION_RANGE_RSP_NTFY_API_S_VER_9 */ +	     * LOCATION_RANGE_RSP_NTFY_API_S_VER_9 +	     */ + +/** + * struct iwl_tof_range_rsp_ntfy - ranging response notification + * @request_id: A Token ID of the corresponding Range request + * @num_of_aps: Number of APs results + * @last_report: 1 if no more FTM sessions are scheduled, 0 otherwise. + * @reserved: reserved + * @ap: per-AP data + */ +struct iwl_tof_range_rsp_ntfy { +	u8 request_id; +	u8 num_of_aps; +	u8 last_report; +	u8 reserved; +	struct iwl_tof_range_rsp_ap_entry_ntfy ap[IWL_TOF_MAX_APS]; +} __packed; /* LOCATION_RANGE_RSP_NTFY_API_S_VER_10 */  #define IWL_MVM_TOF_MCSI_BUF_SIZE  (245)  /** | 
