Lines Matching refs:spu_context
80 struct spu_context { struct
161 struct spu_context *aff_ref_ctx; argument
186 int (*mbox_read) (struct spu_context * ctx, u32 * data);
187 u32(*mbox_stat_read) (struct spu_context * ctx);
188 __poll_t (*mbox_stat_poll)(struct spu_context *ctx, __poll_t events);
189 int (*ibox_read) (struct spu_context * ctx, u32 * data);
190 int (*wbox_write) (struct spu_context * ctx, u32 data);
191 u32(*signal1_read) (struct spu_context * ctx);
192 void (*signal1_write) (struct spu_context * ctx, u32 data);
193 u32(*signal2_read) (struct spu_context * ctx);
194 void (*signal2_write) (struct spu_context * ctx, u32 data);
195 void (*signal1_type_set) (struct spu_context * ctx, u64 val);
196 u64(*signal1_type_get) (struct spu_context * ctx);
197 void (*signal2_type_set) (struct spu_context * ctx, u64 val);
198 u64(*signal2_type_get) (struct spu_context * ctx);
199 u32(*npc_read) (struct spu_context * ctx);
200 void (*npc_write) (struct spu_context * ctx, u32 data);
201 u32(*status_read) (struct spu_context * ctx);
202 char*(*get_ls) (struct spu_context * ctx);
203 void (*privcntl_write) (struct spu_context *ctx, u64 data);
204 u32 (*runcntl_read) (struct spu_context * ctx);
205 void (*runcntl_write) (struct spu_context * ctx, u32 data);
206 void (*runcntl_stop) (struct spu_context * ctx);
207 void (*master_start) (struct spu_context * ctx);
208 void (*master_stop) (struct spu_context * ctx);
209 int (*set_mfc_query)(struct spu_context * ctx, u32 mask, u32 mode);
210 u32 (*read_mfc_tagstatus)(struct spu_context * ctx);
211 u32 (*get_mfc_free_elements)(struct spu_context *ctx);
212 int (*send_mfc_command)(struct spu_context * ctx,
214 void (*dma_info_read) (struct spu_context * ctx,
216 void (*proxydma_info_read) (struct spu_context * ctx,
218 void (*restart_dma)(struct spu_context *ctx);
225 struct spu_context *i_ctx;
247 long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *status);
260 void spu_gang_remove_ctx(struct spu_gang *gang, struct spu_context *ctx);
261 void spu_gang_add_ctx(struct spu_gang *gang, struct spu_context *ctx);
264 int spufs_handle_class1(struct spu_context *ctx);
265 int spufs_handle_class0(struct spu_context *ctx);
268 struct spu *affinity_check(struct spu_context *ctx);
272 static inline int __must_check spu_acquire(struct spu_context *ctx) in spu_acquire()
277 static inline void spu_release(struct spu_context *ctx) in spu_release()
282 struct spu_context * alloc_spu_context(struct spu_gang *gang);
284 struct spu_context * get_spu_context(struct spu_context *ctx);
285 int put_spu_context(struct spu_context *ctx);
286 void spu_unmap_mappings(struct spu_context *ctx);
288 void spu_forget(struct spu_context *ctx);
289 int __must_check spu_acquire_saved(struct spu_context *ctx);
290 void spu_release_saved(struct spu_context *ctx);
292 int spu_stopped(struct spu_context *ctx, u32 * stat);
293 void spu_del_from_rq(struct spu_context *ctx);
294 int spu_activate(struct spu_context *ctx, unsigned long flags);
295 void spu_deactivate(struct spu_context *ctx);
296 void spu_yield(struct spu_context *ctx);
297 void spu_switch_notify(struct spu *spu, struct spu_context *ctx);
298 void spu_switch_log_notify(struct spu *spu, struct spu_context *ctx,
300 void spu_set_timeslice(struct spu_context *ctx);
301 void spu_update_sched_info(struct spu_context *ctx);
302 void __spu_update_sched_info(struct spu_context *ctx);
340 size_t spu_wbox_write(struct spu_context *ctx, u32 data);
341 size_t spu_ibox_read(struct spu_context *ctx, u32 *data);
353 ssize_t (*read)(struct spu_context *ctx,
355 u64 (*get)(struct spu_context *ctx);
370 extern void spuctx_switch_state(struct spu_context *ctx,