Home
last modified time | relevance | path

Searched refs:ptdev (Results 1 – 7 of 7) sorted by relevance

/linux/drivers/gpu/drm/panthor/
H A Dpanthor_mmu.c250 struct panthor_device *ptdev; member
442 drm_WARN_ON(&vm->ptdev->base, vm->op_ctx); in alloc_pt()
443 p = alloc_pages_node(dev_to_node(vm->ptdev->base.dev), in alloc_pt()
453 if (drm_WARN_ON(&vm->ptdev->base, size != SZ_4K)) in alloc_pt()
459 if (drm_WARN_ON(&vm->ptdev->base, !vm->op_ctx) || in alloc_pt()
460 drm_WARN_ON(&vm->ptdev->base, in alloc_pt()
495 if (drm_WARN_ON(&vm->ptdev->base, size != SZ_4K)) in free_pt()
502 static int wait_ready(struct panthor_device *ptdev, u32 as_nr) in wait_ready() argument
510 ret = gpu_read_relaxed_poll_timeout_atomic(ptdev, AS_STATUS(as_nr), val, in wait_ready()
515 panthor_device_schedule_reset(ptdev); in wait_ready()
[all …]
H A Dpanthor_sched.c146 struct panthor_device *ptdev; member
535 struct panthor_device *ptdev; member
734 if (!queue_work((group)->ptdev->scheduler->wq, &(group)->wname ## _work)) \
748 !panthor_device_reset_is_pending((sched)->ptdev)) \
764 !panthor_device_reset_is_pending((sched)->ptdev)) \
868 struct panthor_device *ptdev = group->ptdev; in panthor_queue_get_syncwait_obj() local
882 if (drm_WARN_ON(&ptdev->base, IS_ERR_OR_NULL(bo))) in panthor_queue_get_syncwait_obj()
887 if (drm_WARN_ON(&ptdev->base, ret)) in panthor_queue_get_syncwait_obj()
891 if (drm_WARN_ON(&ptdev->base, !queue->syncwait.kmap)) in panthor_queue_get_syncwait_obj()
967 struct panthor_device *ptdev = group->ptdev; in group_release() local
[all …]
H A Dpanthor_pwr.h9 void panthor_pwr_unplug(struct panthor_device *ptdev);
11 int panthor_pwr_init(struct panthor_device *ptdev);
13 int panthor_pwr_reset_soft(struct panthor_device *ptdev);
15 void panthor_pwr_l2_power_off(struct panthor_device *ptdev);
17 int panthor_pwr_l2_power_on(struct panthor_device *ptdev);
19 void panthor_pwr_suspend(struct panthor_device *ptdev);
21 void panthor_pwr_resume(struct panthor_device *ptdev);
H A Dpanthor_fw.h479 panthor_fw_get_glb_iface(struct panthor_device *ptdev);
482 panthor_fw_get_csg_iface(struct panthor_device *ptdev, u32 csg_slot);
485 panthor_fw_get_cs_iface(struct panthor_device *ptdev, u32 csg_slot, u32 cs_slot);
487 u64 panthor_fw_csg_endpoint_req_get(struct panthor_device *ptdev,
490 void panthor_fw_csg_endpoint_req_set(struct panthor_device *ptdev,
493 void panthor_fw_csg_endpoint_req_update(struct panthor_device *ptdev,
497 int panthor_fw_csg_wait_acks(struct panthor_device *ptdev, u32 csg_id, u32 req_mask,
500 int panthor_fw_glb_wait_acks(struct panthor_device *ptdev, u32 req_mask, u32 *acked,
503 void panthor_fw_ring_csg_doorbells(struct panthor_device *ptdev, u32 csg_slot);
506 panthor_fw_alloc_queue_iface_mem(struct panthor_device *ptdev,
[all …]
H A Dpanthor_mmu.h19 int panthor_mmu_init(struct panthor_device *ptdev);
20 void panthor_mmu_unplug(struct panthor_device *ptdev);
21 void panthor_mmu_pre_reset(struct panthor_device *ptdev);
22 void panthor_mmu_post_reset(struct panthor_device *ptdev);
23 void panthor_mmu_suspend(struct panthor_device *ptdev);
24 void panthor_mmu_resume(struct panthor_device *ptdev);
44 struct panthor_vm *panthor_vm_create(struct panthor_device *ptdev, bool for_mcu,
62 int panthor_vm_pool_create_vm(struct panthor_device *ptdev,
H A Dpanthor_gem.c21 void panthor_gem_init(struct panthor_device *ptdev) in panthor_gem_init() argument
29 err = drm_gem_huge_mnt_create(&ptdev->base, "within_size"); in panthor_gem_init()
30 if (drm_gem_get_huge_mnt(&ptdev->base)) in panthor_gem_init()
31 drm_info(&ptdev->base, "Using Transparent Hugepage\n"); in panthor_gem_init()
33 drm_warn(&ptdev->base, "Can't use Transparent Hugepage (%d)\n", in panthor_gem_init()
45 struct panthor_device *ptdev = container_of(bo->base.base.dev, in panthor_gem_debugfs_bo_add() local
51 mutex_lock(&ptdev->gems.lock); in panthor_gem_debugfs_bo_add()
52 list_add_tail(&bo->debugfs.node, &ptdev->gems.node); in panthor_gem_debugfs_bo_add()
53 mutex_unlock(&ptdev->gems.lock); in panthor_gem_debugfs_bo_add()
58 struct panthor_device *ptdev = container_of(bo->base.base.dev, in panthor_gem_debugfs_bo_rm() local
[all …]
H A Dpanthor_heap.c88 struct panthor_device *ptdev; member
106 static int panthor_heap_ctx_stride(struct panthor_device *ptdev) in panthor_heap_ctx_stride() argument
108 u32 l2_features = ptdev->gpu_info.l2_features; in panthor_heap_ctx_stride()
116 return panthor_heap_ctx_stride(pool->ptdev) * id; in panthor_get_heap_ctx_offset()
152 chunk->bo = panthor_kernel_bo_create(pool->ptdev, pool->vm, heap->chunk_size, in panthor_alloc_heap_chunk()
337 memset(gpu_ctx, 0, panthor_heap_ctx_stride(pool->ptdev)); in panthor_heap_create()
375 u32 heap_id = (u32)offset / panthor_heap_ctx_stride(pool->ptdev); in panthor_heap_return_chunk()
439 u32 heap_id = (u32)offset / panthor_heap_ctx_stride(pool->ptdev); in panthor_heap_grow()
536 panthor_heap_pool_create(struct panthor_device *ptdev, struct panthor_vm *vm) in panthor_heap_pool_create() argument
539 panthor_heap_ctx_stride(ptdev), in panthor_heap_pool_create()
[all …]