aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/nvme/host/trace.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/nvme/host/trace.c b/drivers/nvme/host/trace.c
index 58456de78bb2..5f24ea7a28eb 100644
--- a/drivers/nvme/host/trace.c
+++ b/drivers/nvme/host/trace.c
@@ -50,7 +50,19 @@ static const char *nvme_trace_admin_identify(struct trace_seq *p, u8 *cdw10)
50 return ret; 50 return ret;
51} 51}
52 52
53static const char *nvme_trace_admin_get_features(struct trace_seq *p,
54 u8 *cdw10)
55{
56 const char *ret = trace_seq_buffer_ptr(p);
57 u8 fid = cdw10[0];
58 u8 sel = cdw10[1] & 0x7;
59 u32 cdw11 = get_unaligned_le32(cdw10 + 4);
60
61 trace_seq_printf(p, "fid=0x%x sel=0x%x cdw11=0x%x", fid, sel, cdw11);
62 trace_seq_putc(p, 0);
53 63
64 return ret;
65}
54 66
55static const char *nvme_trace_read_write(struct trace_seq *p, u8 *cdw10) 67static const char *nvme_trace_read_write(struct trace_seq *p, u8 *cdw10)
56{ 68{
@@ -101,6 +113,8 @@ const char *nvme_trace_parse_admin_cmd(struct trace_seq *p,
101 return nvme_trace_create_cq(p, cdw10); 113 return nvme_trace_create_cq(p, cdw10);
102 case nvme_admin_identify: 114 case nvme_admin_identify:
103 return nvme_trace_admin_identify(p, cdw10); 115 return nvme_trace_admin_identify(p, cdw10);
116 case nvme_admin_get_features:
117 return nvme_trace_admin_get_features(p, cdw10);
104 default: 118 default:
105 return nvme_trace_common(p, cdw10); 119 return nvme_trace_common(p, cdw10);
106 } 120 }