hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/wireless/intel/iwlwifi/fw/api/tx.h
....@@ -5,9 +5,8 @@
55 *
66 * GPL LICENSE SUMMARY
77 *
8
- * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
98 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
10
- * Copyright(c) 2018 Intel Corporation
9
+ * Copyright(c) 2012 - 2014, 2018 - 2020 Intel Corporation
1110 *
1211 * This program is free software; you can redistribute it and/or modify
1312 * it under the terms of version 2 of the GNU General Public License as
....@@ -27,9 +26,8 @@
2726 *
2827 * BSD LICENSE
2928 *
30
- * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
3129 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
32
- * Copyright(c) 2018 Intel Corporation
30
+ * Copyright(c) 2012 - 2014, 2018 - 2020 Intel Corporation
3331 * All rights reserved.
3432 *
3533 * Redistribution and use in source and binary forms, with or without
....@@ -61,6 +59,7 @@
6159
6260 #ifndef __iwl_fw_api_tx_h__
6361 #define __iwl_fw_api_tx_h__
62
+#include <linux/ieee80211.h>
6463
6564 /**
6665 * enum iwl_tx_flags - bitmasks for tx_flags in TX command
....@@ -186,7 +185,7 @@
186185 /*
187186 * TID for non QoS frames - to be written in tid_tspec
188187 */
189
-#define IWL_TID_NON_QOS IWL_MAX_TID_COUNT
188
+#define IWL_TID_NON_QOS 0
190189
191190 /*
192191 * Limits on the retransmissions - to be written in {data,rts}_retry_limit
....@@ -293,7 +292,7 @@
293292 __le16 pm_frame_timeout;
294293 __le16 reserved4;
295294 u8 payload[0];
296
- struct ieee80211_hdr hdr[0];
295
+ struct ieee80211_hdr hdr[];
297296 } __packed; /* TX_CMD_API_S_VER_6 */
298297
299298 struct iwl_dram_sec_info {
....@@ -319,11 +318,11 @@
319318 __le32 flags;
320319 struct iwl_dram_sec_info dram_info;
321320 __le32 rate_n_flags;
322
- struct ieee80211_hdr hdr[0];
321
+ struct ieee80211_hdr hdr[];
323322 } __packed; /* TX_CMD_API_S_VER_7 */
324323
325324 /**
326
- * struct iwl_tx_cmd_gen3 - TX command struct to FW for 22560 devices
325
+ * struct iwl_tx_cmd_gen3 - TX command struct to FW for AX210+ devices
327326 * ( TX_CMD = 0x1c )
328327 * @len: in bytes of the payload, see below for details
329328 * @flags: combination of &enum iwl_tx_cmd_flags
....@@ -342,7 +341,7 @@
342341 struct iwl_dram_sec_info dram_info;
343342 __le32 rate_n_flags;
344343 __le64 ttl;
345
- struct ieee80211_hdr hdr[0];
344
+ struct ieee80211_hdr hdr[];
346345 } __packed; /* TX_CMD_API_S_VER_8 */
347346
348347 /*
....@@ -766,8 +765,8 @@
766765 __le32 tx_rate;
767766 __le16 tfd_cnt;
768767 __le16 ra_tid_cnt;
769
- struct iwl_mvm_compressed_ba_tfd tfd[0];
770768 struct iwl_mvm_compressed_ba_ratid ra_tid[0];
769
+ struct iwl_mvm_compressed_ba_tfd tfd[];
771770 } __packed; /* COMPRESSED_BA_RES_API_S_VER_4 */
772771
773772 /**
....@@ -784,7 +783,7 @@
784783 __le32 template_id;
785784 __le32 tim_idx;
786785 __le32 tim_size;
787
- struct ieee80211_hdr frame[0];
786
+ struct ieee80211_hdr frame[];
788787 } __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_6 */
789788
790789 /**
....@@ -805,7 +804,7 @@
805804 __le32 tim_size;
806805 __le32 ecsa_offset;
807806 __le32 csa_offset;
808
- struct ieee80211_hdr frame[0];
807
+ struct ieee80211_hdr frame[];
809808 } __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_7 */
810809
811810 enum iwl_mac_beacon_flags {
....@@ -813,6 +812,7 @@
813812 IWL_MAC_BEACON_ANT_A = BIT(9),
814813 IWL_MAC_BEACON_ANT_B = BIT(10),
815814 IWL_MAC_BEACON_ANT_C = BIT(11),
815
+ IWL_MAC_BEACON_FILS = BIT(12),
816816 };
817817
818818 /**
....@@ -820,6 +820,7 @@
820820 * @byte_cnt: byte count of the beacon frame.
821821 * @flags: least significant byte for rate code. The most significant byte
822822 * is &enum iwl_mac_beacon_flags.
823
+ * @short_ssid: Short SSID
823824 * @reserved: reserved
824825 * @template_id: currently equal to the mac context id of the coresponding mac.
825826 * @tim_idx: the offset of the tim IE in the beacon
....@@ -831,14 +832,15 @@
831832 struct iwl_mac_beacon_cmd {
832833 __le16 byte_cnt;
833834 __le16 flags;
834
- __le64 reserved;
835
+ __le32 short_ssid;
836
+ __le32 reserved;
835837 __le32 template_id;
836838 __le32 tim_idx;
837839 __le32 tim_size;
838840 __le32 ecsa_offset;
839841 __le32 csa_offset;
840
- struct ieee80211_hdr frame[0];
841
-} __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_9 */
842
+ struct ieee80211_hdr frame[];
843
+} __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_10 */
842844
843845 struct iwl_beacon_notif {
844846 struct iwl_mvm_tx_resp beacon_notify_hdr;
....@@ -847,13 +849,13 @@
847849 } __packed;
848850
849851 /**
850
- * struct iwl_extended_beacon_notif - notifies about beacon transmission
852
+ * struct iwl_extended_beacon_notif_v5 - notifies about beacon transmission
851853 * @beacon_notify_hdr: tx response command associated with the beacon
852854 * @tsf: last beacon tsf
853855 * @ibss_mgr_status: whether IBSS is manager
854856 * @gp2: last beacon time in gp2
855857 */
856
-struct iwl_extended_beacon_notif {
858
+struct iwl_extended_beacon_notif_v5 {
857859 struct iwl_mvm_tx_resp beacon_notify_hdr;
858860 __le64 tsf;
859861 __le32 ibss_mgr_status;
....@@ -861,6 +863,20 @@
861863 } __packed; /* BEACON_NTFY_API_S_VER_5 */
862864
863865 /**
866
+ * struct iwl_extended_beacon_notif - notifies about beacon transmission
867
+ * @status: the status of the Tx response of the beacon
868
+ * @tsf: last beacon tsf
869
+ * @ibss_mgr_status: whether IBSS is manager
870
+ * @gp2: last beacon time in gp2
871
+ */
872
+struct iwl_extended_beacon_notif {
873
+ __le32 status;
874
+ __le64 tsf;
875
+ __le32 ibss_mgr_status;
876
+ __le32 gp2;
877
+} __packed; /* BEACON_NTFY_API_S_VER_6_ */
878
+
879
+/**
864880 * enum iwl_dump_control - dump (flush) control flags
865881 * @DUMP_TX_FIFO_FLUSH: Dump MSDUs until the the FIFO is empty
866882 * and the TFD queues are empty.