Commit 7e2b32f5 authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

staging: wfx: drop struct wfx_edca_params



Intermediate structure wfx_edca_params does not help. This patch
relocates its members directly in struct wfx_vif.

Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191217161318.31402-42-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent adc90758
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -452,7 +452,7 @@ static int wfx_get_prio_queue(struct wfx_vif *wvif,
	for (i = 0; i < IEEE80211_NUM_ACS; ++i) {
		int queued;

		edca = &wvif->edca.params[i];
		edca = &wvif->edca_params[i];
		queued = wfx_tx_queue_get_num_queued(&wvif->wdev->tx_queue[i],
				tx_allowed_mask);
		if (!queued)
@@ -595,7 +595,7 @@ struct hif_msg *wfx_tx_queues_get(struct wfx_dev *wdev)
		wvif->pspoll_mask &= ~BIT(tx_priv->raw_link_id);

		/* allow bursting if txop is set */
		if (wvif->edca.params[queue_num].tx_op_limit)
		if (wvif->edca_params[queue_num].tx_op_limit)
			burst = (int)wfx_tx_queue_get_num_queued(queue, tx_allowed_mask) + 1;
		else
			burst = 1;
+9 −9
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ static int wfx_update_pm(struct wfx_vif *wvif)
		return 0;
	if (!ps)
		ps_timeout = 0;
	if (wvif->edca.uapsd_mask)
	if (wvif->uapsd_mask)
		ps_timeout = 0;

	// Kernel disable PowerSave when multiple vifs are in use. In contrary,
@@ -327,8 +327,8 @@ int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
	WARN_ON(queue >= hw->queues);

	mutex_lock(&wdev->conf_mutex);
	assign_bit(queue, &wvif->edca.uapsd_mask, params->uapsd);
	edca = &wvif->edca.params[queue];
	assign_bit(queue, &wvif->uapsd_mask, params->uapsd);
	edca = &wvif->edca_params[queue];
	edca->aifsn = params->aifs;
	edca->cw_min = params->cw_min;
	edca->cw_max = params->cw_max;
@@ -337,7 +337,7 @@ int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
	hif_set_edca_queue_params(wvif, edca);

	if (wvif->vif->type == NL80211_IFTYPE_STATION) {
		hif_set_uapsd_info(wvif, wvif->edca.uapsd_mask);
		hif_set_uapsd_info(wvif, wvif->uapsd_mask);
		if (wvif->setbssparams_done && wvif->state == WFX_STATE_STA)
			wfx_update_pm(wvif);
	}
@@ -1426,7 +1426,7 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
		},
	};

	BUILD_BUG_ON(ARRAY_SIZE(default_edca_params) != ARRAY_SIZE(wvif->edca.params));
	BUILD_BUG_ON(ARRAY_SIZE(default_edca_params) != ARRAY_SIZE(wvif->edca_params));
	if (wfx_api_older_than(wdev, 2, 0)) {
		default_edca_params[IEEE80211_AC_BE].queue_id = HIF_QUEUE_ID_BACKGROUND;
		default_edca_params[IEEE80211_AC_BK].queue_id = HIF_QUEUE_ID_BESTEFFORT;
@@ -1502,12 +1502,12 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)

	hif_set_macaddr(wvif, vif->addr);
	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
		memcpy(&wvif->edca.params[i], &default_edca_params[i],
		memcpy(&wvif->edca_params[i], &default_edca_params[i],
		       sizeof(default_edca_params[i]));
		hif_set_edca_queue_params(wvif, &wvif->edca.params[i]);
		hif_set_edca_queue_params(wvif, &wvif->edca_params[i]);
	}
	wvif->edca.uapsd_mask = 0;
	hif_set_uapsd_info(wvif, wvif->edca.uapsd_mask);
	wvif->uapsd_mask = 0;
	hif_set_uapsd_info(wvif, wvif->uapsd_mask);

	wfx_tx_policy_init(wvif);
	wvif = NULL;
+0 −6
Original line number Diff line number Diff line
@@ -34,12 +34,6 @@ struct wfx_hif_event {
	struct hif_ind_event evt;
};

struct wfx_edca_params {
	/* NOTE: index is a linux queue id. */
	struct hif_req_edca_queue_params params[IEEE80211_NUM_ACS];
	unsigned long uapsd_mask;
};

struct wfx_grp_addr_table {
	bool enable;
	int num_addresses;
+2 −1
Original line number Diff line number Diff line
@@ -113,7 +113,8 @@ struct wfx_vif {
	int			cqm_rssi_thold;
	bool			setbssparams_done;
	struct wfx_ht_info	ht_info;
	struct wfx_edca_params	edca;
	unsigned long		uapsd_mask;
	struct hif_req_edca_queue_params edca_params[IEEE80211_NUM_ACS];
	struct hif_req_set_bss_params bss_params;
	struct work_struct	bss_params_work;
	struct work_struct	set_cts_work;