mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
scsi: ufs: core: Optimize ufshcd_add_uic_command_trace()
Use cached values in ufshcd_add_uic_command_trace() instead of calling readl() when tracing command submission (UFS_CMD_SEND). Signed-off-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Peter Wang <peter.wang@mediatek.com> Link: https://patch.msgid.link/20260519212135.3130556-4-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
9fb4c79322
commit
f8380c57dc
|
|
@ -460,20 +460,24 @@ static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
|
|||
const struct uic_command *ucmd,
|
||||
enum ufs_trace_str_t str_t)
|
||||
{
|
||||
u32 cmd;
|
||||
u32 cmd, arg1, arg2, arg3;
|
||||
|
||||
if (!trace_ufshcd_uic_command_enabled())
|
||||
return;
|
||||
|
||||
if (str_t == UFS_CMD_SEND)
|
||||
if (str_t == UFS_CMD_SEND) {
|
||||
cmd = ucmd->command;
|
||||
else
|
||||
arg1 = ucmd->argument1;
|
||||
arg2 = ucmd->argument2;
|
||||
arg3 = ucmd->argument3;
|
||||
} else {
|
||||
cmd = ufshcd_readl(hba, REG_UIC_COMMAND);
|
||||
arg1 = ufshcd_readl(hba, REG_UIC_COMMAND_ARG_1);
|
||||
arg2 = ufshcd_readl(hba, REG_UIC_COMMAND_ARG_2);
|
||||
arg3 = ufshcd_readl(hba, REG_UIC_COMMAND_ARG_3);
|
||||
}
|
||||
|
||||
trace_ufshcd_uic_command(hba, str_t, cmd,
|
||||
ufshcd_readl(hba, REG_UIC_COMMAND_ARG_1),
|
||||
ufshcd_readl(hba, REG_UIC_COMMAND_ARG_2),
|
||||
ufshcd_readl(hba, REG_UIC_COMMAND_ARG_3));
|
||||
trace_ufshcd_uic_command(hba, str_t, cmd, arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
static void ufshcd_add_command_trace(struct ufs_hba *hba, struct scsi_cmnd *cmd,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user