| /linux/drivers/gpu/drm/imagination/ |
| A D | pvr_fw.h | 128 int (*vm_map)(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 463 pvr_fw_object_vmap(struct pvr_fw_object *fw_obj) in pvr_fw_object_vmap() argument 465 return pvr_gem_object_vmap(fw_obj->gem); in pvr_fw_object_vmap() 469 pvr_fw_object_vunmap(struct pvr_fw_object *fw_obj) in pvr_fw_object_vunmap() argument 471 pvr_gem_object_vunmap(fw_obj->gem); in pvr_fw_object_vunmap() 474 void pvr_fw_object_destroy(struct pvr_fw_object *fw_obj); 477 pvr_fw_object_unmap_and_destroy(struct pvr_fw_object *fw_obj) in pvr_fw_object_unmap_and_destroy() argument 479 pvr_fw_object_vunmap(fw_obj); in pvr_fw_object_unmap_and_destroy() 480 pvr_fw_object_destroy(fw_obj); in pvr_fw_object_unmap_and_destroy() 498 return pvr_gem_get_dma_addr(fw_obj->gem, offset, dma_addr_out); in pvr_fw_object_get_dma_addr() [all …]
|
| A D | pvr_fw.c | 1258 fw_obj = kzalloc(sizeof(*fw_obj), GFP_KERNEL); in pvr_fw_object_create_and_map_common() 1259 if (!fw_obj) in pvr_fw_object_create_and_map_common() 1263 fw_obj->init = init; in pvr_fw_object_create_and_map_common() 1269 fw_obj->gem = NULL; in pvr_fw_object_create_and_map_common() 1283 *fw_obj_out = fw_obj; in pvr_fw_object_create_and_map_common() 1285 if (fw_obj->init) in pvr_fw_object_create_and_map_common() 1286 fw_obj->init(cpu_ptr, fw_obj->init_priv); in pvr_fw_object_create_and_map_common() 1425 if (fw_obj->gem) in pvr_fw_object_destroy() 1428 kfree(fw_obj); in pvr_fw_object_destroy() 1475 if (fw_obj->init) in pvr_fw_hard_reset() [all …]
|
| A D | pvr_vm_mips.c | 146 pvr_vm_mips_map(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj) in pvr_vm_mips_map() argument 150 struct pvr_gem_object *pvr_obj = fw_obj->gem; in pvr_vm_mips_map() 151 const u64 start = fw_obj->fw_mm_node.start; in pvr_vm_mips_map() 152 const u64 size = fw_obj->fw_mm_node.size; in pvr_vm_mips_map() 186 err = pvr_fw_object_get_dma_addr(fw_obj, in pvr_vm_mips_map() 220 pvr_vm_mips_unmap(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj) in pvr_vm_mips_unmap() argument 224 const u64 start = fw_obj->fw_mm_node.start; in pvr_vm_mips_unmap() 225 const u64 size = fw_obj->fw_mm_node.size; in pvr_vm_mips_unmap()
|
| A D | pvr_fw_meta.c | 359 static u64 get_fw_obj_gpu_addr(struct pvr_fw_object *fw_obj) in get_fw_obj_gpu_addr() argument 361 struct pvr_device *pvr_dev = to_pvr_device(gem_from_pvr_gem(fw_obj->gem)->dev); in get_fw_obj_gpu_addr() 364 return fw_obj->fw_addr_offset + fw_dev->fw_heap_info.gpu_addr; in get_fw_obj_gpu_addr() 506 pvr_meta_get_fw_addr_with_offset(struct pvr_fw_object *fw_obj, u32 offset) in pvr_meta_get_fw_addr_with_offset() argument 511 if (fw_obj->gem->flags & PVR_BO_FW_FLAGS_DEVICE_UNCACHED) in pvr_meta_get_fw_addr_with_offset() 519 pvr_meta_vm_map(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj) in pvr_meta_vm_map() argument 521 struct pvr_gem_object *pvr_obj = fw_obj->gem; in pvr_meta_vm_map() 523 return pvr_vm_map(pvr_dev->kernel_vm_ctx, pvr_obj, 0, fw_obj->fw_mm_node.start, in pvr_meta_vm_map() 528 pvr_meta_vm_unmap(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj) in pvr_meta_vm_unmap() argument 530 pvr_vm_unmap(pvr_dev->kernel_vm_ctx, fw_obj->fw_mm_node.start, in pvr_meta_vm_unmap() [all …]
|
| A D | pvr_vm_mips.h | 18 pvr_vm_mips_map(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 20 pvr_vm_mips_unmap(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj);
|
| A D | pvr_free_list.c | 208 &free_list->fw_obj); in free_list_create_fw_structure() 218 pvr_fw_object_unmap_and_destroy(free_list->fw_obj); in free_list_destroy_fw_structure() 385 pvr_fw_object_get_fw_addr(free_list->fw_obj, &resp->freelist_fw_addr); in pvr_free_list_process_grow_req() 455 free_list->fw_obj, 0)); in pvr_free_list_create() 482 free_list->fw_obj, 0); in pvr_free_list_release() 490 free_list->fw_obj, 0); in pvr_free_list_release() 592 struct rogue_fwif_hwrtdata *hwrt_fw_data = pvr_fw_object_vmap(hwrt_data->fw_obj); in pvr_free_list_reconstruct() 599 pvr_fw_object_vunmap(hwrt_data->fw_obj); in pvr_free_list_reconstruct()
|
| A D | pvr_job.c | 173 pvr_fw_object_get_fw_addr(job->hwrt->fw_obj, &cmd->cmd_shared.hwrt_data_fw_addr); in pvr_geom_job_fw_cmd_init() 204 pvr_fw_object_get_fw_addr(job->hwrt->fw_obj, &cmd->cmd_shared.hwrt_data_fw_addr); in pvr_frag_job_fw_cmd_init() 356 gem_from_pvr_gem(job_data->job->hwrt->fw_obj->gem); in prepare_job_syncs() 538 prepare_fw_obj_resv(struct drm_exec *exec, struct pvr_fw_object *fw_obj) in prepare_fw_obj_resv() argument 540 return drm_exec_prepare_obj(exec, gem_from_pvr_gem(fw_obj->gem), 1); in prepare_fw_obj_resv() 554 gem_from_pvr_gem(job->ctx->fw_obj->gem)); in jobs_lock_all_objs() 561 job->hwrt->fw_obj); in jobs_lock_all_objs() 591 struct drm_gem_object *obj = gem_from_pvr_gem(job->hwrt->fw_obj->gem); in update_job_resvs()
|
| A D | pvr_context.h | 52 struct pvr_fw_object *fw_obj; member 209 pvr_fw_object_get_fw_addr(ctx->fw_obj, &ctx_fw_addr); in pvr_context_get_fw_addr()
|
| A D | pvr_fw_mips.c | 221 pvr_mips_get_fw_addr_with_offset(struct pvr_fw_object *fw_obj, u32 offset) in pvr_mips_get_fw_addr_with_offset() argument 223 struct pvr_device *pvr_dev = to_pvr_device(gem_from_pvr_gem(fw_obj->gem)->dev); in pvr_mips_get_fw_addr_with_offset() 226 return ((fw_obj->fw_addr_offset + offset) & pvr_dev->fw_dev.fw_heap_info.offset_mask) | in pvr_mips_get_fw_addr_with_offset()
|
| A D | pvr_queue.c | 631 pvr_fw_object_get_fw_addr(jfence->queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 646 pvr_fw_object_get_fw_addr(jfence->queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 663 pvr_fw_object_get_fw_addr(queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 673 pvr_fw_object_get_fw_addr(queue->timeline_ufo.fw_obj, &ufos[0].addr); in pvr_queue_submit_job_to_cccb() 1051 if (!queue->ctx->fw_obj) in pvr_queue_cleanup_fw_context() 1056 queue->ctx->fw_obj, queue->ctx_offset); in pvr_queue_cleanup_fw_context() 1277 NULL, NULL, &queue->timeline_ufo.fw_obj); in pvr_queue_create() 1310 pvr_fw_object_unmap_and_destroy(queue->timeline_ufo.fw_obj); in pvr_queue_create() 1389 pvr_fw_object_unmap_and_destroy(queue->timeline_ufo.fw_obj); in pvr_queue_destroy()
|
| A D | pvr_hwrt.c | 373 pvr_fw_object_get_fw_addr(hwrt->free_lists[free_list_i]->fw_obj, in hwrt_data_init_fw_structure() 413 hwrt_fw_data_init, hwrt_data, &hwrt_data->fw_obj); in hwrt_data_init_fw_structure() 444 pvr_fw_object_destroy(hwrt_data->fw_obj); in hwrt_data_fini_fw_structure() 511 hwrt->data[i].fw_obj, 0)); in pvr_hwrt_dataset_release()
|
| A D | pvr_context.c | 342 ctx_fw_data_init, ctx, &ctx->fw_obj); in pvr_context_create() 368 pvr_fw_object_destroy(ctx->fw_obj); in pvr_context_create() 398 pvr_fw_object_destroy(ctx->fw_obj); in pvr_context_release()
|
| A D | pvr_queue.h | 110 struct pvr_fw_object *fw_obj; member
|
| A D | pvr_hwrt.h | 28 struct pvr_fw_object *fw_obj; member
|
| A D | pvr_free_list.h | 58 struct pvr_fw_object *fw_obj; member
|
| A D | pvr_cccb.c | 208 pvr_fw_object_get_fw_addr_offset(hwrt->fw_obj, cleanup_state_offset, in fill_cmd_kick_data()
|