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

Commit 7da91b0e authored by Ariej Marjieh's avatar Ariej Marjieh Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: Enabling Aux Queue



Enabling the Aux queue and mapping it to FIFO 5.
Defining the Aux queue for the Aux station.

Signed-off-by: default avatarAriej Marjieh <ariej.marjieh@intel.com>
Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 576eeee9
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -526,8 +526,12 @@ int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm)


	lockdep_assert_held(&mvm->mutex);
	lockdep_assert_held(&mvm->mutex);


	/* Add the aux station, but without any queues */
	/* Map Aux queue to fifo - needs to happen before adding Aux station */
	ret = iwl_mvm_allocate_int_sta(mvm, &mvm->aux_sta, 0,
	iwl_trans_ac_txq_enable(mvm->trans, mvm->aux_queue,
				IWL_MVM_TX_FIFO_MCAST);

	/* Allocate aux station and assign to it the aux queue */
	ret = iwl_mvm_allocate_int_sta(mvm, &mvm->aux_sta, BIT(mvm->aux_queue),
				       NL80211_IFTYPE_UNSPECIFIED);
				       NL80211_IFTYPE_UNSPECIFIED);
	if (ret)
	if (ret)
		return ret;
		return ret;
+10 −0
Original line number Original line Diff line number Diff line
@@ -310,6 +310,16 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
			  info->hw_queue != info->control.vif->cab_queue)))
			  info->hw_queue != info->control.vif->cab_queue)))
		return -1;
		return -1;


	/*
	 * IWL_MVM_OFFCHANNEL_QUEUE is used for ROC packets that can be used
	 * in 2 different types of vifs, P2P & STATION. P2P uses the offchannel
	 * queue. STATION (HS2.0) uses the auxiliary context of the FW,
	 * and hence needs to be sent on the aux queue
	 */
	if (IEEE80211_SKB_CB(skb)->hw_queue == IWL_MVM_OFFCHANNEL_QUEUE &&
	    info->control.vif->type == NL80211_IFTYPE_STATION)
		IEEE80211_SKB_CB(skb)->hw_queue = mvm->aux_queue;

	/*
	/*
	 * If the interface on which frame is sent is the P2P_DEVICE
	 * If the interface on which frame is sent is the P2P_DEVICE
	 * or an AP/GO interface use the broadcast station associated
	 * or an AP/GO interface use the broadcast station associated