mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 12:30:23 +09:00
BACKPORT: FROMGIT: scsi: ufs: Include the SCSI ID in UFS command tracing output
The logical unit information is missing from the UFS command tracing
output. Although the device name is logged, e.g. 13200000.ufs, this
name does not include logical unit information. Hence this patch that
replaces the device name with the SCSI ID in the tracing output. An
example of tracing output with this patch applied:
kworker/8:0H-80 [008] ..... 89.106063: ufshcd_command: send_req: 0:0:0:4: tag: 10, DB: 0x7ffffbff, size: 524288, IS: 0, LBA: 1085538, opcode: 0x8a (WRITE_16), group_id: 0x0
dd-4225 [000] d.h.. 89.106219: ufshcd_command: complete_rsp: 0:0:0:4: tag: 11, DB: 0x7ffff7ff, size: 524288, IS: 0, LBA: 1081728, opcode: 0x8a (WRITE_16), group_id: 0x0
Bug: 299493745
Change-Id: I140a5b0bfea25d17d0c0e46038cb016d8f6ca589
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
(cherry picked from commit ccc3e1363069c5955045824bb0e63c51d8873e25 git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next)
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
committed by
Todd Kjos
parent
33d2a21b81
commit
cfe32cb3c3
@@ -464,7 +464,7 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag,
|
||||
|
||||
intr = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
|
||||
doorbell = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL);
|
||||
trace_ufshcd_command(dev_name(hba->dev), str_t, tag,
|
||||
trace_ufshcd_command(cmd->device, str_t, tag,
|
||||
doorbell, transfer_len, intr, lba, opcode, group_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -269,15 +269,15 @@ DEFINE_EVENT(ufshcd_template, ufshcd_wl_runtime_resume,
|
||||
TP_ARGS(dev_name, err, usecs, dev_state, link_state));
|
||||
|
||||
TRACE_EVENT(ufshcd_command,
|
||||
TP_PROTO(const char *dev_name, enum ufs_trace_str_t str_t,
|
||||
TP_PROTO(struct scsi_device *sdev, enum ufs_trace_str_t str_t,
|
||||
unsigned int tag, u32 doorbell, int transfer_len, u32 intr,
|
||||
u64 lba, u8 opcode, u8 group_id),
|
||||
|
||||
TP_ARGS(dev_name, str_t, tag, doorbell, transfer_len,
|
||||
TP_ARGS(sdev, str_t, tag, doorbell, transfer_len,
|
||||
intr, lba, opcode, group_id),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__string(dev_name, dev_name)
|
||||
__field(struct scsi_device *, sdev)
|
||||
__field(enum ufs_trace_str_t, str_t)
|
||||
__field(unsigned int, tag)
|
||||
__field(u32, doorbell)
|
||||
@@ -289,7 +289,7 @@ TRACE_EVENT(ufshcd_command,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(dev_name, dev_name);
|
||||
__entry->sdev = sdev;
|
||||
__entry->str_t = str_t;
|
||||
__entry->tag = tag;
|
||||
__entry->doorbell = doorbell;
|
||||
@@ -302,7 +302,8 @@ TRACE_EVENT(ufshcd_command,
|
||||
|
||||
TP_printk(
|
||||
"%s: %s: tag: %u, DB: 0x%x, size: %d, IS: %u, LBA: %llu, opcode: 0x%x (%s), group_id: 0x%x",
|
||||
show_ufs_cmd_trace_str(__entry->str_t), __get_str(dev_name),
|
||||
show_ufs_cmd_trace_str(__entry->str_t),
|
||||
dev_name(&__entry->sdev->sdev_dev),
|
||||
__entry->tag, __entry->doorbell, __entry->transfer_len,
|
||||
__entry->intr, __entry->lba, (u32)__entry->opcode,
|
||||
str_opcode(__entry->opcode), (u32)__entry->group_id
|
||||
|
||||
Reference in New Issue
Block a user