lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.2 211/249] iwlwifi: dbg: fix debug monitor stop and restart delays
    Date
    From: Shahar S Matityahu <shahar.s.matityahu@intel.com>

    [ Upstream commit fc838c775f35e272e5cc7ef43853f0b55babbe37 ]

    The driver should delay only in recording stop flow between writing to
    DBGC_IN_SAMPLE register and DBGC_OUT_CTRL register. Any other delay is
    not needed.

    Change the following:
    1. Remove any unnecessary delays in the flow
    2. Increase the delay in the stop recording flow since 100 micro is
    not enough
    3. Use usleep_range instead of delay since the driver is allowed to
    sleep in this flow.

    Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
    Fixes: 5cfe79c8d92a ("iwlwifi: fw: stop and start debugging using host command")
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 2 --
    drivers/net/wireless/intel/iwlwifi/fw/dbg.h | 6 ++++--
    2 files changed, 4 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
    index 33d7bc5500db..c875e173771c 100644
    --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
    +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
    @@ -2303,8 +2303,6 @@ void iwl_fw_dbg_collect_sync(struct iwl_fw_runtime *fwrt)
    /* start recording again if the firmware is not crashed */
    if (!test_bit(STATUS_FW_ERROR, &fwrt->trans->status) &&
    fwrt->fw->dbg.dest_tlv) {
    - /* wait before we collect the data till the DBGC stop */
    - udelay(500);
    iwl_fw_dbg_restart_recording(fwrt, &params);
    }
    }
    diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
    index fd0ad220e961..c5c015a66106 100644
    --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
    +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
    @@ -294,7 +294,10 @@ _iwl_fw_dbg_stop_recording(struct iwl_trans *trans,
    }

    iwl_write_umac_prph(trans, DBGC_IN_SAMPLE, 0);
    - udelay(100);
    + /* wait for the DBGC to finish writing the internal buffer to DRAM to
    + * avoid halting the HW while writing
    + */
    + usleep_range(700, 1000);
    iwl_write_umac_prph(trans, DBGC_OUT_CTRL, 0);
    #ifdef CONFIG_IWLWIFI_DEBUGFS
    trans->dbg_rec_on = false;
    @@ -324,7 +327,6 @@ _iwl_fw_dbg_restart_recording(struct iwl_trans *trans,
    iwl_set_bits_prph(trans, MON_BUFF_SAMPLE_CTL, 0x1);
    } else {
    iwl_write_umac_prph(trans, DBGC_IN_SAMPLE, params->in_sample);
    - udelay(100);
    iwl_write_umac_prph(trans, DBGC_OUT_CTRL, params->out_ctrl);
    }
    }
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-15 16:15    [W:2.876 / U:0.180 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site