wifi: iwlwifi: pcie: adjust Bz device timings
authorJohannes Berg <johannes.berg@intel.com>
Wed, 31 May 2023 16:50:00 +0000 (19:50 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 6 Jun 2023 11:39:47 +0000 (13:39 +0200)
The 100ms shouldn't be needed, only 10ms. However after
reset we should have 10ms as well for these devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230531194629.9a5627c1ff18.Ifcfbccd5458bd9ebd496aa834284fb0facfcaaef@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index b281850..db10bd3 100644 (file)
@@ -131,13 +131,15 @@ static int iwl_trans_pcie_sw_reset(struct iwl_trans *trans,
                                   bool retake_ownership)
 {
        /* Reset entire device - do controller reset (results in SHRD_HW_RST) */
-       if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ)
+       if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ) {
                iwl_set_bit(trans, CSR_GP_CNTRL,
                            CSR_GP_CNTRL_REG_FLAG_SW_RESET);
-       else
+               usleep_range(10000, 20000);
+       } else {
                iwl_set_bit(trans, CSR_RESET,
                            CSR_RESET_REG_FLAG_SW_RESET);
-       usleep_range(5000, 6000);
+               usleep_range(5000, 6000);
+       }
 
        if (retake_ownership)
                return iwl_pcie_prepare_card_hw(trans);
@@ -475,7 +477,7 @@ void iwl_pcie_apm_stop_master(struct iwl_trans *trans)
                                   CSR_GP_CNTRL_REG_FLAG_BUS_MASTER_DISABLE_STATUS,
                                   CSR_GP_CNTRL_REG_FLAG_BUS_MASTER_DISABLE_STATUS,
                                   100);
-               msleep(100);
+               usleep_range(10000, 20000);
        } else {
                iwl_set_bit(trans, CSR_RESET, CSR_RESET_REG_FLAG_STOP_MASTER);