Home
last modified time | relevance | path

Searched refs:gang (Results 1 – 6 of 6) sorted by relevance

/arch/powerpc/platforms/cell/spufs/
Dgang.c30 struct spu_gang *gang; in alloc_spu_gang() local
32 gang = kzalloc(sizeof *gang, GFP_KERNEL); in alloc_spu_gang()
33 if (!gang) in alloc_spu_gang()
36 kref_init(&gang->kref); in alloc_spu_gang()
37 mutex_init(&gang->mutex); in alloc_spu_gang()
38 mutex_init(&gang->aff_mutex); in alloc_spu_gang()
39 INIT_LIST_HEAD(&gang->list); in alloc_spu_gang()
40 INIT_LIST_HEAD(&gang->aff_list_head); in alloc_spu_gang()
43 return gang; in alloc_spu_gang()
48 struct spu_gang *gang; in destroy_spu_gang() local
[all …]
Dsched.c270 static void aff_merge_remaining_ctxs(struct spu_gang *gang) in aff_merge_remaining_ctxs() argument
274 list_for_each_entry(ctx, &gang->aff_list_head, aff_list) { in aff_merge_remaining_ctxs()
276 list_add(&ctx->aff_list, &gang->aff_list_head); in aff_merge_remaining_ctxs()
278 gang->aff_flags |= AFF_MERGED; in aff_merge_remaining_ctxs()
281 static void aff_set_offsets(struct spu_gang *gang) in aff_set_offsets() argument
287 list_for_each_entry_reverse(ctx, &gang->aff_ref_ctx->aff_list, in aff_set_offsets()
289 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets()
295 list_for_each_entry(ctx, gang->aff_ref_ctx->aff_list.prev, aff_list) { in aff_set_offsets()
296 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets()
301 gang->aff_flags |= AFF_OFFSETS_SET; in aff_set_offsets()
[all …]
Dinode.c347 spufs_assert_affinity(unsigned int flags, struct spu_gang *gang, in spufs_assert_affinity() argument
364 gang->aff_ref_ctx && in spufs_assert_affinity()
365 gang->aff_ref_ctx->flags & SPU_CREATE_AFFINITY_MEM) in spufs_assert_affinity()
368 if (gang->aff_flags & AFF_MERGED) in spufs_assert_affinity()
380 !list_is_last(&neighbor->aff_list, &gang->aff_list_head) && in spufs_assert_affinity()
387 if (gang != neighbor->gang) { in spufs_assert_affinity()
393 list_for_each_entry(tmp, &gang->aff_list_head, aff_list) in spufs_assert_affinity()
422 ctx->gang->aff_ref_ctx = ctx; in spufs_set_affinity()
427 &ctx->gang->aff_list_head); in spufs_set_affinity()
431 if (list_is_last(&neighbor->aff_list, &ctx->gang->aff_list_head) in spufs_set_affinity()
[all …]
Dcontext.c36 struct spu_context *alloc_spu_context(struct spu_gang *gang) in alloc_spu_context() argument
64 if (gang) in alloc_spu_context()
65 spu_gang_add_ctx(gang, ctx); in alloc_spu_context()
91 if (ctx->gang) in destroy_spu_context()
92 spu_gang_remove_ctx(ctx->gang, ctx); in destroy_spu_context()
Dspufs.h116 struct spu_gang *gang; member
261 struct spu_gang *get_spu_gang(struct spu_gang *gang);
262 int put_spu_gang(struct spu_gang *gang);
263 void spu_gang_remove_ctx(struct spu_gang *gang, struct spu_context *ctx);
264 void spu_gang_add_ctx(struct spu_gang *gang, struct spu_context *ctx);
285 struct spu_context * alloc_spu_context(struct spu_gang *gang);
DMakefile4 spufs-y += sched.o backing_ops.o hw_ops.o run.o gang.o