iwlwifi: pcie: remove RSA race workaround
authorLuca Coelho <luciano.coelho@intel.com>
Mon, 13 Feb 2017 07:48:17 +0000 (09:48 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 19 Apr 2017 19:21:48 +0000 (22:21 +0300)
This workaround is not needed anymore.  Remove it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index ed1034e58cb42a4fba91de33732b06fdf69b9562..91f6030529b32ef2848e3d94f09922b627d6df3b 100644 (file)
@@ -720,47 +720,6 @@ static int iwl_pcie_load_section(struct iwl_trans *trans, u8 section_num,
        return ret;
 }
 
-/*
- * Driver Takes the ownership on secure machine before FW load
- * and prevent race with the BT load.
- * W/A for ROM bug. (should be remove in the next Si step)
- */
-static int iwl_pcie_rsa_race_bug_wa(struct iwl_trans *trans)
-{
-       u32 val, loop = 1000;
-
-       /*
-        * Check the RSA semaphore is accessible.
-        * If the HW isn't locked and the rsa semaphore isn't accessible,
-        * we are in trouble.
-        */
-       val = iwl_read_prph(trans, PREG_AUX_BUS_WPROT_0);
-       if (val & (BIT(1) | BIT(17))) {
-               IWL_DEBUG_INFO(trans,
-                              "can't access the RSA semaphore it is write protected\n");
-               return 0;
-       }
-
-       /* take ownership on the AUX IF */
-       iwl_write_prph(trans, WFPM_CTRL_REG, WFPM_AUX_CTL_AUX_IF_MAC_OWNER_MSK);
-       iwl_write_prph(trans, AUX_MISC_MASTER1_EN, AUX_MISC_MASTER1_EN_SBE_MSK);
-
-       do {
-               iwl_write_prph(trans, AUX_MISC_MASTER1_SMPHR_STATUS, 0x1);
-               val = iwl_read_prph(trans, AUX_MISC_MASTER1_SMPHR_STATUS);
-               if (val == 0x1) {
-                       iwl_write_prph(trans, RSA_ENABLE, 0);
-                       return 0;
-               }
-
-               udelay(10);
-               loop--;
-       } while (loop > 0);
-
-       IWL_ERR(trans, "Failed to take ownership on secure machine\n");
-       return -EIO;
-}
-
 static int iwl_pcie_load_cpu_sections_8000(struct iwl_trans *trans,
                                           const struct fw_img *image,
                                           int cpu,
@@ -1010,11 +969,6 @@ static int iwl_pcie_load_given_ucode_8000(struct iwl_trans *trans,
        if (trans->dbg_dest_tlv)
                iwl_pcie_apply_destination(trans);
 
-       /* TODO: remove in the next Si step */
-       ret = iwl_pcie_rsa_race_bug_wa(trans);
-       if (ret)
-               return ret;
-
        IWL_DEBUG_POWER(trans, "Original WFPM value = 0x%08X\n",
                        iwl_read_prph(trans, WFPM_GP2));