diff options
Diffstat (limited to 'drivers/block/rsxx/rsxx_priv.h')
-rw-r--r-- | drivers/block/rsxx/rsxx_priv.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/block/rsxx/rsxx_priv.h b/drivers/block/rsxx/rsxx_priv.h index 382e8bf5c03b..5ad5055a4104 100644 --- a/drivers/block/rsxx/rsxx_priv.h +++ b/drivers/block/rsxx/rsxx_priv.h | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/vmalloc.h> | 39 | #include <linux/vmalloc.h> |
40 | #include <linux/timer.h> | 40 | #include <linux/timer.h> |
41 | #include <linux/ioctl.h> | 41 | #include <linux/ioctl.h> |
42 | #include <linux/delay.h> | ||
42 | 43 | ||
43 | #include "rsxx.h" | 44 | #include "rsxx.h" |
44 | #include "rsxx_cfg.h" | 45 | #include "rsxx_cfg.h" |
@@ -114,6 +115,7 @@ struct rsxx_dma_ctrl { | |||
114 | struct timer_list activity_timer; | 115 | struct timer_list activity_timer; |
115 | struct dma_tracker_list *trackers; | 116 | struct dma_tracker_list *trackers; |
116 | struct rsxx_dma_stats stats; | 117 | struct rsxx_dma_stats stats; |
118 | struct mutex work_lock; | ||
117 | }; | 119 | }; |
118 | 120 | ||
119 | struct rsxx_cardinfo { | 121 | struct rsxx_cardinfo { |
@@ -134,6 +136,7 @@ struct rsxx_cardinfo { | |||
134 | spinlock_t lock; | 136 | spinlock_t lock; |
135 | bool active; | 137 | bool active; |
136 | struct creg_cmd *active_cmd; | 138 | struct creg_cmd *active_cmd; |
139 | struct workqueue_struct *creg_wq; | ||
137 | struct work_struct done_work; | 140 | struct work_struct done_work; |
138 | struct list_head queue; | 141 | struct list_head queue; |
139 | unsigned int q_depth; | 142 | unsigned int q_depth; |
@@ -154,6 +157,7 @@ struct rsxx_cardinfo { | |||
154 | int buf_len; | 157 | int buf_len; |
155 | } log; | 158 | } log; |
156 | 159 | ||
160 | struct workqueue_struct *event_wq; | ||
157 | struct work_struct event_work; | 161 | struct work_struct event_work; |
158 | unsigned int state; | 162 | unsigned int state; |
159 | u64 size8; | 163 | u64 size8; |
@@ -181,6 +185,8 @@ struct rsxx_cardinfo { | |||
181 | 185 | ||
182 | int n_targets; | 186 | int n_targets; |
183 | struct rsxx_dma_ctrl *ctrl; | 187 | struct rsxx_dma_ctrl *ctrl; |
188 | |||
189 | struct dentry *debugfs_dir; | ||
184 | }; | 190 | }; |
185 | 191 | ||
186 | enum rsxx_pci_regmap { | 192 | enum rsxx_pci_regmap { |
@@ -283,6 +289,7 @@ enum rsxx_creg_addr { | |||
283 | CREG_ADD_CAPABILITIES = 0x80001050, | 289 | CREG_ADD_CAPABILITIES = 0x80001050, |
284 | CREG_ADD_LOG = 0x80002000, | 290 | CREG_ADD_LOG = 0x80002000, |
285 | CREG_ADD_NUM_TARGETS = 0x80003000, | 291 | CREG_ADD_NUM_TARGETS = 0x80003000, |
292 | CREG_ADD_CRAM = 0xA0000000, | ||
286 | CREG_ADD_CONFIG = 0xB0000000, | 293 | CREG_ADD_CONFIG = 0xB0000000, |
287 | }; | 294 | }; |
288 | 295 | ||
@@ -372,6 +379,8 @@ typedef void (*rsxx_dma_cb)(struct rsxx_cardinfo *card, | |||
372 | int rsxx_dma_setup(struct rsxx_cardinfo *card); | 379 | int rsxx_dma_setup(struct rsxx_cardinfo *card); |
373 | void rsxx_dma_destroy(struct rsxx_cardinfo *card); | 380 | void rsxx_dma_destroy(struct rsxx_cardinfo *card); |
374 | int rsxx_dma_init(void); | 381 | int rsxx_dma_init(void); |
382 | int rsxx_cleanup_dma_queue(struct rsxx_dma_ctrl *ctrl, struct list_head *q); | ||
383 | int rsxx_dma_cancel(struct rsxx_dma_ctrl *ctrl); | ||
375 | void rsxx_dma_cleanup(void); | 384 | void rsxx_dma_cleanup(void); |
376 | void rsxx_dma_queue_reset(struct rsxx_cardinfo *card); | 385 | void rsxx_dma_queue_reset(struct rsxx_cardinfo *card); |
377 | int rsxx_dma_configure(struct rsxx_cardinfo *card); | 386 | int rsxx_dma_configure(struct rsxx_cardinfo *card); |
@@ -382,7 +391,6 @@ int rsxx_dma_queue_bio(struct rsxx_cardinfo *card, | |||
382 | void *cb_data); | 391 | void *cb_data); |
383 | int rsxx_hw_buffers_init(struct pci_dev *dev, struct rsxx_dma_ctrl *ctrl); | 392 | int rsxx_hw_buffers_init(struct pci_dev *dev, struct rsxx_dma_ctrl *ctrl); |
384 | int rsxx_eeh_save_issued_dmas(struct rsxx_cardinfo *card); | 393 | int rsxx_eeh_save_issued_dmas(struct rsxx_cardinfo *card); |
385 | void rsxx_eeh_cancel_dmas(struct rsxx_cardinfo *card); | ||
386 | int rsxx_eeh_remap_dmas(struct rsxx_cardinfo *card); | 394 | int rsxx_eeh_remap_dmas(struct rsxx_cardinfo *card); |
387 | 395 | ||
388 | /***** cregs.c *****/ | 396 | /***** cregs.c *****/ |