]> Git Repo - linux.git/blobdiff - drivers/net/wireless/intel/iwlwifi/mvm/ops.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[linux.git] / drivers / net / wireless / intel / iwlwifi / mvm / ops.c
index 0f45f34e39d3d549b78743d4683ef715296c7918..7078b7e458be84d59e691e88bf791bce9ca9154d 100644 (file)
@@ -86,6 +86,7 @@
 #include "time-event.h"
 #include "fw-api.h"
 #include "fw/api/scan.h"
+#include "fw/acpi.h"
 
 #define DRV_DESCRIPTION        "The new Intel(R) wireless AGN driver for Linux"
 MODULE_DESCRIPTION(DRV_DESCRIPTION);
@@ -423,8 +424,6 @@ static const struct iwl_hcmd_names iwl_mvm_system_names[] = {
  * Access is done through binary search
  */
 static const struct iwl_hcmd_names iwl_mvm_mac_conf_names[] = {
-       HCMD_NAME(LINK_QUALITY_MEASUREMENT_CMD),
-       HCMD_NAME(LINK_QUALITY_MEASUREMENT_COMPLETE_NOTIF),
        HCMD_NAME(CHANNEL_SWITCH_NOA_NOTIF),
 };
 
@@ -490,18 +489,21 @@ static const struct iwl_hcmd_arr iwl_mvm_groups[] = {
 static void iwl_mvm_async_handlers_wk(struct work_struct *wk);
 static void iwl_mvm_d0i3_exit_work(struct work_struct *wk);
 
-static u32 calc_min_backoff(struct iwl_trans *trans, const struct iwl_cfg *cfg)
+static u32 iwl_mvm_min_backoff(struct iwl_mvm *mvm)
 {
-       const struct iwl_pwr_tx_backoff *pwr_tx_backoff = cfg->pwr_tx_backoffs;
+       const struct iwl_pwr_tx_backoff *backoff = mvm->cfg->pwr_tx_backoffs;
+       u64 dflt_pwr_limit;
 
-       if (!pwr_tx_backoff)
+       if (!backoff)
                return 0;
 
-       while (pwr_tx_backoff->pwr) {
-               if (trans->dflt_pwr_limit >= pwr_tx_backoff->pwr)
-                       return pwr_tx_backoff->backoff;
+       dflt_pwr_limit = iwl_acpi_get_pwr_limit(mvm->dev);
 
-               pwr_tx_backoff++;
+       while (backoff->pwr) {
+               if (dflt_pwr_limit >= backoff->pwr)
+                       return backoff->backoff;
+
+               backoff++;
        }
 
        return 0;
@@ -701,7 +703,6 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
        trans_cfg.cb_data_offs = offsetof(struct ieee80211_tx_info,
                                          driver_data[2]);
 
-       trans_cfg.sdio_adma_addr = fw->sdio_adma_addr;
        trans_cfg.sw_csum_tx = IWL_MVM_SW_TX_CSUM_OFFLOAD;
 
        /* Set a short watchdog for the command queue */
@@ -771,7 +772,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
                goto out_free;
        mvm->hw_registered = true;
 
-       min_backoff = calc_min_backoff(trans, cfg);
+       min_backoff = iwl_mvm_min_backoff(mvm);
        iwl_mvm_thermal_initialize(mvm, min_backoff);
 
        err = iwl_mvm_dbgfs_register(mvm, dbgfs_dir);
This page took 0.039054 seconds and 4 git commands to generate.