]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
staging: wfx: drop struct wfx_edca_params
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 17 Dec 2019 16:15:24 +0000 (16:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Dec 2019 14:56:22 +0000 (15:56 +0100)
Intermediate structure wfx_edca_params does not help. This patch
relocates its members directly in struct wfx_vif.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191217161318.31402-42-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/queue.c
drivers/staging/wfx/sta.c
drivers/staging/wfx/sta.h
drivers/staging/wfx/wfx.h

index 680fed31cefb02b6771d5b531f7080f1fb4b05c7..16216afe6cfc6e467f64ade640f3f0b65eec3cd4 100644 (file)
@@ -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;
index b4007afcd0c63ed0c170443bd7f7e746cd843d0f..d52f618062a6240be4c6fade8be3b77124c91f51 100644 (file)
@@ -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;
index 74755f6fa030450bfed22b29f10bb3f20e08983a..9595e1fc60db7f9b9d4f256e9f0071393b1d9340 100644 (file)
@@ -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;
index ff29163436b65508bf559c432b278a9e90d37c3c..5a2f8af17eb7b54b4e1544c08377966555386d51 100644 (file)
@@ -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;