/linux/drivers/gpu/drm/imagination/ |
H A D | pvr_fw.h | 128 int (*vm_map)(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 139 void (*vm_unmap)(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 153 u32 (*get_fw_addr_with_offset)(struct pvr_fw_object *fw_obj, u32 offset); 446 pvr_fw_structure_cleanup(struct pvr_device *pvr_dev, u32 type, 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 [all …]
|
H A D | pvr_fw.c | 1084 pvr_fw_structure_cleanup(struct pvr_device *pvr_dev, u32 type, struct pvr_fw_object *fw_obj, in pvr_fw_structure_cleanup() argument 1108 pvr_fw_object_get_fw_addr_offset(fw_obj, offset, in pvr_fw_structure_cleanup() 1112 pvr_fw_object_get_fw_addr_offset(fw_obj, offset, in pvr_fw_structure_cleanup() 1116 pvr_fw_object_get_fw_addr_offset(fw_obj, offset, in pvr_fw_structure_cleanup() 1157 pvr_fw_object_fw_map(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj, u64 dev_addr) in pvr_fw_object_fw_map() argument 1159 struct pvr_gem_object *pvr_obj = fw_obj->gem; in pvr_fw_object_fw_map() 1167 if (drm_mm_node_allocated(&fw_obj->fw_mm_node)) { in pvr_fw_object_fw_map() 1177 err = drm_mm_insert_node_in_range(&fw_dev->fw_mm, &fw_obj->fw_mm_node, in pvr_fw_object_fw_map() 1185 fw_obj->fw_mm_node.start = dev_addr; in pvr_fw_object_fw_map() 1186 fw_obj->fw_mm_node.size = gem_obj->size; in pvr_fw_object_fw_map() [all …]
|
H 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 508 u32 fw_addr = fw_obj->fw_addr_offset + offset + ROGUE_FW_SEGMMU_DATA_BASE_ADDRESS; in pvr_meta_get_fw_addr_with_offset() 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 [all …]
|
H 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()
|
H 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);
|
H 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()
|
H A D | pvr_queue.c | 641 pvr_fw_object_get_fw_addr(jfence->queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 656 pvr_fw_object_get_fw_addr(jfence->queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 673 pvr_fw_object_get_fw_addr(queue->timeline_ufo.fw_obj, in pvr_queue_submit_job_to_cccb() 683 pvr_fw_object_get_fw_addr(queue->timeline_ufo.fw_obj, &ufos[0].addr); in pvr_queue_submit_job_to_cccb() 1061 if (!queue->ctx->fw_obj) in pvr_queue_cleanup_fw_context() 1066 queue->ctx->fw_obj, queue->ctx_offset); in pvr_queue_cleanup_fw_context() 1287 NULL, NULL, &queue->timeline_ufo.fw_obj); in pvr_queue_create() 1320 pvr_fw_object_unmap_and_destroy(queue->timeline_ufo.fw_obj); in pvr_queue_create() 1399 pvr_fw_object_unmap_and_destroy(queue->timeline_ufo.fw_obj); in pvr_queue_destroy()
|
H 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()
|
H A D | pvr_queue.h | 114 struct pvr_fw_object *fw_obj; member
|
H A D | pvr_hwrt.h | 28 struct pvr_fw_object *fw_obj; member
|
H A D | pvr_free_list.h | 58 struct pvr_fw_object *fw_obj; member
|
H A D | pvr_cccb.c | 208 pvr_fw_object_get_fw_addr_offset(hwrt->fw_obj, cleanup_state_offset, in fill_cmd_kick_data()
|