#include <asm/unaligned.h>
 #include "trace.h"
 
+static const char *nvme_trace_delete_sq(struct trace_seq *p, u8 *cdw10)
+{
+       const char *ret = trace_seq_buffer_ptr(p);
+       u16 sqid = get_unaligned_le16(cdw10);
+
+       trace_seq_printf(p, "sqid=%u", sqid);
+       trace_seq_putc(p, 0);
+
+       return ret;
+}
+
 static const char *nvme_trace_create_sq(struct trace_seq *p, u8 *cdw10)
 {
        const char *ret = trace_seq_buffer_ptr(p);
        return ret;
 }
 
+static const char *nvme_trace_delete_cq(struct trace_seq *p, u8 *cdw10)
+{
+       const char *ret = trace_seq_buffer_ptr(p);
+       u16 cqid = get_unaligned_le16(cdw10);
+
+       trace_seq_printf(p, "cqid=%u", cqid);
+       trace_seq_putc(p, 0);
+
+       return ret;
+}
+
 static const char *nvme_trace_create_cq(struct trace_seq *p, u8 *cdw10)
 {
        const char *ret = trace_seq_buffer_ptr(p);
                                       u8 opcode, u8 *cdw10)
 {
        switch (opcode) {
+       case nvme_admin_delete_sq:
+               return nvme_trace_delete_sq(p, cdw10);
        case nvme_admin_create_sq:
                return nvme_trace_create_sq(p, cdw10);
+       case nvme_admin_delete_cq:
+               return nvme_trace_delete_cq(p, cdw10);
        case nvme_admin_create_cq:
                return nvme_trace_create_cq(p, cdw10);
        case nvme_admin_identify: