Commit 28d0793e authored by Liad Kaufman's avatar Liad Kaufman Committed by Luca Coelho
Browse files

iwlwifi: mvm: update aux queue in dqa mode



In DQA mode the AUX queue is mapped elsewhere than in non-
DQA mode. Update the code to reflect this.

Signed-off-by: default avatarLiad Kaufman <liad.kaufman@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 93f436e2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ enum {
 * DQA queue numbers
 *
 * @IWL_MVM_DQA_CMD_QUEUE: a queue reserved for sending HCMDs to the FW
 * @IWL_MVM_DQA_AUX_QUEUE: a queue reserved for aux frames
 * @IWL_MVM_DQA_P2P_DEVICE_QUEUE: a queue reserved for P2P device frames
 * @IWL_MVM_DQA_GCAST_QUEUE: a queue reserved for P2P GO/SoftAP GCAST frames
 * @IWL_MVM_DQA_BSS_CLIENT_QUEUE: a queue reserved for BSS activity, to ensure
@@ -108,6 +109,7 @@ enum {
 */
enum iwl_mvm_dqa_txq {
	IWL_MVM_DQA_CMD_QUEUE = 0,
	IWL_MVM_DQA_AUX_QUEUE = 1,
	IWL_MVM_DQA_P2P_DEVICE_QUEUE = 2,
	IWL_MVM_DQA_GCAST_QUEUE = 3,
	IWL_MVM_DQA_BSS_CLIENT_QUEUE = 4,
+9 −6
Original line number Diff line number Diff line
@@ -577,17 +577,20 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,

	mvm->restart_fw = iwlwifi_mod_params.restart_fw ? -1 : 0;

	mvm->aux_queue = 15;
	if (!iwl_mvm_is_dqa_supported(mvm)) {
		mvm->first_agg_queue = 16;
		mvm->last_agg_queue = mvm->cfg->base_params->num_of_queues - 1;
	} else {
		mvm->first_agg_queue = IWL_MVM_DQA_MIN_DATA_QUEUE;
		mvm->last_agg_queue = IWL_MVM_DQA_MAX_DATA_QUEUE;
	}

		if (mvm->cfg->base_params->num_of_queues == 16) {
			mvm->aux_queue = 11;
			mvm->first_agg_queue = 12;
		} else {
			mvm->aux_queue = 15;
			mvm->first_agg_queue = 16;
		}
	} else {
		mvm->aux_queue = IWL_MVM_DQA_AUX_QUEUE;
		mvm->first_agg_queue = IWL_MVM_DQA_MIN_DATA_QUEUE;
		mvm->last_agg_queue = IWL_MVM_DQA_MAX_DATA_QUEUE;
	}
	mvm->sf_state = SF_UNINIT;
	mvm->cur_ucode = IWL_UCODE_INIT;
+16 −2
Original line number Diff line number Diff line
@@ -1309,6 +1309,7 @@ int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm)
	lockdep_assert_held(&mvm->mutex);

	/* Map Aux queue to fifo - needs to happen before adding Aux station */
	if (!iwl_mvm_is_dqa_supported(mvm))
		iwl_mvm_enable_ac_txq(mvm, mvm->aux_queue, mvm->aux_queue,
				      IWL_MVM_TX_FIFO_MCAST, 0, wdg_timeout);

@@ -1318,6 +1319,19 @@ int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm)
	if (ret)
		return ret;

	if (iwl_mvm_is_dqa_supported(mvm)) {
		struct iwl_trans_txq_scd_cfg cfg = {
			.fifo = IWL_MVM_TX_FIFO_MCAST,
			.sta_id = mvm->aux_sta.sta_id,
			.tid = IWL_MAX_TID_COUNT,
			.aggregate = false,
			.frame_limit = IWL_FRAME_LIMIT,
		};

		iwl_mvm_enable_txq(mvm, mvm->aux_queue, mvm->aux_queue, 0, &cfg,
				   wdg_timeout);
	}

	ret = iwl_mvm_add_int_sta_common(mvm, &mvm->aux_sta, NULL,
					 MAC_INDEX_AUX, 0);