iwlwifi: mvm: remove the default calibration values for 7000
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 25 Jun 2013 20:01:28 +0000 (23:01 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 31 Jul 2013 09:04:58 +0000 (11:04 +0200)
The fw is now able to run TX_IQ_SKEW and RX_IQ_SKEW by
itself. No need for default values any more.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Dor Shaish <dor.shaish@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/mvm/fw.c

index cd7c0032cc583073bd5acaa7ceebbd19457aa1c4..c76299a3a1e0821708a91885ffab780b624fdbc1 100644 (file)
 
 #define UCODE_VALID_OK cpu_to_le32(0x1)
 
-/* Default calibration values for WkP - set to INIT image w/o running */
-static const u8 wkp_calib_values_rx_iq_skew[] = { 0x00, 0x00, 0x01, 0x00 };
-static const u8 wkp_calib_values_tx_iq_skew[] = { 0x01, 0x00, 0x00, 0x00 };
-
-struct iwl_calib_default_data {
-       u16 size;
-       void *data;
-};
-
-#define CALIB_SIZE_N_DATA(_buf) {.size = sizeof(_buf), .data = &_buf}
-
-static const struct iwl_calib_default_data wkp_calib_default_data[12] = {
-       [9] = CALIB_SIZE_N_DATA(wkp_calib_values_tx_iq_skew),
-       [11] = CALIB_SIZE_N_DATA(wkp_calib_values_rx_iq_skew),
-};
-
 struct iwl_mvm_alive_data {
        bool valid;
        u32 scd_base_addr;
@@ -248,40 +232,6 @@ static int iwl_send_phy_cfg_cmd(struct iwl_mvm *mvm)
                                    sizeof(phy_cfg_cmd), &phy_cfg_cmd);
 }
 
-static int iwl_set_default_calibrations(struct iwl_mvm *mvm)
-{
-       u8 cmd_raw[16]; /* holds the variable size commands */
-       struct iwl_set_calib_default_cmd *cmd =
-               (struct iwl_set_calib_default_cmd *)cmd_raw;
-       int ret, i;
-
-       /* Setting default values for calibrations we don't run */
-       for (i = 0; i < ARRAY_SIZE(wkp_calib_default_data); i++) {
-               u16 cmd_len;
-
-               if (wkp_calib_default_data[i].size == 0)
-                       continue;
-
-               memset(cmd_raw, 0, sizeof(cmd_raw));
-               cmd_len = wkp_calib_default_data[i].size + sizeof(cmd);
-               cmd->calib_index = cpu_to_le16(i);
-               cmd->length = cpu_to_le16(wkp_calib_default_data[i].size);
-               if (WARN_ONCE(cmd_len > sizeof(cmd_raw),
-                             "Need to enlarge cmd_raw to %d\n", cmd_len))
-                       break;
-               memcpy(cmd->data, wkp_calib_default_data[i].data,
-                      wkp_calib_default_data[i].size);
-               ret = iwl_mvm_send_cmd_pdu(mvm, SET_CALIB_DEFAULT_CMD, 0,
-                                          sizeof(*cmd) +
-                                          wkp_calib_default_data[i].size,
-                                          cmd);
-               if (ret)
-                       return ret;
-       }
-
-       return 0;
-}
-
 int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
 {
        struct iwl_notification_wait calib_wait;
@@ -342,11 +292,6 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
        if (ret)
                goto error;
 
-       /* need to set default values */
-       ret = iwl_set_default_calibrations(mvm);
-       if (ret)
-               goto error;
-
        /*
         * Send phy configurations command to init uCode
         * to start the 16.0 uCode init image internal calibrations.