/kernel/linux/linux-5.10/arch/powerpc/platforms/cell/spufs/ |
H A D | gang.c | 17 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; destroy_spu_gang() local 41 get_spu_gang(struct spu_gang *gang) get_spu_gang() argument 47 put_spu_gang(struct spu_gang *gang) put_spu_gang() argument 52 spu_gang_add_ctx(struct spu_gang *gang, struct spu_context *ctx) spu_gang_add_ctx() argument 61 spu_gang_remove_ctx(struct spu_gang *gang, struct spu_context *ctx) spu_gang_remove_ctx() argument [all...] |
H A D | sched.c | 258 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 in aff_set_offsets() 344 aff_set_ref_point_location(struct spu_gang *gang) aff_set_ref_point_location() argument 400 struct spu_gang *gang = ctx->gang; has_affinity() local [all...] |
H A D | inode.c | 242 ctx = alloc_spu_context(SPUFS_I(dir)->i_gang); /* XXX gang */ in spufs_mkdir() 300 spufs_assert_affinity(unsigned int flags, struct spu_gang *gang, in spufs_assert_affinity() argument 317 gang->aff_ref_ctx && in spufs_assert_affinity() 318 gang->aff_ref_ctx->flags & SPU_CREATE_AFFINITY_MEM) in spufs_assert_affinity() 321 if (gang->aff_flags & AFF_MERGED) in spufs_assert_affinity() 333 !list_is_last(&neighbor->aff_list, &gang->aff_list_head) && in spufs_assert_affinity() 340 if (gang != neighbor->gang) { in spufs_assert_affinity() 346 list_for_each_entry(tmp, &gang->aff_list_head, aff_list) in spufs_assert_affinity() 375 ctx->gang in spufs_set_affinity() 408 struct spu_gang *gang; spufs_create_context() local 464 struct spu_gang *gang; spufs_mkgang() local [all...] |
H A D | context.c | 25 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()
|
H A D | spufs.h | 100 struct spu_gang *gang; member 243 /* gang management */ 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);
|
H A D | Makefile | 5 spufs-y += sched.o backing_ops.o hw_ops.o run.o gang.o
|
/kernel/linux/linux-6.6/arch/powerpc/platforms/cell/spufs/ |
H A D | gang.c | 17 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; destroy_spu_gang() local 41 get_spu_gang(struct spu_gang *gang) get_spu_gang() argument 47 put_spu_gang(struct spu_gang *gang) put_spu_gang() argument 52 spu_gang_add_ctx(struct spu_gang *gang, struct spu_context *ctx) spu_gang_add_ctx() argument 61 spu_gang_remove_ctx(struct spu_gang *gang, struct spu_context *ctx) spu_gang_remove_ctx() argument [all...] |
H A D | sched.c | 254 static void aff_merge_remaining_ctxs(struct spu_gang *gang) in aff_merge_remaining_ctxs() argument 258 list_for_each_entry(ctx, &gang->aff_list_head, aff_list) { in aff_merge_remaining_ctxs() 260 list_add(&ctx->aff_list, &gang->aff_list_head); in aff_merge_remaining_ctxs() 262 gang->aff_flags |= AFF_MERGED; in aff_merge_remaining_ctxs() 265 static void aff_set_offsets(struct spu_gang *gang) in aff_set_offsets() argument 271 list_for_each_entry_reverse(ctx, &gang->aff_ref_ctx->aff_list, in aff_set_offsets() 273 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets() 279 list_for_each_entry(ctx, gang->aff_ref_ctx->aff_list.prev, aff_list) { in aff_set_offsets() 280 if (&ctx->aff_list == &gang->aff_list_head) in aff_set_offsets() 285 gang in aff_set_offsets() 340 aff_set_ref_point_location(struct spu_gang *gang) aff_set_ref_point_location() argument 395 struct spu_gang *gang = ctx->gang; has_affinity() local [all...] |
H A D | inode.c | 241 ctx = alloc_spu_context(SPUFS_I(dir)->i_gang); /* XXX gang */ in spufs_mkdir() 299 spufs_assert_affinity(unsigned int flags, struct spu_gang *gang, in spufs_assert_affinity() argument 316 gang->aff_ref_ctx && in spufs_assert_affinity() 317 gang->aff_ref_ctx->flags & SPU_CREATE_AFFINITY_MEM) in spufs_assert_affinity() 320 if (gang->aff_flags & AFF_MERGED) in spufs_assert_affinity() 332 !list_is_last(&neighbor->aff_list, &gang->aff_list_head) && in spufs_assert_affinity() 339 if (gang != neighbor->gang) { in spufs_assert_affinity() 345 list_for_each_entry(tmp, &gang->aff_list_head, aff_list) in spufs_assert_affinity() 374 ctx->gang in spufs_set_affinity() 407 struct spu_gang *gang; spufs_create_context() local 463 struct spu_gang *gang; spufs_mkgang() local [all...] |
H A D | context.c | 25 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()
|
H A D | spufs.h | 100 struct spu_gang *gang; member 243 /* gang management */ 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);
|
H A D | Makefile | 5 spufs-y += sched.o backing_ops.o hw_ops.o run.o gang.o
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_mes.c | 281 struct amdgpu_mes_gang *gang, *tmp1; in amdgpu_mes_destroy_process() local 301 list_for_each_entry_safe(gang, tmp1, &process->gang_list, list) { in amdgpu_mes_destroy_process() 302 list_for_each_entry_safe(queue, tmp2, &gang->queue_list, list) { in amdgpu_mes_destroy_process() 308 queue_input.gang_context_addr = gang->gang_ctx_gpu_addr; in amdgpu_mes_destroy_process() 316 idr_remove(&adev->mes.gang_id_idr, gang->gang_id); in amdgpu_mes_destroy_process() 323 list_for_each_entry_safe(gang, tmp1, &process->gang_list, list) { in amdgpu_mes_destroy_process() 324 /* free all queues in the gang */ in amdgpu_mes_destroy_process() 325 list_for_each_entry_safe(queue, tmp2, &gang->queue_list, list) { in amdgpu_mes_destroy_process() 330 amdgpu_bo_free_kernel(&gang->gang_ctx_bo, in amdgpu_mes_destroy_process() 331 &gang in amdgpu_mes_destroy_process() 348 struct amdgpu_mes_gang *gang; amdgpu_mes_add_gang() local 417 struct amdgpu_mes_gang *gang; amdgpu_mes_remove_gang() local 455 struct amdgpu_mes_gang *gang; amdgpu_mes_suspend() local 484 struct amdgpu_mes_gang *gang; amdgpu_mes_resume() local 581 struct amdgpu_mes_gang *gang; amdgpu_mes_add_hw_queue() local 701 struct amdgpu_mes_gang *gang; amdgpu_mes_remove_hw_queue() local 999 struct amdgpu_mes_gang *gang; amdgpu_mes_add_ring() local [all...] |
H A D | amdgpu_mes.h | 169 struct amdgpu_mes_gang *gang; member
|
H A D | amdgpu.h | 1331 struct dma_fence *gang);
|
H A D | amdgpu_device.c | 5953 * amdgpu_device_switch_gang - switch to a new gang 5955 * @gang: the gang to switch to 5957 * Try to switch to a new gang. 5958 * Returns: NULL if we switched to the new gang or a reference to the current 5959 * gang leader. 5962 struct dma_fence *gang) in amdgpu_device_switch_gang() 5972 if (old == gang) in amdgpu_device_switch_gang() 5979 old, gang) != old); in amdgpu_device_switch_gang() 5961 amdgpu_device_switch_gang(struct amdgpu_device *adev, struct dma_fence *gang) amdgpu_device_switch_gang() argument
|
/kernel/linux/linux-5.10/drivers/perf/ |
H A D | qcom_l3_pmu.c | 198 u32 gang; in qcom_l3_cache__64bit_counter_start() local 201 gang = readl_relaxed(l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_start() 202 gang |= GANG_EN(idx + 1); in qcom_l3_cache__64bit_counter_start() 203 writel_relaxed(gang, l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_start() 229 u32 gang = readl_relaxed(l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_stop() local 236 writel_relaxed(gang & ~GANG_EN(idx + 1), l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_stop()
|
/kernel/linux/linux-6.6/drivers/perf/ |
H A D | qcom_l3_pmu.c | 198 u32 gang; in qcom_l3_cache__64bit_counter_start() local 201 gang = readl_relaxed(l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_start() 202 gang |= GANG_EN(idx + 1); in qcom_l3_cache__64bit_counter_start() 203 writel_relaxed(gang, l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_start() 229 u32 gang = readl_relaxed(l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_stop() local 236 writel_relaxed(gang & ~GANG_EN(idx + 1), l3pmu->regs + L3_M_BC_GANG); in qcom_l3_cache__64bit_counter_stop()
|
/kernel/linux/linux-6.6/fs/btrfs/ |
H A D | disk-io.c | 1842 struct btrfs_root *gang[8]; in btrfs_free_fs_roots() local 1846 gang[0] = list_entry(fs_info->dead_roots.next, in btrfs_free_fs_roots() 1848 list_del(&gang[0]->root_list); in btrfs_free_fs_roots() 1850 if (test_bit(BTRFS_ROOT_IN_RADIX, &gang[0]->state)) in btrfs_free_fs_roots() 1851 btrfs_drop_and_free_fs_root(fs_info, gang[0]); in btrfs_free_fs_roots() 1852 btrfs_put_root(gang[0]); in btrfs_free_fs_roots() 1857 (void **)gang, 0, in btrfs_free_fs_roots() 1858 ARRAY_SIZE(gang)); in btrfs_free_fs_roots() 1862 btrfs_drop_and_free_fs_root(fs_info, gang[i]); in btrfs_free_fs_roots() 2878 struct btrfs_root *gang[ in btrfs_cleanup_fs_roots() local 4520 struct btrfs_root *gang[8]; btrfs_drop_all_logs() local 4850 struct btrfs_root *gang[8]; btrfs_free_all_qgroup_pertrans() local [all...] |
H A D | extent_io.c | 4562 struct extent_buffer *gang[GANG_LOOKUP_SIZE]; in get_next_extent_buffer() local 4575 (void **)gang, cur >> fs_info->sectorsize_bits, in get_next_extent_buffer() 4582 if (gang[i]->start >= page_start + PAGE_SIZE) in get_next_extent_buffer() 4585 if (gang[i]->start >= bytenr) { in get_next_extent_buffer() 4586 found = gang[i]; in get_next_extent_buffer() 4590 cur = gang[ret - 1]->start + gang[ret - 1]->len; in get_next_extent_buffer()
|
H A D | transaction.c | 1420 struct btrfs_root *gang[8]; in commit_fs_roots() local 1433 (void **)gang, 0, in commit_fs_roots() 1434 ARRAY_SIZE(gang), in commit_fs_roots() 1439 struct btrfs_root *root = gang[i]; in commit_fs_roots()
|
/kernel/linux/linux-5.10/fs/btrfs/ |
H A D | disk-io.c | 2079 struct btrfs_root *gang[8]; in btrfs_free_fs_roots() local 2083 gang[0] = list_entry(fs_info->dead_roots.next, in btrfs_free_fs_roots() 2085 list_del(&gang[0]->root_list); in btrfs_free_fs_roots() 2087 if (test_bit(BTRFS_ROOT_IN_RADIX, &gang[0]->state)) in btrfs_free_fs_roots() 2088 btrfs_drop_and_free_fs_root(fs_info, gang[0]); in btrfs_free_fs_roots() 2089 btrfs_put_root(gang[0]); in btrfs_free_fs_roots() 2094 (void **)gang, 0, in btrfs_free_fs_roots() 2095 ARRAY_SIZE(gang)); in btrfs_free_fs_roots() 2099 btrfs_drop_and_free_fs_root(fs_info, gang[i]); in btrfs_free_fs_roots() 4032 struct btrfs_root *gang[ in btrfs_cleanup_fs_roots() local 4366 struct btrfs_root *gang[8]; btrfs_drop_all_logs() local [all...] |
H A D | transaction.c | 1327 struct btrfs_root *gang[8]; in commit_fs_roots() local 1334 (void **)gang, 0, in commit_fs_roots() 1335 ARRAY_SIZE(gang), in commit_fs_roots() 1340 struct btrfs_root *root = gang[i]; in commit_fs_roots()
|