| /linux/drivers/gpu/drm/vc4/ |
| H A D | vc4_gem.c | 159 struct vc4_exec_info *exec[2]; in vc4_save_hang_state() local 171 exec[0] = vc4_first_bin_job(vc4); in vc4_save_hang_state() 172 exec[1] = vc4_first_render_job(vc4); in vc4_save_hang_state() 173 if (!exec[0] && !exec[1]) { in vc4_save_hang_state() 181 if (!exec[i]) in vc4_save_hang_state() 185 list_for_each_entry(bo, &exec[i]->unref_list, unref_head) in vc4_save_hang_state() 187 state->bo_count += exec[i]->bo_count + unref_list_count; in vc4_save_hang_state() 200 if (!exec[i]) in vc4_save_hang_state() 203 for (j = 0; j < exec[i]->bo_count; j++) { in vc4_save_hang_state() 204 bo = to_vc4_bo(exec[i]->bo[j]); in vc4_save_hang_state() [all …]
|
| /linux/include/drm/ |
| H A D | drm_exec.h | 63 drm_exec_obj(struct drm_exec *exec, unsigned long index) in drm_exec_obj() argument 65 return index < exec->num_objects ? exec->objects[index] : NULL; in drm_exec_obj() 76 #define drm_exec_for_each_locked_object(exec, index, obj) \ argument 77 for ((index) = 0; ((obj) = drm_exec_obj(exec, index)); ++(index)) 90 #define drm_exec_for_each_locked_object_reverse(exec, index, obj) \ argument 91 for ((index) = (exec)->num_objects - 1; \ 92 ((obj) = drm_exec_obj(exec, index)); --(index)) 105 #define drm_exec_until_all_locked(exec) \ argument 110 drm_exec_cleanup(exec); \ 120 #define drm_exec_retry_on_contention(exec) \ argument [all …]
|
| /linux/include/uapi/linux/ |
| H A D | a.out.h | 44 #define N_MAGIC(exec) ((exec).a_info & 0xffff) argument 46 #define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) argument 47 #define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) argument 48 #define N_SET_INFO(exec, magic, type, flags) \ argument 49 ((exec).a_info = ((magic) & 0xffff) \ 52 #define N_SET_MAGIC(exec, magic) \ argument 53 ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff))) 55 #define N_SET_MACHTYPE(exec, machtype) \ argument 56 ((exec).a_info = \ 57 ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_dma_buf.c | 55 struct drm_exec *exec = XE_VALIDATION_UNSUPPORTED; in xe_dma_buf_pin() local 77 ret = xe_bo_migrate(bo, XE_PL_TT, NULL, exec); in xe_dma_buf_pin() 87 ret = xe_bo_pin_external(bo, !allow_vram, exec); in xe_dma_buf_pin() 107 struct drm_exec *exec = XE_VALIDATION_UNSUPPORTED; in xe_dma_buf_map() local 116 r = xe_bo_migrate(bo, XE_PL_TT, NULL, exec); in xe_dma_buf_map() 118 r = xe_bo_validate(bo, NULL, false, exec); in xe_dma_buf_map() 178 struct drm_exec exec; in xe_dma_buf_begin_cpu_access() local 185 xe_validation_guard(&ctx, &xe_bo_device(bo)->val, &exec, (struct xe_val_flags) {}, ret) { in xe_dma_buf_begin_cpu_access() 186 ret = drm_exec_lock_obj(&exec, &bo->ttm.base); in xe_dma_buf_begin_cpu_access() 187 drm_exec_retry_on_contention(&exec); in xe_dma_buf_begin_cpu_access() [all …]
|
| H A D | xe_bo.c | 1196 struct drm_exec exec; in xe_bo_notifier_prepare_pinned() local 1200 xe_validation_guard(&ctx, &xe->val, &exec, (struct xe_val_flags) {.exclusive = true}, ret) { in xe_bo_notifier_prepare_pinned() 1201 ret = drm_exec_lock_obj(&exec, &bo->ttm.base); in xe_bo_notifier_prepare_pinned() 1202 drm_exec_retry_on_contention(&exec); in xe_bo_notifier_prepare_pinned() 1223 XE_BO_FLAG_PINNED, &exec); in xe_bo_notifier_prepare_pinned() 1225 drm_exec_retry_on_contention(&exec); in xe_bo_notifier_prepare_pinned() 1333 struct drm_exec exec; in xe_bo_evict_pinned() local 1338 xe_validation_guard(&ctx, &xe->val, &exec, (struct xe_val_flags) {.exclusive = true}, ret) { in xe_bo_evict_pinned() 1339 ret = drm_exec_lock_obj(&exec, &bo->ttm.base); in xe_bo_evict_pinned() 1340 drm_exec_retry_on_contention(&exec); in xe_bo_evict_pinned() [all …]
|
| H A D | xe_vm.c | 52 * @exec: The drm_exec transaction. 58 int xe_vm_drm_exec_lock(struct xe_vm *vm, struct drm_exec *exec) in xe_vm_drm_exec_lock() argument 60 return drm_exec_lock_obj(exec, xe_vm_obj(vm)); in xe_vm_drm_exec_lock() 199 struct drm_exec *exec) in resume_and_reinstall_preempt_fences() argument 209 drm_gpuvm_resv_add_fence(&vm->gpuvm, exec, q->lr.pfence, in resume_and_reinstall_preempt_fences() 221 struct drm_exec *exec = &vm_exec.exec; in xe_vm_add_compute_exec_queue() local 247 drm_gpuvm_resv_add_fence(&vm->gpuvm, exec, pfence, in xe_vm_add_compute_exec_queue() 271 * xe_vm_remove_compute_exec_queue() - Remove compute exec queue from VM 303 * use. If in preempt fence mode, also kill all exec queu 326 xe_gpuvm_validate(struct drm_gpuvm_bo * vm_bo,struct drm_exec * exec) xe_gpuvm_validate() argument 363 xe_vm_validate_rebind(struct xe_vm * vm,struct drm_exec * exec,unsigned int num_fences) xe_vm_validate_rebind() argument 389 xe_preempt_work_begin(struct drm_exec * exec,struct xe_vm * vm,bool * done) xe_preempt_work_begin() argument 457 struct drm_exec exec; preempt_rebind_work_func() local 1158 xe_vm_lock_vma(struct drm_exec * exec,struct xe_vma * vma) xe_vm_lock_vma() argument 1177 struct drm_exec exec; xe_vma_destroy_unlocked() local 1422 xe_vm_create_scratch(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,struct drm_exec * exec) xe_vm_create_scratch() argument 1481 struct drm_exec exec; xe_vm_create() local 2432 struct drm_exec exec; new_vma() local 2875 vma_lock_and_validate(struct drm_exec * exec,struct xe_vma * vma,bool res_evict,bool validate) vma_lock_and_validate() argument 2964 op_lock_and_prep(struct drm_exec * exec,struct xe_vm * vm,struct xe_vma_ops * vops,struct xe_vma_op * op) op_lock_and_prep() argument 3056 vm_bind_ioctl_ops_lock_and_prep(struct drm_exec * exec,struct xe_vm * vm,struct xe_vma_ops * vops) vm_bind_ioctl_ops_lock_and_prep() argument 3304 struct drm_exec exec; vm_bind_ioctl_ops_execute() local [all...] |
| H A D | xe_vm.h | 266 int xe_vm_lock_vma(struct drm_exec *exec, struct xe_vma *vma); 268 int xe_vm_validate_rebind(struct xe_vm *vm, struct drm_exec *exec, 296 int xe_vm_drm_exec_lock(struct xe_vm *vm, struct drm_exec *exec); 377 static inline void xe_vm_set_validation_exec(struct xe_vm *vm, struct drm_exec *exec) in xe_vm_set_validation_exec() argument 380 xe_assert(vm->xe, !!exec ^ !!vm->validation._exec); in xe_vm_set_validation_exec() 381 vm->validation._exec = exec; in xe_vm_set_validation_exec()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_gem.c | 235 struct drm_exec exec; in amdgpu_gem_object_open() local 246 drm_exec_init(&exec, DRM_EXEC_IGNORE_DUPLICATES, 0); in amdgpu_gem_object_open() 247 drm_exec_until_all_locked(&exec) { in amdgpu_gem_object_open() 248 r = drm_exec_prepare_obj(&exec, &abo->tbo.base, 1); in amdgpu_gem_object_open() 249 drm_exec_retry_on_contention(&exec); in amdgpu_gem_object_open() 253 r = amdgpu_vm_lock_pd(vm, &exec, 0); in amdgpu_gem_object_open() 254 drm_exec_retry_on_contention(&exec); in amdgpu_gem_object_open() 273 drm_exec_fini(&exec); in amdgpu_gem_object_open() 309 drm_exec_fini(&exec); in amdgpu_gem_object_open() 323 struct drm_exec exec; in amdgpu_gem_object_close() local [all …]
|
| H A D | amdgpu_userq_fence.c | 477 struct drm_exec exec; in amdgpu_userq_signal_ioctl() local 586 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, in amdgpu_userq_signal_ioctl() 590 drm_exec_until_all_locked(&exec) { in amdgpu_userq_signal_ioctl() 591 r = drm_exec_prepare_array(&exec, gobj_read, num_read_bo_handles, 1); in amdgpu_userq_signal_ioctl() 592 drm_exec_retry_on_contention(&exec); in amdgpu_userq_signal_ioctl() 598 r = drm_exec_prepare_array(&exec, gobj_write, num_write_bo_handles, 1); in amdgpu_userq_signal_ioctl() 599 drm_exec_retry_on_contention(&exec); in amdgpu_userq_signal_ioctl() 630 drm_exec_fini(&exec); in amdgpu_userq_signal_ioctl() 672 struct drm_exec exec; in amdgpu_userq_wait_ioctl() local 747 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, in amdgpu_userq_wait_ioctl() [all …]
|
| H A D | amdgpu_amdkfd_gpuvm.c | 881 struct drm_exec exec; in kfd_mem_attach() local 962 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0); in kfd_mem_attach() 963 drm_exec_until_all_locked(&exec) { in kfd_mem_attach() 964 ret = amdgpu_vm_lock_pd(vm, &exec, 0); in kfd_mem_attach() 965 drm_exec_retry_on_contention(&exec); in kfd_mem_attach() 968 ret = drm_exec_lock_obj(&exec, &bo[i]->tbo.base); in kfd_mem_attach() 969 drm_exec_retry_on_contention(&exec); in kfd_mem_attach() 980 drm_exec_fini(&exec); in kfd_mem_attach() 1146 struct drm_exec exec; member 1176 drm_exec_init(&ctx->exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0); in reserve_bo_and_vm() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gpuvm.c | 1189 exec_prepare_obj(struct drm_exec *exec, struct drm_gem_object *obj, in exec_prepare_obj() argument 1192 return num_fences ? drm_exec_prepare_obj(exec, obj, num_fences) : in exec_prepare_obj() 1193 drm_exec_lock_obj(exec, obj); in exec_prepare_obj() 1212 struct drm_exec *exec, in drm_gpuvm_prepare_vm() argument 1215 return exec_prepare_obj(exec, gpuvm->r_obj, num_fences); in drm_gpuvm_prepare_vm() 1221 struct drm_exec *exec, in __drm_gpuvm_prepare_objects() argument 1229 ret = exec_prepare_obj(exec, vm_bo->obj, num_fences); in __drm_gpuvm_prepare_objects() 1242 struct drm_exec *exec, in drm_gpuvm_prepare_objects_locked() argument 1253 ret = exec_prepare_obj(exec, vm_bo->obj, num_fences); in drm_gpuvm_prepare_objects_locked() 1289 struct drm_exec *exec, in drm_gpuvm_prepare_objects() argument [all …]
|
| /linux/tools/testing/selftests/exec/ |
| H A D | check-exec.c | 269 const int exec = variant->mount_exec && variant->file_exec; in TEST_F() local 271 test_exec_path(_metadata, reg_file_path, exec ? 0 : EACCES); in TEST_F() 274 test_exec_path(_metadata, reg_file_path, exec ? 0 : EACCES); in TEST_F() 279 const int exec = variant->mount_exec && variant->file_exec; in TEST_F() local 283 test_exec_path(_metadata, reg_file_path, exec ? 0 : EACCES); in TEST_F() 286 test_exec_path(_metadata, reg_file_path, exec ? 0 : EACCES); in TEST_F() 292 const int exec = variant->file_exec; in TEST_F() local 294 test_exec_fd(_metadata, self->memfd, exec ? 0 : EACCES); in TEST_F() 297 test_exec_fd(_metadata, self->memfd, exec ? 0 : EACCES); in TEST_F() 302 const int exec = variant->file_exec; in TEST_F() local [all …]
|
| H A D | null-argv.c | 10 #define FORK(exec) \ argument 15 exec; /* Some kind of exec */ \ 16 perror("# " #exec); \ 19 check_result(pid, #exec); \
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_gem_submit.c | 277 struct drm_exec *exec = &submit->exec; in submit_lock_objects_vmbind() local 280 drm_exec_init(&submit->exec, flags, submit->nr_bos); in submit_lock_objects_vmbind() 282 drm_exec_until_all_locked (&submit->exec) { in submit_lock_objects_vmbind() 283 ret = drm_gpuvm_prepare_vm(submit->vm, exec, 1); in submit_lock_objects_vmbind() 284 drm_exec_retry_on_contention(exec); in submit_lock_objects_vmbind() 288 ret = drm_gpuvm_prepare_objects(submit->vm, exec, 1); in submit_lock_objects_vmbind() 289 drm_exec_retry_on_contention(exec); in submit_lock_objects_vmbind() 306 drm_exec_init(&submit->exec, flags, submit->nr_bos); in submit_lock_objects() 308 drm_exec_until_all_locked (&submit->exec) { in submit_lock_objects() 309 ret = drm_exec_lock_obj(&submit->exec, in submit_lock_objects() [all …]
|
| H A D | msm_gem.c | 55 struct drm_exec exec; in msm_gem_close() local 83 msm_gem_lock_vm_and_obj(&exec, obj, ctx->vm); in msm_gem_close() 85 drm_exec_fini(&exec); /* drop locks */ in msm_gem_close() 108 struct drm_exec exec; in msm_gem_vma_put() local 110 msm_gem_lock_vm_and_obj(&exec, obj, priv->kms->vm); in msm_gem_vma_put() 112 drm_exec_fini(&exec); /* drop locks */ in msm_gem_vma_put() 556 struct drm_exec exec; in msm_gem_get_and_pin_iova_range() local 559 msm_gem_lock_vm_and_obj(&exec, obj, vm); in msm_gem_get_and_pin_iova_range() 561 drm_exec_fini(&exec); /* drop locks */ in msm_gem_get_and_pin_iova_range() 581 struct drm_exec exec; in msm_gem_get_iova() local [all …]
|
| H A D | msm_gem_vma.c | 439 msm_gem_vm_bo_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) in msm_gem_vm_bo_validate() argument 899 struct drm_exec exec; in msm_gem_vm_close() local 916 drm_exec_init(&exec, 0, 2); in msm_gem_vm_close() 917 drm_exec_until_all_locked (&exec) { in msm_gem_vm_close() 918 drm_exec_lock_obj(&exec, drm_gpuvm_resv_obj(gpuvm)); in msm_gem_vm_close() 919 drm_exec_retry_on_contention(&exec); in msm_gem_vm_close() 932 drm_exec_lock_obj(&exec, obj); in msm_gem_vm_close() 933 drm_exec_retry_on_contention(&exec); in msm_gem_vm_close() 940 drm_exec_unlock_obj(&exec, obj); in msm_gem_vm_close() 944 drm_exec_fini(&exec); in msm_gem_vm_close() [all …]
|
| /linux/drivers/sbus/char/ |
| H A D | oradax.c | 860 ctx->result.exec.status = DAX_SUBMIT_ERR_THR_INIT; in dax_ccb_exec() 867 ctx->result.exec.status = DAX_SUBMIT_ERR_NO_CA_AVAIL; in dax_ccb_exec() 877 ctx->result.exec.status = DAX_SUBMIT_ERR_CCB_ARR_MMU_MISS; in dax_ccb_exec() 885 ctx->result.exec.status = DAX_SUBMIT_ERR_NO_CA_AVAIL; in dax_ccb_exec() 891 ctx->result.exec.status = dax_preprocess_usr_ccbs(ctx, idx, nccbs); in dax_ccb_exec() 892 if (ctx->result.exec.status != DAX_SUBMIT_OK) in dax_ccb_exec() 895 ctx->result.exec.status = dax_lock_pages(ctx, idx, nccbs, in dax_ccb_exec() 896 &ctx->result.exec.status_data); in dax_ccb_exec() 897 if (ctx->result.exec.status != DAX_SUBMIT_OK) in dax_ccb_exec() 905 &accepted_len, &ctx->result.exec.status_data); in dax_ccb_exec() [all …]
|
| /linux/drivers/gpu/drm/xe/tests/ |
| H A D | xe_bo.c | 27 struct kunit *test, struct drm_exec *exec) in ccs_test_migrate() argument 39 ret = xe_bo_validate(bo, NULL, false, exec); in ccs_test_migrate() 64 ret = xe_bo_evict(bo, exec); in ccs_test_migrate() 136 struct drm_exec *exec = XE_VALIDATION_OPT_OUT; in ccs_test_run_tile() local 144 bo_flags, exec); in ccs_test_run_tile() 154 test, exec); in ccs_test_run_tile() 160 0xdeadbeefdeadbeefULL, test, exec); in ccs_test_run_tile() 165 ret = ccs_test_migrate(tile, bo, true, 0ULL, 0ULL, test, exec); in ccs_test_run_tile() 212 struct drm_exec *exec = XE_VALIDATION_OPT_OUT; in evict_test_run_tile() local 223 bo_flags, exec); in evict_test_run_tile() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/timer/ |
| H A D | base.c | 73 LIST_HEAD(exec); in nvkm_timer_alarm_trigger() 90 list_add(&alarm->exec, &exec); in nvkm_timer_alarm_trigger() 99 list_for_each_entry_safe(alarm, atemp, &exec, exec) { in nvkm_timer_alarm_trigger() 100 list_del(&alarm->exec); in nvkm_timer_alarm_trigger()
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_job.c | 531 prepare_fw_obj_resv(struct drm_exec *exec, struct pvr_fw_object *fw_obj) in prepare_fw_obj_resv() argument 533 return drm_exec_prepare_obj(exec, gem_from_pvr_gem(fw_obj->gem), 1); in prepare_fw_obj_resv() 537 jobs_lock_all_objs(struct drm_exec *exec, struct pvr_job_data *job_data, in jobs_lock_all_objs() argument 546 int err = drm_exec_lock_obj(exec, in jobs_lock_all_objs() 553 err = prepare_fw_obj_resv(exec, in jobs_lock_all_objs() 564 prepare_job_resvs_for_each(struct drm_exec *exec, struct pvr_job_data *job_data, in prepare_job_resvs_for_each() argument 567 drm_exec_until_all_locked(exec) { in prepare_job_resvs_for_each() 568 int err = jobs_lock_all_objs(exec, job_data, job_count); in prepare_job_resvs_for_each() 570 drm_exec_retry_on_contention(exec); in prepare_job_resvs_for_each() 711 struct drm_exec exec; in pvr_submit_jobs() local [all …]
|
| /linux/tools/perf/util/ |
| H A D | comm.c | 192 struct comm *comm__new(const char *str, u64 timestamp, bool exec) in comm__new() argument 200 comm->exec = exec; in comm__new() 211 int comm__override(struct comm *comm, const char *str, u64 timestamp, bool exec) in comm__override() argument 222 if (exec) in comm__override() 223 comm->exec = true; in comm__override()
|
| H A D | comm.h | 15 bool exec; member 23 struct comm *comm__new(const char *str, u64 timestamp, bool exec); 26 bool exec);
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | test_overhead.c | 10 int BPF_KPROBE(prog1, struct task_struct *tsk, const char *buf, bool exec) 28 int BPF_PROG(prog4, struct task_struct *tsk, const char *buf, bool exec) in prog3() 34 int BPF_PROG(prog5, struct task_struct *tsk, const char *buf, bool exec) in BPF_PROG() 13 BPF_KPROBE(prog1,struct task_struct * tsk,const char * buf,bool exec) BPF_KPROBE() argument 31 BPF_PROG(prog4,struct task_struct * tsk,const char * buf,bool exec) BPF_PROG() argument 37 BPF_PROG(prog5,struct task_struct * tsk,const char * buf,bool exec) BPF_PROG() argument
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_mmu.h | 49 int panthor_vm_prepare_mapped_bos_resvs(struct drm_exec *exec, 90 int panthor_vm_bind_job_prepare_resvs(struct drm_exec *exec, 92 void panthor_vm_bind_job_update_resvs(struct drm_exec *exec, struct drm_sched_job *job); 94 void panthor_vm_update_resvs(struct panthor_vm *vm, struct drm_exec *exec,
|
| /linux/drivers/gpu/drm/qxl/ |
| H A D | qxl_release.c | 223 drm_exec_init(&release->exec, no_intr ? 0 : in qxl_release_reserve_list() 225 drm_exec_until_all_locked(&release->exec) { in qxl_release_reserve_list() 227 ret = drm_exec_prepare_obj(&release->exec, in qxl_release_reserve_list() 230 drm_exec_retry_on_contention(&release->exec); in qxl_release_reserve_list() 243 drm_exec_fini(&release->exec); in qxl_release_reserve_list() 254 drm_exec_fini(&release->exec); in qxl_release_backoff_reserve_list() 442 drm_exec_fini(&release->exec); in qxl_release_fence_buffer_objects()
|