dmaengine: idxd: add interrupt handling for event log
[linux-2.6-microblaze.git] / drivers / dma / idxd / registers.h
index 11bb97c..148db94 100644 (file)
@@ -168,6 +168,7 @@ enum idxd_device_reset_type {
 #define IDXD_INTC_OCCUPY                       0x04
 #define IDXD_INTC_PERFMON_OVFL         0x08
 #define IDXD_INTC_HALT_STATE           0x10
+#define IDXD_INTC_EVL                  0x20
 #define IDXD_INTC_INT_HANDLE_REVOKED   0x80000000
 
 #define IDXD_CMD_OFFSET                        0xa0
@@ -558,6 +559,24 @@ union filter_cfg {
        u64 val;
 } __packed;
 
+#define IDXD_EVLSTATUS_OFFSET          0xf0
+
+union evl_status_reg {
+       struct {
+               u32 head:16;
+               u32 rsvd:16;
+               u32 tail:16;
+               u32 rsvd2:14;
+               u32 int_pending:1;
+               u32 rsvd3:1;
+       };
+       struct {
+               u32 bits_lower32;
+               u32 bits_upper32;
+       };
+       u64 bits;
+} __packed;
+
 struct __evl_entry {
        u64 rsvd:2;
        u64 desc_valid:1;