diff options
Diffstat (limited to 'drivers/dma/ioatdma.h')
-rw-r--r-- | drivers/dma/ioatdma.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/dma/ioatdma.h b/drivers/dma/ioatdma.h index f2c7fedbf009..c6ec933f9895 100644 --- a/drivers/dma/ioatdma.h +++ b/drivers/dma/ioatdma.h | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <linux/cache.h> | 28 | #include <linux/cache.h> |
29 | #include <linux/pci_ids.h> | 29 | #include <linux/pci_ids.h> |
30 | 30 | ||
31 | #define IOAT_DMA_VERSION "2.04" | 31 | #define IOAT_DMA_VERSION "2.18" |
32 | 32 | ||
33 | enum ioat_interrupt { | 33 | enum ioat_interrupt { |
34 | none = 0, | 34 | none = 0, |
@@ -40,6 +40,7 @@ enum ioat_interrupt { | |||
40 | 40 | ||
41 | #define IOAT_LOW_COMPLETION_MASK 0xffffffc0 | 41 | #define IOAT_LOW_COMPLETION_MASK 0xffffffc0 |
42 | #define IOAT_DMA_DCA_ANY_CPU ~0 | 42 | #define IOAT_DMA_DCA_ANY_CPU ~0 |
43 | #define IOAT_WATCHDOG_PERIOD (2 * HZ) | ||
43 | 44 | ||
44 | 45 | ||
45 | /** | 46 | /** |
@@ -62,6 +63,7 @@ struct ioatdma_device { | |||
62 | struct dma_device common; | 63 | struct dma_device common; |
63 | u8 version; | 64 | u8 version; |
64 | enum ioat_interrupt irq_mode; | 65 | enum ioat_interrupt irq_mode; |
66 | struct delayed_work work; | ||
65 | struct msix_entry msix_entries[4]; | 67 | struct msix_entry msix_entries[4]; |
66 | struct ioat_dma_chan *idx[4]; | 68 | struct ioat_dma_chan *idx[4]; |
67 | }; | 69 | }; |
@@ -75,6 +77,7 @@ struct ioat_dma_chan { | |||
75 | 77 | ||
76 | dma_cookie_t completed_cookie; | 78 | dma_cookie_t completed_cookie; |
77 | unsigned long last_completion; | 79 | unsigned long last_completion; |
80 | unsigned long last_completion_time; | ||
78 | 81 | ||
79 | size_t xfercap; /* XFERCAP register value expanded out */ | 82 | size_t xfercap; /* XFERCAP register value expanded out */ |
80 | 83 | ||
@@ -82,6 +85,10 @@ struct ioat_dma_chan { | |||
82 | spinlock_t desc_lock; | 85 | spinlock_t desc_lock; |
83 | struct list_head free_desc; | 86 | struct list_head free_desc; |
84 | struct list_head used_desc; | 87 | struct list_head used_desc; |
88 | unsigned long watchdog_completion; | ||
89 | int watchdog_tcp_cookie; | ||
90 | u32 watchdog_last_tcp_cookie; | ||
91 | struct delayed_work work; | ||
85 | 92 | ||
86 | int pending; | 93 | int pending; |
87 | int dmacount; | 94 | int dmacount; |
@@ -98,6 +105,7 @@ struct ioat_dma_chan { | |||
98 | u32 high; | 105 | u32 high; |
99 | }; | 106 | }; |
100 | } *completion_virt; | 107 | } *completion_virt; |
108 | unsigned long last_compl_desc_addr_hw; | ||
101 | struct tasklet_struct cleanup_task; | 109 | struct tasklet_struct cleanup_task; |
102 | }; | 110 | }; |
103 | 111 | ||