| /linux/drivers/gpu/drm/ |
| H A D | drm_exec.c | 56 static void drm_exec_unlock_all(struct drm_exec *exec) in drm_exec_unlock_all() argument 61 drm_exec_for_each_locked_object_reverse(exec, index, obj) { in drm_exec_unlock_all() 66 drm_gem_object_put(exec->prelocked); in drm_exec_unlock_all() 67 exec->prelocked = NULL; in drm_exec_unlock_all() 81 void drm_exec_init(struct drm_exec *exec, u32 flags, unsigned nr) in drm_exec_init() argument 86 exec->flags = flags; in drm_exec_init() 87 exec->objects = kvmalloc_array(nr, sizeof(void *), GFP_KERNEL); in drm_exec_init() 90 exec->max_objects = exec->objects ? nr : 0; in drm_exec_init() 91 exec->num_objects = 0; in drm_exec_init() 92 exec->contended = DRM_EXEC_DUMMY; in drm_exec_init() [all …]
|
| 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/drivers/gpu/drm/tests/ |
| H A D | drm_exec_test.c | 47 struct drm_exec exec; in sanitycheck() local 49 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0); in sanitycheck() 50 drm_exec_fini(&exec); in sanitycheck() 58 struct drm_exec exec; in test_lock() local 63 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0); in test_lock() 64 drm_exec_until_all_locked(&exec) { in test_lock() 65 ret = drm_exec_lock_obj(&exec, &gobj); in test_lock() 66 drm_exec_retry_on_contention(&exec); in test_lock() 71 drm_exec_fini(&exec); in test_lock() 78 struct drm_exec exec; in test_lock_unlock() local [all …]
|
| /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 …]
|
| H A D | vc4_validate.c | 53 struct vc4_exec_info *exec, \ 108 vc4_use_bo(struct vc4_exec_info *exec, uint32_t hindex) in vc4_use_bo() argument 110 struct vc4_dev *vc4 = exec->dev; in vc4_use_bo() 117 if (hindex >= exec->bo_count) { in vc4_use_bo() 119 hindex, exec->bo_count); in vc4_use_bo() 122 obj = to_drm_gem_dma_obj(exec->bo[hindex]); in vc4_use_bo() 135 vc4_use_handle(struct vc4_exec_info *exec, uint32_t gem_handles_packet_index) in vc4_use_handle() argument 137 return vc4_use_bo(exec, exec->bo_index[gem_handles_packet_index]); in vc4_use_handle() 141 validate_bin_pos(struct vc4_exec_info *exec, void *untrusted, uint32_t pos) in validate_bin_pos() argument 146 return (untrusted - 1 == exec->bin_u + pos); in validate_bin_pos() [all …]
|
| H A D | vc4_render_cl.c | 101 static uint32_t vc4_full_res_offset(struct vc4_exec_info *exec, in vc4_full_res_offset() argument 107 (DIV_ROUND_UP(exec->args->width, 32) * y + x); in vc4_full_res_offset() 125 static void emit_tile(struct vc4_exec_info *exec, in emit_tile() argument 129 struct drm_vc4_submit_cl *args = exec->args; in emit_tile() 141 vc4_full_res_offset(exec, setup->color_read, in emit_tile() 163 vc4_full_res_offset(exec, setup->zs_read, in emit_tile() 187 rcl_u32(setup, (exec->tile_alloc_offset + in emit_tile() 188 (y * exec->bin_tiles_x + x) * 32)); in emit_tile() 203 vc4_full_res_offset(exec, setup->msaa_color_write, in emit_tile() 221 vc4_full_res_offset(exec, setup->msaa_zs_write, in emit_tile() [all …]
|
| H A D | vc4_irq.c | 68 struct vc4_exec_info *exec; in vc4_overflow_mem_work() local 93 exec = vc4_first_bin_job(vc4); in vc4_overflow_mem_work() 94 if (!exec) in vc4_overflow_mem_work() 95 exec = vc4_last_render_job(vc4); in vc4_overflow_mem_work() 96 if (exec) { in vc4_overflow_mem_work() 97 exec->bin_slots |= vc4->bin_alloc_overflow; in vc4_overflow_mem_work() 121 struct vc4_exec_info *next, *exec = vc4_first_bin_job(vc4); in vc4_irq_finish_bin_job() local 123 if (!exec) in vc4_irq_finish_bin_job() 126 trace_vc4_bcl_end_irq(dev, exec->seqno); in vc4_irq_finish_bin_job() 128 vc4_move_job_to_render(dev, exec); in vc4_irq_finish_bin_job() [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/amd/amdgpu/ |
| H A D | amdgpu_seq64.c | 71 struct drm_exec exec; in amdgpu_seq64_map() local 79 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0); in amdgpu_seq64_map() 80 drm_exec_until_all_locked(&exec) { in amdgpu_seq64_map() 81 r = amdgpu_vm_lock_pd(vm, &exec, 0); in amdgpu_seq64_map() 83 r = drm_exec_lock_obj(&exec, &bo->tbo.base); in amdgpu_seq64_map() 84 drm_exec_retry_on_contention(&exec); in amdgpu_seq64_map() 114 drm_exec_fini(&exec); in amdgpu_seq64_map() 130 struct drm_exec exec; in amdgpu_seq64_unmap() local 142 drm_exec_init(&exec, 0, 0); in amdgpu_seq64_unmap() 143 drm_exec_until_all_locked(&exec) { in amdgpu_seq64_unmap() [all …]
|
| 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 …]
|
| /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 …]
|
| /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 …]
|
| /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/arch/sparc/mm/ |
| H A D | tlb.c | 79 bool exec, unsigned int hugepage_shift) in tlb_batch_add_one() argument 85 if (exec) in tlb_batch_add_one() 168 bool exec = pte_exec(*pte); in tlb_batch_pmd_scan() local 170 tlb_batch_add_one(mm, vaddr, exec, PAGE_SHIFT); in tlb_batch_pmd_scan() 220 bool exec = pte_exec(orig_pte); in __set_pmd_acct() local 222 tlb_batch_add_one(mm, addr, exec, REAL_HPAGE_SHIFT); in __set_pmd_acct() 223 tlb_batch_add_one(mm, addr + REAL_HPAGE_SIZE, exec, in __set_pmd_acct()
|
| /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);
|