aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat/dma.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dma/ioat/dma.h')
-rw-r--r--drivers/dma/ioat/dma.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/dma/ioat/dma.h b/drivers/dma/ioat/dma.h
index c6d58bf541d1..c2939b289185 100644
--- a/drivers/dma/ioat/dma.h
+++ b/drivers/dma/ioat/dma.h
@@ -92,6 +92,7 @@ struct ioat_chan_common {
92 #define IOAT_COMPLETION_PENDING 0 92 #define IOAT_COMPLETION_PENDING 0
93 #define IOAT_COMPLETION_ACK 1 93 #define IOAT_COMPLETION_ACK 1
94 #define IOAT_RESET_PENDING 2 94 #define IOAT_RESET_PENDING 2
95 #define IOAT_KOBJ_INIT_FAIL 3
95 struct timer_list timer; 96 struct timer_list timer;
96 #define COMPLETION_TIMEOUT msecs_to_jiffies(100) 97 #define COMPLETION_TIMEOUT msecs_to_jiffies(100)
97 #define IDLE_TIMEOUT msecs_to_jiffies(2000) 98 #define IDLE_TIMEOUT msecs_to_jiffies(2000)
@@ -100,8 +101,13 @@ struct ioat_chan_common {
100 dma_addr_t completion_dma; 101 dma_addr_t completion_dma;
101 u64 *completion; 102 u64 *completion;
102 struct tasklet_struct cleanup_task; 103 struct tasklet_struct cleanup_task;
104 struct kobject kobj;
103}; 105};
104 106
107struct ioat_sysfs_entry {
108 struct attribute attr;
109 ssize_t (*show)(struct dma_chan *, char *);
110};
105 111
106/** 112/**
107 * struct ioat_dma_chan - internal representation of a DMA channel 113 * struct ioat_dma_chan - internal representation of a DMA channel
@@ -117,6 +123,7 @@ struct ioat_dma_chan {
117 123
118 int pending; 124 int pending;
119 u16 desccount; 125 u16 desccount;
126 u16 active;
120}; 127};
121 128
122static inline struct ioat_chan_common *to_chan_common(struct dma_chan *c) 129static inline struct ioat_chan_common *to_chan_common(struct dma_chan *c)
@@ -319,4 +326,9 @@ void ioat_dma_unmap(struct ioat_chan_common *chan, enum dma_ctrl_flags flags,
319 size_t len, struct ioat_dma_descriptor *hw); 326 size_t len, struct ioat_dma_descriptor *hw);
320bool ioat_cleanup_preamble(struct ioat_chan_common *chan, 327bool ioat_cleanup_preamble(struct ioat_chan_common *chan,
321 unsigned long *phys_complete); 328 unsigned long *phys_complete);
329void ioat_kobject_add(struct ioatdma_device *device, struct kobj_type *type);
330void ioat_kobject_del(struct ioatdma_device *device);
331extern struct sysfs_ops ioat_sysfs_ops;
332extern struct ioat_sysfs_entry ioat_version_attr;
333extern struct ioat_sysfs_entry ioat_cap_attr;
322#endif /* IOATDMA_H */ 334#endif /* IOATDMA_H */