Commit 04c073fe authored by Bean Huo's avatar Bean Huo Committed by Martin K. Petersen
Browse files

scsi: ufs: core: Clean up ufshcd_add_command_trace()

To consistent with trace event print, convert the value of the variable
'lba' from a block layer sector address to a logical block adress.

Link: https://lore.kernel.org/r/20210531104308.391842-2-huobean@gmail.com


Suggested-by: default avatarBart Van Assche <bvanassche@acm.org>
Reviewed-by: default avatarCan Guo <cang@codeaurora.org>
Signed-off-by: default avatarBean Huo <beanhuo@micron.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 32424902
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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,24 +383,25 @@ 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);
			/*
			 * The number of Bytes to be unmapped beginning with the
			 * lba.
			 */
			transfer_len = blk_rq_bytes(cmd->request);
		}
	}
	}

	intr = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
	doorbell = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL);