nvme: parse format command's lbafu when tracing
authorGuixin Liu <kanie@linux.alibaba.com>
Wed, 31 Jan 2024 09:12:22 +0000 (17:12 +0800)
committerKeith Busch <kbusch@kernel.org>
Thu, 14 Mar 2024 18:38:28 +0000 (11:38 -0700)
Add the parse of format command's lbafu to calculate lbaf.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/trace.c

index 7e6719a3b624c9d9c4f16b0b281babf9dbb0b785..0288315f00502872eb8d3a3a6b47027f32059042 100644 (file)
@@ -119,7 +119,10 @@ static const char *nvme_trace_get_lba_status(struct trace_seq *p,
 static const char *nvme_trace_admin_format_nvm(struct trace_seq *p, u8 *cdw10)
 {
        const char *ret = trace_seq_buffer_ptr(p);
-       u8 lbaf = cdw10[0] & 0xF;
+       /*
+        * lbafu(bit 13:12) is already in the upper 4 bits, lbafl: bit 03:00.
+        */
+       u8 lbaf = (cdw10[1] & 0x30) | (cdw10[0] & 0xF);
        u8 mset = (cdw10[0] >> 4) & 0x1;
        u8 pi = (cdw10[0] >> 5) & 0x7;
        u8 pil = cdw10[1] & 0x1;