> Hi Kiwoong, > > Kiwoong Kim <kwmad.kim@xxxxxxxxxxx> 於 2020年6月20日 週六 下午3:00寫道: > > > > Some SoC specific might need command history for various reasons, such > > as stacking command contexts in system memory to check for debugging > > in the future or scaling some DVFS knobs to boost IO throughput. > > > > What you would do with the information could be variant per SoC > > vendor. > > > > Signed-off-by: Kiwoong Kim <kwmad.kim@xxxxxxxxxxx> > > --- > > drivers/scsi/ufs/ufshcd.c | 4 ++++ > > drivers/scsi/ufs/ufshcd.h | 8 ++++++++ > > 2 files changed, 12 insertions(+) > > > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > > index 52abe82..0eae3ce 100644 > > --- a/drivers/scsi/ufs/ufshcd.c > > +++ b/drivers/scsi/ufs/ufshcd.c > > @@ -2545,6 +2545,8 @@ static int ufshcd_queuecommand(struct Scsi_Host > *host, struct scsi_cmnd *cmd) > > /* issue command to the controller */ > > spin_lock_irqsave(hba->host->host_lock, flags); > > ufshcd_vops_setup_xfer_req(hba, tag, true); > > + if (cmd) > > + ufshcd_vops_cmd_log(hba, cmd, 1); > > ufshcd_send_command(hba, tag); > > out_unlock: > > spin_unlock_irqrestore(hba->host->host_lock, flags); @@ > > -4890,6 +4892,8 @@ static void __ufshcd_transfer_req_compl(struct > ufs_hba *hba, > > /* Mark completed command as NULL in LRB */ > > lrbp->cmd = NULL; > > lrbp->compl_time_stamp = ktime_get(); > > + ufshcd_vops_cmd_log(hba, cmd, 2); > > + > > /* Do not touch lrbp after scsi done */ > > cmd->scsi_done(cmd); > > __ufshcd_release(hba); > > If your cmd_log vop callbacks are only existed in "ufshcd_queuecommand" > and "ufshcd_transfer_req_compl", perhaps you could re-use > "ufshcd_vops_setup_xfer_req()" and an added "ufshcd_vops_compl_req()" > instead of a brand new "ufshcd_vops_cmd_log()" ? > > Thanks, > Stanley Chu Currently, ufshcd_vops_setup_xfer_req doesn't get scsi_cmnd variable. Actually, when introduced this callback first, I was willing to make it do that but someone gave me another idea. Then do you agree to change argument set of the function? And I can't find ufshcd_vops_compl_req in 5.9/scsi-queue. Could you let me know where to find? Thank you for your opinions.