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

Commit 94073919 authored by Johannes Berg's avatar Johannes Berg Committed by Wey-Yi Guy
Browse files

iwlwifi: replace minimum slot time constant



There are a number of places where the minimum
slot time is hardcoded to 20 TU, add a new
constant for that and use it everywhere.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent 9b9190d9
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -308,7 +308,7 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
	if (priv->_agn.hw_roc_channel) {
	if (priv->_agn.hw_roc_channel) {
		/* both contexts must be used for this to happen */
		/* both contexts must be used for this to happen */
		slot1 = priv->_agn.hw_roc_duration;
		slot1 = priv->_agn.hw_roc_duration;
		slot0 = 20;
		slot0 = IWL_MIN_SLOT_TIME;
	} else if (ctx_bss->vif && ctx_pan->vif) {
	} else if (ctx_bss->vif && ctx_pan->vif) {
		int bcnint = ctx_pan->vif->bss_conf.beacon_int;
		int bcnint = ctx_pan->vif->bss_conf.beacon_int;
		int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1;
		int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1;
@@ -334,12 +334,12 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
		if (test_bit(STATUS_SCAN_HW, &priv->status) ||
		if (test_bit(STATUS_SCAN_HW, &priv->status) ||
		    (!ctx_bss->vif->bss_conf.idle &&
		    (!ctx_bss->vif->bss_conf.idle &&
		     !ctx_bss->vif->bss_conf.assoc)) {
		     !ctx_bss->vif->bss_conf.assoc)) {
			slot0 = dtim * bcnint * 3 - 20;
			slot0 = dtim * bcnint * 3 - IWL_MIN_SLOT_TIME;
			slot1 = 20;
			slot1 = IWL_MIN_SLOT_TIME;
		} else if (!ctx_pan->vif->bss_conf.idle &&
		} else if (!ctx_pan->vif->bss_conf.idle &&
			   !ctx_pan->vif->bss_conf.assoc) {
			   !ctx_pan->vif->bss_conf.assoc) {
			slot1 = bcnint * 3 - 20;
			slot1 = bcnint * 3 - IWL_MIN_SLOT_TIME;
			slot0 = 20;
			slot0 = IWL_MIN_SLOT_TIME;
		}
		}
	} else if (ctx_pan->vif) {
	} else if (ctx_pan->vif) {
		slot0 = 0;
		slot0 = 0;
@@ -348,8 +348,8 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
		slot1 = max_t(int, DEFAULT_BEACON_INTERVAL, slot1);
		slot1 = max_t(int, DEFAULT_BEACON_INTERVAL, slot1);


		if (test_bit(STATUS_SCAN_HW, &priv->status)) {
		if (test_bit(STATUS_SCAN_HW, &priv->status)) {
			slot0 = slot1 * 3 - 20;
			slot0 = slot1 * 3 - IWL_MIN_SLOT_TIME;
			slot1 = 20;
			slot1 = IWL_MIN_SLOT_TIME;
		}
		}
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -3792,7 +3792,7 @@ static int iwl_mac_remain_on_channel(struct ieee80211_hw *hw,
	queue_delayed_work(priv->workqueue, &priv->_agn.hw_roc_work,
	queue_delayed_work(priv->workqueue, &priv->_agn.hw_roc_work,
			   msecs_to_jiffies(duration + 20));
			   msecs_to_jiffies(duration + 20));


	msleep(20);
	msleep(IWL_MIN_SLOT_TIME); /* TU is almost ms */
	ieee80211_ready_on_channel(priv->hw);
	ieee80211_ready_on_channel(priv->hw);


 out:
 out:
+5 −0
Original line number Original line Diff line number Diff line
@@ -4370,6 +4370,11 @@ int iwl_agn_check_rxon_cmd(struct iwl_priv *priv);
 * REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification)
 * REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification)
 */
 */


/*
 * Minimum slot time in TU
 */
#define IWL_MIN_SLOT_TIME	20

/**
/**
 * struct iwl_wipan_slot
 * struct iwl_wipan_slot
 * @width: Time in TU
 * @width: Time in TU