diff options
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r-- | include/asm-powerpc/spu.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index 62718f3ba03f..092ec97be326 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h | |||
@@ -105,6 +105,9 @@ | |||
105 | #define SPU_CONTEXT_SWITCH_PENDING (1UL << SPU_CONTEXT_SWITCH_PENDING_nr) | 105 | #define SPU_CONTEXT_SWITCH_PENDING (1UL << SPU_CONTEXT_SWITCH_PENDING_nr) |
106 | #define SPU_CONTEXT_SWITCH_ACTIVE (1UL << SPU_CONTEXT_SWITCH_ACTIVE_nr) | 106 | #define SPU_CONTEXT_SWITCH_ACTIVE (1UL << SPU_CONTEXT_SWITCH_ACTIVE_nr) |
107 | 107 | ||
108 | struct spu_context; | ||
109 | struct spu_runqueue; | ||
110 | |||
108 | struct spu { | 111 | struct spu { |
109 | char *name; | 112 | char *name; |
110 | unsigned long local_store_phys; | 113 | unsigned long local_store_phys; |
@@ -113,23 +116,28 @@ struct spu { | |||
113 | struct spu_priv1 __iomem *priv1; | 116 | struct spu_priv1 __iomem *priv1; |
114 | struct spu_priv2 __iomem *priv2; | 117 | struct spu_priv2 __iomem *priv2; |
115 | struct list_head list; | 118 | struct list_head list; |
119 | struct list_head sched_list; | ||
116 | int number; | 120 | int number; |
117 | u32 isrc; | 121 | u32 isrc; |
118 | u32 node; | 122 | u32 node; |
119 | u64 flags; | 123 | u64 flags; |
124 | u64 dar; | ||
125 | u64 dsisr; | ||
120 | struct kref kref; | 126 | struct kref kref; |
121 | size_t ls_size; | 127 | size_t ls_size; |
122 | unsigned int slb_replace; | 128 | unsigned int slb_replace; |
123 | struct mm_struct *mm; | 129 | struct mm_struct *mm; |
130 | struct spu_context *ctx; | ||
131 | struct spu_runqueue *rq; | ||
132 | pid_t pid; | ||
133 | int prio; | ||
124 | int class_0_pending; | 134 | int class_0_pending; |
125 | spinlock_t register_lock; | 135 | spinlock_t register_lock; |
126 | 136 | ||
127 | u32 stop_code; | 137 | u32 stop_code; |
128 | wait_queue_head_t stop_wq; | 138 | wait_queue_head_t stop_wq; |
129 | wait_queue_head_t ibox_wq; | 139 | void (* wbox_callback)(struct spu *spu); |
130 | wait_queue_head_t wbox_wq; | 140 | void (* ibox_callback)(struct spu *spu); |
131 | struct fasync_struct *ibox_fasync; | ||
132 | struct fasync_struct *wbox_fasync; | ||
133 | 141 | ||
134 | char irq_c0[8]; | 142 | char irq_c0[8]; |
135 | char irq_c1[8]; | 143 | char irq_c1[8]; |
@@ -140,9 +148,6 @@ struct spu *spu_alloc(void); | |||
140 | void spu_free(struct spu *spu); | 148 | void spu_free(struct spu *spu); |
141 | int spu_run(struct spu *spu); | 149 | int spu_run(struct spu *spu); |
142 | 150 | ||
143 | size_t spu_wbox_write(struct spu *spu, u32 data); | ||
144 | size_t spu_ibox_read(struct spu *spu, u32 *data); | ||
145 | |||
146 | extern struct spufs_calls { | 151 | extern struct spufs_calls { |
147 | asmlinkage long (*create_thread)(const char __user *name, | 152 | asmlinkage long (*create_thread)(const char __user *name, |
148 | unsigned int flags, mode_t mode); | 153 | unsigned int flags, mode_t mode); |