Message ID | 20210531104308.391842-2-huobean@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Several minor changes for UFS | expand |
On 2021-05-31 18:43, Bean Huo wrote: > From: Bean Huo <beanhuo@micron.com> > > To consistent with trace event print, convert the value of the > variable 'lba' in the unit of LBA (logical block address). > > Suggested-by: Bart Van Assche <bvanassche@acm.org> > Signed-off-by: Bean Huo <beanhuo@micron.com> > --- > drivers/scsi/ufs/ufshcd.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 02267b090729..85590d3a719e 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -25,6 +25,7 @@ > #include "ufs_bsg.h" > #include "ufshcd-crypto.h" > #include <asm/unaligned.h> > +#include "../sd.h" > > #define CREATE_TRACE_POINTS > #include <trace/events/ufs.h> > @@ -364,7 +365,7 @@ static void ufshcd_add_uic_command_trace(struct > ufs_hba *hba, > static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int > tag, > enum ufs_trace_str_t str_t) > { > - sector_t lba = -1; > + u64 lba = -1; > u8 opcode = 0, group_id = 0; > u32 intr, doorbell; > struct ufshcd_lrb *lrbp = &hba->lrb[tag]; > @@ -382,22 +383,23 @@ static void ufshcd_add_command_trace(struct > ufs_hba *hba, unsigned int tag, > /* trace UPIU also */ > ufshcd_add_cmd_upiu_trace(hba, tag, str_t); > opcode = cmd->cmnd[0]; > + lba = sectors_to_logical(cmd->device, blk_rq_pos(cmd->request)); > + > if ((opcode == READ_10) || (opcode == WRITE_10)) { > /* > * Currently we only fully trace read(10) and write(10) > * commands > */ > - if (cmd->request && cmd->request->bio) > - lba = cmd->request->bio->bi_iter.bi_sector; > transfer_len = be32_to_cpu( > lrbp->ucd_req_ptr->sc.exp_data_transfer_len); > if (opcode == WRITE_10) > group_id = lrbp->cmd->cmnd[6]; > } else if (opcode == UNMAP) { > - if (cmd->request) { > - lba = scsi_get_lba(cmd); > - transfer_len = blk_rq_bytes(cmd->request); > - } > + /* > + * The number of Bytes to be unmapped beginning with the > + * lba. > + */ > + transfer_len = blk_rq_bytes(cmd->request); > } > } Reviewed-by: Can Guo <cang@codeaurora.org>
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 02267b090729..85590d3a719e 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -25,6 +25,7 @@ #include "ufs_bsg.h" #include "ufshcd-crypto.h" #include <asm/unaligned.h> +#include "../sd.h" #define CREATE_TRACE_POINTS #include <trace/events/ufs.h> @@ -364,7 +365,7 @@ static void ufshcd_add_uic_command_trace(struct ufs_hba *hba, static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag, enum ufs_trace_str_t str_t) { - sector_t lba = -1; + u64 lba = -1; u8 opcode = 0, group_id = 0; u32 intr, doorbell; struct ufshcd_lrb *lrbp = &hba->lrb[tag]; @@ -382,22 +383,23 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag, /* trace UPIU also */ ufshcd_add_cmd_upiu_trace(hba, tag, str_t); opcode = cmd->cmnd[0]; + lba = sectors_to_logical(cmd->device, blk_rq_pos(cmd->request)); + if ((opcode == READ_10) || (opcode == WRITE_10)) { /* * Currently we only fully trace read(10) and write(10) * commands */ - if (cmd->request && cmd->request->bio) - lba = cmd->request->bio->bi_iter.bi_sector; transfer_len = be32_to_cpu( lrbp->ucd_req_ptr->sc.exp_data_transfer_len); if (opcode == WRITE_10) group_id = lrbp->cmd->cmnd[6]; } else if (opcode == UNMAP) { - if (cmd->request) { - lba = scsi_get_lba(cmd); - transfer_len = blk_rq_bytes(cmd->request); - } + /* + * The number of Bytes to be unmapped beginning with the + * lba. + */ + transfer_len = blk_rq_bytes(cmd->request); } }