aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat/hw.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dma/ioat/hw.h')
-rw-r--r--drivers/dma/ioat/hw.h38
1 files changed, 18 insertions, 20 deletions
diff --git a/drivers/dma/ioat/hw.h b/drivers/dma/ioat/hw.h
index 1438fa5c4d1a..e13f3ed47763 100644
--- a/drivers/dma/ioat/hw.h
+++ b/drivers/dma/ioat/hw.h
@@ -40,7 +40,24 @@
40 40
41struct ioat_dma_descriptor { 41struct ioat_dma_descriptor {
42 uint32_t size; 42 uint32_t size;
43 uint32_t ctl; 43 union {
44 uint32_t ctl;
45 struct {
46 unsigned int int_en:1;
47 unsigned int src_snoop_dis:1;
48 unsigned int dest_snoop_dis:1;
49 unsigned int compl_write:1;
50 unsigned int fence:1;
51 unsigned int null:1;
52 unsigned int src_brk:1;
53 unsigned int dest_brk:1;
54 unsigned int bundle:1;
55 unsigned int dest_dca:1;
56 unsigned int hint:1;
57 unsigned int rsvd2:13;
58 unsigned int op:8;
59 } ctl_f;
60 };
44 uint64_t src_addr; 61 uint64_t src_addr;
45 uint64_t dst_addr; 62 uint64_t dst_addr;
46 uint64_t next; 63 uint64_t next;
@@ -49,23 +66,4 @@ struct ioat_dma_descriptor {
49 uint64_t user1; 66 uint64_t user1;
50 uint64_t user2; 67 uint64_t user2;
51}; 68};
52
53#define IOAT_DMA_DESCRIPTOR_CTL_INT_GN 0x00000001
54#define IOAT_DMA_DESCRIPTOR_CTL_SRC_SN 0x00000002
55#define IOAT_DMA_DESCRIPTOR_CTL_DST_SN 0x00000004
56#define IOAT_DMA_DESCRIPTOR_CTL_CP_STS 0x00000008
57#define IOAT_DMA_DESCRIPTOR_CTL_FRAME 0x00000010
58#define IOAT_DMA_DESCRIPTOR_NUL 0x00000020
59#define IOAT_DMA_DESCRIPTOR_CTL_SP_BRK 0x00000040
60#define IOAT_DMA_DESCRIPTOR_CTL_DP_BRK 0x00000080
61#define IOAT_DMA_DESCRIPTOR_CTL_BNDL 0x00000100
62#define IOAT_DMA_DESCRIPTOR_CTL_DCA 0x00000200
63#define IOAT_DMA_DESCRIPTOR_CTL_BUFHINT 0x00000400
64
65#define IOAT_DMA_DESCRIPTOR_CTL_OPCODE_CONTEXT 0xFF000000
66#define IOAT_DMA_DESCRIPTOR_CTL_OPCODE_DMA 0x00000000
67
68#define IOAT_DMA_DESCRIPTOR_CTL_CONTEXT_DCA 0x00000001
69#define IOAT_DMA_DESCRIPTOR_CTL_OPCODE_MASK 0xFF000000
70
71#endif 69#endif