Home
last modified time | relevance | path

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

/arch/powerpc/platforms/cell/spufs/
Dgang.c17 struct spu_gang *gang; in alloc_spu_gang() local
19 gang = kzalloc(sizeof *gang, GFP_KERNEL); in alloc_spu_gang()
20 if (!gang) in alloc_spu_gang()
23 kref_init(&gang->kref); in alloc_spu_gang()
24 mutex_init(&gang->mutex); in alloc_spu_gang()
25 mutex_init(&gang->aff_mutex); in alloc_spu_gang()
26 INIT_LIST_HEAD(&gang->list); in alloc_spu_gang()
27 INIT_LIST_HEAD(&gang->aff_list_head); in alloc_spu_gang()
30 return gang; in alloc_spu_gang()
35 struct spu_gang *gang; in destroy_spu_gang() local
[all …]
Dsched.c258 static void aff_merge_remaining_ctxs(struct spu_gang *gang) in aff_merge_remaining_ctxs() argument
262 list_for_each_entry(ctx, &gang->aff_list_head, aff_list) { in aff_merge_remaining_ctxs()
264 list_add(&ctx->aff_list, &gang->aff_list_head); in aff_merge_remaining_ctxs()
266 gang->aff_flags |= AFF_MERGED; in aff_merge_remaining_ctxs()
269 static void aff_set_offsets(struct spu_gang *gang) in aff_set_offsets() argument
275 list_for_each_entry_reverse(ctx, &gang->aff_ref_ctx->aff_list, in aff_set_offsets()
277 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets()
283 list_for_each_entry(ctx, gang->aff_ref_ctx->aff_list.prev, aff_list) { in aff_set_offsets()
284 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets()
289 gang->aff_flags |= AFF_OFFSETS_SET; in aff_set_offsets()
[all …]
Dinode.c302 spufs_assert_affinity(unsigned int flags, struct spu_gang *gang, in spufs_assert_affinity() argument
319 gang->aff_ref_ctx && in spufs_assert_affinity()
320 gang->aff_ref_ctx->flags & SPU_CREATE_AFFINITY_MEM) in spufs_assert_affinity()
323 if (gang->aff_flags & AFF_MERGED) in spufs_assert_affinity()
335 !list_is_last(&neighbor->aff_list, &gang->aff_list_head) && in spufs_assert_affinity()
342 if (gang != neighbor->gang) { in spufs_assert_affinity()
348 list_for_each_entry(tmp, &gang->aff_list_head, aff_list) in spufs_assert_affinity()
377 ctx->gang->aff_ref_ctx = ctx; in spufs_set_affinity()
382 &ctx->gang->aff_list_head); in spufs_set_affinity()
386 if (list_is_last(&neighbor->aff_list, &ctx->gang->aff_list_head) in spufs_set_affinity()
[all …]
Dcontext.c25 struct spu_context *alloc_spu_context(struct spu_gang *gang) in alloc_spu_context() argument
52 if (gang) in alloc_spu_context()
53 spu_gang_add_ctx(gang, ctx); in alloc_spu_context()
78 if (ctx->gang) in destroy_spu_context()
79 spu_gang_remove_ctx(ctx->gang, ctx); in destroy_spu_context()
Dspufs.h100 struct spu_gang *gang; member
245 struct spu_gang *get_spu_gang(struct spu_gang *gang);
246 int put_spu_gang(struct spu_gang *gang);
247 void spu_gang_remove_ctx(struct spu_gang *gang, struct spu_context *ctx);
248 void spu_gang_add_ctx(struct spu_gang *gang, struct spu_context *ctx);
269 struct spu_context * alloc_spu_context(struct spu_gang *gang);
DMakefile5 spufs-y += sched.o backing_ops.o hw_ops.o run.o gang.o