wifi: ieee80211: correctly mark FTM frames non-bufferable
[carl9170fw.git] / include / shared / fwdesc.h
index 921066822dd5a77529b9834fd958b1d7c7da3dbc..10acb6ad30d0ae48c761237f7d9c235842e906f5 100644 (file)
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Shared CARL9170 Header
  *
  * Firmware descriptor format
  *
- * Copyright 2009, 2010, Christian Lamparter <chunkeey@googlemail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING.  If not, see
- * http://www.gnu.org/licenses/.
+ * Copyright 2009-2011 Christian Lamparter <chunkeey@googlemail.com>
  */
 
 #ifndef __CARL9170_SHARED_FWDESC_H
@@ -72,6 +60,21 @@ enum carl9170fw_feature_list {
        /* Wake up on WLAN */
        CARL9170FW_WOL,
 
+       /* Firmware supports PSM in the 5GHZ Band */
+       CARL9170FW_FIXED_5GHZ_PSM,
+
+       /* HW (ANI, CCA, MIB) tally counters */
+       CARL9170FW_HW_COUNTERS,
+
+       /* Firmware will pass BA when BARs are queued */
+       CARL9170FW_RX_BA_FILTER,
+
+       /* Firmware has support to write a byte at a time */
+       CARL9170FW_HAS_WREGB_CMD,
+
+       /* Pattern generator */
+       CARL9170FW_PATTERN_GENERATOR,
+
        /* KEEP LAST */
        __CARL9170FW_FEATURE_NUM
 };
@@ -82,6 +85,7 @@ enum carl9170fw_feature_list {
 #define DBG_MAGIC      "DBG\0"
 #define CHK_MAGIC      "CHK\0"
 #define TXSQ_MAGIC     "TXSQ"
+#define WOL_MAGIC      "WOL\0"
 #define LAST_MAGIC     "LAST"
 
 #define CARL9170FW_SET_DAY(d) (((d) - 1) % 31)
@@ -104,7 +108,7 @@ struct carl9170fw_desc_head {
        (sizeof(struct carl9170fw_desc_head))
 
 #define CARL9170FW_OTUS_DESC_MIN_VER           6
-#define CARL9170FW_OTUS_DESC_CUR_VER           6
+#define CARL9170FW_OTUS_DESC_CUR_VER           7
 struct carl9170fw_otus_desc {
        struct carl9170fw_desc_head head;
        __le32 feature_set;
@@ -145,7 +149,7 @@ struct carl9170fw_fix_entry {
 
 struct carl9170fw_fix_desc {
        struct carl9170fw_desc_head head;
-       struct carl9170fw_fix_entry data[0];
+       struct carl9170fw_fix_entry data[];
 } __packed;
 #define CARL9170FW_FIX_DESC_SIZE                       \
        (sizeof(struct carl9170fw_fix_desc))
@@ -186,6 +190,16 @@ struct carl9170fw_txsq_desc {
 #define CARL9170FW_TXSQ_DESC_SIZE                      \
        (sizeof(struct carl9170fw_txsq_desc))
 
+#define CARL9170FW_WOL_DESC_MIN_VER                    1
+#define CARL9170FW_WOL_DESC_CUR_VER                    1
+struct carl9170fw_wol_desc {
+       struct carl9170fw_desc_head head;
+
+       __le32 supported_triggers;      /* CARL9170_WOL_ */
+} __packed;
+#define CARL9170FW_WOL_DESC_SIZE                       \
+       (sizeof(struct carl9170fw_wol_desc))
+
 #define CARL9170FW_LAST_DESC_MIN_VER                   1
 #define CARL9170FW_LAST_DESC_CUR_VER                   2
 struct carl9170fw_last_desc {