Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d307ec8d authored by Eyal Shapira's avatar Eyal Shapira Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: add LQ flags definitions



Add more bit field definitions used in LQ flags.
Also rename the first bit to a shorter name.

Signed-off-by: default avatarEyal Shapira <eyal@wizery.com>
Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 1fa3f57a
Loading
Loading
Loading
Loading
+25 −2
Original line number Original line Diff line number Diff line
@@ -281,8 +281,31 @@ enum {
/* # entries in rate scale table to support Tx retries */
/* # entries in rate scale table to support Tx retries */
#define  LQ_MAX_RETRY_NUM 16
#define  LQ_MAX_RETRY_NUM 16


/* Link quality command flags, only this one is available */
/* Link quality command flags bit fields */
#define  LQ_FLAG_SET_STA_TLC_RTS_MSK	BIT(0)

/* Bit 0: (0) Don't use RTS (1) Use RTS */
#define LQ_FLAG_USE_RTS_POS             0
#define LQ_FLAG_USE_RTS_MSK	        (1 << LQ_FLAG_USE_RTS_POS)

/* Bit 1-3: LQ command color. Used to match responses to LQ commands */
#define LQ_FLAG_COLOR_POS               1
#define LQ_FLAG_COLOR_MSK               (7 << LQ_FLAG_COLOR_POS)

/* Bit 4-5: Tx RTS BW Signalling
 * (0) No RTS BW signalling
 * (1) Static BW signalling
 * (2) Dynamic BW signalling
 */
#define LQ_FLAG_RTS_BW_SIG_POS          4
#define LQ_FLAG_RTS_BW_SIG_NONE         (0 << LQ_FLAG_RTS_BW_SIG_POS)
#define LQ_FLAG_RTS_BW_SIG_STATIC       (1 << LQ_FLAG_RTS_BW_SIG_POS)
#define LQ_FLAG_RTS_BW_SIG_DYNAMIC      (2 << LQ_FLAG_RTS_BW_SIG_POS)

/* Bit 6: (0) No dynamic BW selection (1) Allow dynamic BW selection
 * Dyanmic BW selection allows Tx with narrower BW then requested in rates
 */
#define LQ_FLAG_DYNAMIC_BW_POS          6
#define LQ_FLAG_DYNAMIC_BW_MSK          (1 << LQ_FLAG_DYNAMIC_BW_POS)


/**
/**
 * struct iwl_lq_cmd - link quality command
 * struct iwl_lq_cmd - link quality command
+2 −2
Original line number Original line Diff line number Diff line
@@ -2862,12 +2862,12 @@ int iwl_mvm_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,


	if (enable) {
	if (enable) {
		if (mvmsta->tx_protection == 0)
		if (mvmsta->tx_protection == 0)
			lq->flags |= LQ_FLAG_SET_STA_TLC_RTS_MSK;
			lq->flags |= LQ_FLAG_USE_RTS_MSK;
		mvmsta->tx_protection++;
		mvmsta->tx_protection++;
	} else {
	} else {
		mvmsta->tx_protection--;
		mvmsta->tx_protection--;
		if (mvmsta->tx_protection == 0)
		if (mvmsta->tx_protection == 0)
			lq->flags &= ~LQ_FLAG_SET_STA_TLC_RTS_MSK;
			lq->flags &= ~LQ_FLAG_USE_RTS_MSK;
	}
	}


	return iwl_mvm_send_lq_cmd(mvm, lq, false);
	return iwl_mvm_send_lq_cmd(mvm, lq, false);