[v2,1/4] scsi: ufs: Cleanup ufshcd_add_command_trace()

Message ID 20210531104308.391842-2-huobean@gmail.com
State New
Headers show
Series
  • [v2,1/4] scsi: ufs: Cleanup ufshcd_add_command_trace()
Related show

Commit Message

Bean Huo May 31, 2021, 10:43 a.m.
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(-)

Comments

Can Guo June 2, 2021, 2:35 a.m. | #1
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>

Patch

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);
 		}
 	}