iwlwifi: mvm: update the firmware API in TX
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 2 Aug 2017 06:29:33 +0000 (09:29 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 18 Aug 2017 13:06:59 +0000 (16:06 +0300)
The firmware team is now re-using a bit that hasn't been
used for a few generations. Re-use for TX_ON_AIR drop.
This bit will be set by the firmware to indicate that
a frame in an A-MPDU was dropped but not because of the
already mapped reasons.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/tx.h
drivers/net/wireless/intel/iwlwifi/mvm/tx.c

index 4928310..14ad9fb 100644 (file)
@@ -409,7 +409,8 @@ enum iwl_tx_status {
  * @AGG_TX_STATE_BT_PRIO:
  * @AGG_TX_STATE_FEW_BYTES:
  * @AGG_TX_STATE_ABORT:
- * @AGG_TX_STATE_LAST_SENT_TTL:
+ * @AGG_TX_STATE_TX_ON_AIR_DROP: TX_ON_AIR signal drop without underrun or
+ *     BT detection
  * @AGG_TX_STATE_LAST_SENT_TRY_CNT:
  * @AGG_TX_STATE_LAST_SENT_BT_KILL:
  * @AGG_TX_STATE_SCD_QUERY:
@@ -433,7 +434,7 @@ enum iwl_tx_agg_status {
        AGG_TX_STATE_BT_PRIO = 0x002,
        AGG_TX_STATE_FEW_BYTES = 0x004,
        AGG_TX_STATE_ABORT = 0x008,
-       AGG_TX_STATE_LAST_SENT_TTL = 0x010,
+       AGG_TX_STATE_TX_ON_AIR_DROP = 0x010,
        AGG_TX_STATE_LAST_SENT_TRY_CNT = 0x020,
        AGG_TX_STATE_LAST_SENT_BT_KILL = 0x040,
        AGG_TX_STATE_SCD_QUERY = 0x080,
@@ -445,10 +446,6 @@ enum iwl_tx_agg_status {
        AGG_TX_STATE_TRY_CNT_MSK = 0xf << AGG_TX_STATE_TRY_CNT_POS,
 };
 
-#define AGG_TX_STATE_LAST_SENT_MSK  (AGG_TX_STATE_LAST_SENT_TTL| \
-                                    AGG_TX_STATE_LAST_SENT_TRY_CNT| \
-                                    AGG_TX_STATE_LAST_SENT_BT_KILL)
-
 /*
  * The mask below describes a status where we are absolutely sure that the MPDU
  * wasn't sent. For BA/Underrun we cannot be that sure. All we know that we've
index 6d7d1a6..48f0283 100644 (file)
@@ -1515,7 +1515,7 @@ static const char *iwl_get_agg_tx_status(u16 status)
        AGG_TX_STATE_(BT_PRIO);
        AGG_TX_STATE_(FEW_BYTES);
        AGG_TX_STATE_(ABORT);
-       AGG_TX_STATE_(LAST_SENT_TTL);
+       AGG_TX_STATE_(TX_ON_AIR_DROP);
        AGG_TX_STATE_(LAST_SENT_TRY_CNT);
        AGG_TX_STATE_(LAST_SENT_BT_KILL);
        AGG_TX_STATE_(SCD_QUERY);