/linux-6.12.1/drivers/gpu/drm/imagination/ |
D | pvr_drv.c | 77 struct pvr_file *pvr_file = to_pvr_file(file); in pvr_ioctl_create_bo() local 121 err = pvr_gem_object_into_handle(pvr_obj, pvr_file, &args->handle); in pvr_ioctl_create_bo() 168 struct pvr_file *pvr_file = to_pvr_file(file); in pvr_ioctl_get_bo_mmap_offset() local 189 pvr_obj = pvr_gem_object_from_handle(pvr_file, args->handle); in pvr_ioctl_get_bo_mmap_offset() 684 struct pvr_file *pvr_file = file->driver_priv; in pvr_ioctl_create_context() local 691 ret = pvr_context_create(pvr_file, args); in pvr_ioctl_create_context() 716 struct pvr_file *pvr_file = file->driver_priv; in pvr_ioctl_destroy_context() local 721 return pvr_context_destroy(pvr_file, args->handle); in pvr_ioctl_destroy_context() 742 struct pvr_file *pvr_file = to_pvr_file(file); in pvr_ioctl_create_free_list() local 750 free_list = pvr_free_list_create(pvr_file, args); in pvr_ioctl_create_free_list() [all …]
|
D | pvr_hwrt.h | 81 pvr_hwrt_dataset_create(struct pvr_file *pvr_file, 85 pvr_destroy_hwrt_datasets_for_file(struct pvr_file *pvr_file); 100 pvr_hwrt_dataset_lookup(struct pvr_file *pvr_file, u32 handle) in pvr_hwrt_dataset_lookup() argument 104 xa_lock(&pvr_file->hwrt_handles); in pvr_hwrt_dataset_lookup() 105 hwrt = xa_load(&pvr_file->hwrt_handles, handle); in pvr_hwrt_dataset_lookup() 110 xa_unlock(&pvr_file->hwrt_handles); in pvr_hwrt_dataset_lookup() 132 pvr_hwrt_data_lookup(struct pvr_file *pvr_file, u32 handle, u32 index) in pvr_hwrt_data_lookup() argument 134 struct pvr_hwrt_dataset *hwrt_dataset = pvr_hwrt_dataset_lookup(pvr_file, handle); in pvr_hwrt_data_lookup()
|
D | pvr_context.h | 159 pvr_context_lookup(struct pvr_file *pvr_file, u32 handle) in pvr_context_lookup() argument 164 xa_lock(&pvr_file->ctx_handles); in pvr_context_lookup() 165 ctx = pvr_context_get(xa_load(&pvr_file->ctx_handles, handle)); in pvr_context_lookup() 166 xa_unlock(&pvr_file->ctx_handles); in pvr_context_lookup() 216 int pvr_context_create(struct pvr_file *pvr_file, struct drm_pvr_ioctl_create_context_args *args); 218 int pvr_context_destroy(struct pvr_file *pvr_file, u32 handle); 220 void pvr_destroy_contexts_for_file(struct pvr_file *pvr_file);
|
D | pvr_context.c | 33 remap_priority(struct pvr_file *pvr_file, s32 uapi_priority, in remap_priority() argument 44 if (!capable(CAP_SYS_NICE) && !drm_is_current_master(from_pvr_file(pvr_file))) in remap_priority() 292 int pvr_context_create(struct pvr_file *pvr_file, struct drm_pvr_ioctl_create_context_args *args) in pvr_context_create() argument 294 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in pvr_context_create() 317 err = remap_priority(pvr_file, args->priority, &ctx->priority); in pvr_context_create() 321 ctx->vm_ctx = pvr_vm_context_lookup(pvr_file, args->vm_context_handle); in pvr_context_create() 350 err = xa_alloc(&pvr_file->ctx_handles, &args->handle, ctx, xa_limit_32b, GFP_KERNEL); in pvr_context_create() 362 list_add_tail(&ctx->file_link, &pvr_file->contexts); in pvr_context_create() 428 pvr_context_destroy(struct pvr_file *pvr_file, u32 handle) in pvr_context_destroy() argument 430 struct pvr_context *ctx = xa_erase(&pvr_file->ctx_handles, handle); in pvr_context_destroy() [all …]
|
D | pvr_free_list.h | 107 pvr_free_list_create(struct pvr_file *pvr_file, 111 pvr_destroy_free_lists_for_file(struct pvr_file *pvr_file); 138 pvr_free_list_lookup(struct pvr_file *pvr_file, u32 handle) in pvr_free_list_lookup() argument 142 xa_lock(&pvr_file->free_list_handles); in pvr_free_list_lookup() 143 free_list = pvr_free_list_get(xa_load(&pvr_file->free_list_handles, handle)); in pvr_free_list_lookup() 144 xa_unlock(&pvr_file->free_list_handles); in pvr_free_list_lookup()
|
D | pvr_hwrt.c | 41 hwrt_init_kernel_structure(struct pvr_file *pvr_file, in hwrt_init_kernel_structure() argument 45 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in hwrt_init_kernel_structure() 54 hwrt->free_lists[i] = pvr_free_list_lookup(pvr_file, args->free_list_handles[i]); in hwrt_init_kernel_structure() 232 hwrt_init_common_fw_structure(struct pvr_file *pvr_file, in hwrt_init_common_fw_structure() argument 237 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in hwrt_init_common_fw_structure() 357 hwrt_data_init_fw_structure(struct pvr_file *pvr_file, in hwrt_data_init_fw_structure() argument 364 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in hwrt_data_init_fw_structure() 457 pvr_hwrt_dataset_create(struct pvr_file *pvr_file, in pvr_hwrt_dataset_create() argument 469 err = hwrt_init_kernel_structure(pvr_file, args, hwrt); in pvr_hwrt_dataset_create() 473 err = hwrt_init_common_fw_structure(pvr_file, args, hwrt); in pvr_hwrt_dataset_create() [all …]
|
D | pvr_vm.h | 15 struct pvr_file; 62 struct pvr_vm_context *pvr_vm_context_lookup(struct pvr_file *pvr_file, u32 handle); 65 void pvr_destroy_vm_contexts_for_file(struct pvr_file *pvr_file);
|
D | pvr_free_list.c | 49 free_list_create_kernel_structure(struct pvr_file *pvr_file, in free_list_create_kernel_structure() argument 71 vm_ctx = pvr_vm_context_lookup(pvr_file, args->vm_context_handle); in free_list_create_kernel_structure() 89 free_list->pvr_dev = pvr_file->pvr_dev; in free_list_create_kernel_structure() 194 free_list_create_fw_structure(struct pvr_file *pvr_file, in free_list_create_fw_structure() argument 198 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in free_list_create_fw_structure() 412 pvr_free_list_create(struct pvr_file *pvr_file, in pvr_free_list_create() argument 429 err = free_list_create_kernel_structure(pvr_file, args, free_list); in pvr_free_list_create() 434 err = xa_alloc(&pvr_file->pvr_dev->free_list_ids, in pvr_free_list_create() 442 err = free_list_create_fw_structure(pvr_file, args, free_list); in pvr_free_list_create() 520 void pvr_destroy_free_lists_for_file(struct pvr_file *pvr_file) in pvr_destroy_free_lists_for_file() argument [all …]
|
D | pvr_gem.h | 29 struct pvr_file; 128 struct pvr_file *pvr_file, u32 *handle); 129 struct pvr_gem_object *pvr_gem_object_from_handle(struct pvr_file *pvr_file,
|
D | pvr_job.c | 332 prepare_job_syncs(struct pvr_file *pvr_file, in prepare_job_syncs() argument 338 from_pvr_file(pvr_file), in prepare_job_syncs() 345 err = pvr_sync_add_deps_to_job(pvr_file, &job_data->job->base, in prepare_job_syncs() 391 prepare_job_syncs_for_each(struct pvr_file *pvr_file, in prepare_job_syncs_for_each() argument 397 int err = prepare_job_syncs(pvr_file, &job_data[i], in prepare_job_syncs_for_each() 411 struct pvr_file *pvr_file, in create_job() argument 437 job->ctx = pvr_context_lookup(pvr_file, args->context_handle); in create_job() 444 job->hwrt = pvr_hwrt_data_lookup(pvr_file, args->hwrt.set_handle, in create_job() 491 struct pvr_file *pvr_file, in pvr_job_data_init() argument 500 create_job(pvr_dev, pvr_file, &job_args[i]); in pvr_job_data_init() [all …]
|
D | pvr_sync.h | 19 struct pvr_file; 79 pvr_sync_add_deps_to_job(struct pvr_file *pvr_file, struct drm_sched_job *job,
|
D | pvr_gem.c | 123 struct pvr_file *pvr_file, u32 *handle) in pvr_gem_object_into_handle() argument 126 struct drm_file *file = from_pvr_file(pvr_file); in pvr_gem_object_into_handle() 167 pvr_gem_object_from_handle(struct pvr_file *pvr_file, u32 handle) in pvr_gem_object_from_handle() argument 169 struct drm_file *file = from_pvr_file(pvr_file); in pvr_gem_object_from_handle()
|
D | pvr_job.h | 22 struct pvr_file; 158 int pvr_submit_jobs(struct pvr_device *pvr_dev, struct pvr_file *pvr_file,
|
D | pvr_vm.c | 651 pvr_vm_context_lookup(struct pvr_file *pvr_file, u32 handle) in pvr_vm_context_lookup() argument 655 xa_lock(&pvr_file->vm_ctx_handles); in pvr_vm_context_lookup() 656 vm_ctx = xa_load(&pvr_file->vm_ctx_handles, handle); in pvr_vm_context_lookup() 660 xa_unlock(&pvr_file->vm_ctx_handles); in pvr_vm_context_lookup() 691 void pvr_destroy_vm_contexts_for_file(struct pvr_file *pvr_file) in pvr_destroy_vm_contexts_for_file() argument 696 xa_for_each(&pvr_file->vm_ctx_handles, handle, vm_ctx) { in pvr_destroy_vm_contexts_for_file() 698 pvr_vm_context_put(xa_erase(&pvr_file->vm_ctx_handles, handle)); in pvr_destroy_vm_contexts_for_file()
|
D | pvr_sync.c | 248 pvr_sync_add_deps_to_job(struct pvr_file *pvr_file, struct drm_sched_job *job, in pvr_sync_add_deps_to_job() argument 277 err = drm_syncobj_find_fence(from_pvr_file(pvr_file), sync_ops[i].handle, in pvr_sync_add_deps_to_job()
|
D | pvr_device.h | 309 struct pvr_file { struct 433 #define from_pvr_file(pvr_file) ((pvr_file)->file) argument
|
D | pvr_fw.h | 17 struct pvr_file;
|