/kernel/linux/linux-6.6/drivers/accel/ivpu/ |
H A D | ivpu_mmu_context.c | 189 u64 vpu_addr, dma_addr_t dma_addr, u64 prot) in ivpu_mmu_context_map_page() 192 int pgd_idx = FIELD_GET(IVPU_MMU_PGD_INDEX_MASK, vpu_addr); in ivpu_mmu_context_map_page() 193 int pud_idx = FIELD_GET(IVPU_MMU_PUD_INDEX_MASK, vpu_addr); in ivpu_mmu_context_map_page() 194 int pmd_idx = FIELD_GET(IVPU_MMU_PMD_INDEX_MASK, vpu_addr); in ivpu_mmu_context_map_page() 195 int pte_idx = FIELD_GET(IVPU_MMU_PTE_INDEX_MASK, vpu_addr); in ivpu_mmu_context_map_page() 217 ivpu_mmu_context_map_cont_64k(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, in ivpu_mmu_context_map_cont_64k() argument 222 drm_WARN_ON(&vdev->drm, !IS_ALIGNED(vpu_addr, size)); in ivpu_mmu_context_map_cont_64k() 228 int ret = ivpu_mmu_context_map_page(vdev, ctx, vpu_addr, dma_addr, prot); in ivpu_mmu_context_map_cont_64k() 234 vpu_addr += IVPU_MMU_PAGE_SIZE; in ivpu_mmu_context_map_cont_64k() 241 static void ivpu_mmu_context_unmap_page(struct ivpu_mmu_context *ctx, u64 vpu_addr) in ivpu_mmu_context_unmap_page() argument 188 ivpu_mmu_context_map_page(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, dma_addr_t dma_addr, u64 prot) ivpu_mmu_context_map_page() argument 253 ivpu_mmu_context_flush_page_tables(struct ivpu_mmu_context *ctx, u64 vpu_addr, size_t size) ivpu_mmu_context_flush_page_tables() argument 285 ivpu_mmu_context_map_pages(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, dma_addr_t dma_addr, size_t size, u64 prot) ivpu_mmu_context_map_pages() argument 312 ivpu_mmu_context_unmap_pages(struct ivpu_mmu_context *ctx, u64 vpu_addr, size_t size) ivpu_mmu_context_unmap_pages() argument 322 ivpu_mmu_context_map_sgt(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, struct sg_table *sgt, bool llc_coherent) ivpu_mmu_context_map_sgt() argument 365 ivpu_mmu_context_unmap_sgt(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, struct sg_table *sgt) ivpu_mmu_context_unmap_sgt() argument [all...] |
H A D | ivpu_gem.h | 29 u64 vpu_addr; member 57 ivpu_bo_alloc_internal(struct ivpu_device *vdev, u64 vpu_addr, u64 size, u32 flags); 105 static inline void *ivpu_to_cpu_addr(struct ivpu_bo *bo, u32 vpu_addr) in ivpu_to_cpu_addr() argument 107 if (vpu_addr < bo->vpu_addr) in ivpu_to_cpu_addr() 110 if (vpu_addr >= (bo->vpu_addr + bo->base.size)) in ivpu_to_cpu_addr() 113 return bo->kvaddr + (vpu_addr - bo->vpu_addr); in ivpu_to_cpu_addr() 124 return bo->vpu_addr in cpu_to_vpu_addr() [all...] |
H A D | ivpu_ipc.c | 34 struct ivpu_ipc_hdr *ipc_hdr, u32 vpu_addr) in ivpu_ipc_msg_dump() 38 c, vpu_addr, ipc_hdr->data_addr, ipc_hdr->data_size, ipc_hdr->channel, in ivpu_ipc_msg_dump() 43 struct vpu_jsm_msg *jsm_msg, u32 vpu_addr) in ivpu_jsm_msg_dump() 49 c, vpu_addr, jsm_msg->type, jsm_msg->status, jsm_msg->request_id, jsm_msg->result, in ivpu_jsm_msg_dump() 128 static void ivpu_ipc_tx_release(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx_release() argument 132 if (vpu_addr) in ivpu_ipc_tx_release() 133 gen_pool_free(ipc->mm_tx, vpu_addr, sizeof(struct ivpu_ipc_tx_buf)); in ivpu_ipc_tx_release() 136 static void ivpu_ipc_tx(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx() argument 138 ivpu_hw_reg_ipc_tx_set(vdev, vpu_addr); in ivpu_ipc_tx() 366 u32 vpu_addr; in ivpu_ipc_irq_handler() local 33 ivpu_ipc_msg_dump(struct ivpu_device *vdev, char *c, struct ivpu_ipc_hdr *ipc_hdr, u32 vpu_addr) ivpu_ipc_msg_dump() argument 42 ivpu_jsm_msg_dump(struct ivpu_device *vdev, char *c, struct vpu_jsm_msg *jsm_msg, u32 vpu_addr) ivpu_jsm_msg_dump() argument [all...] |
H A D | ivpu_gem.c | 248 if (!bo->vpu_addr) { in ivpu_bo_pin() 249 ivpu_err(vdev, "vpu_addr not set for BO ctx_id: %d handle: %d\n", in ivpu_bo_pin() 262 ret = ivpu_mmu_context_map_sgt(vdev, bo->ctx, bo->vpu_addr, bo->sgt, in ivpu_bo_pin() 297 bo->vpu_addr = bo->mm_node.start; in ivpu_bo_alloc_vpu_addr() 310 ivpu_dbg(vdev, BO, "remove from ctx: ctx %d vpu_addr 0x%llx allocated %d mmu_mapped %d\n", in ivpu_bo_free_vpu_addr() 311 ctx->id, bo->vpu_addr, (bool)bo->sgt, bo->mmu_mapped); in ivpu_bo_free_vpu_addr() 317 ivpu_mmu_context_unmap_sgt(vdev, ctx, bo->vpu_addr, bo->sgt); in ivpu_bo_free_vpu_addr() 323 bo->vpu_addr = 0; in ivpu_bo_free_vpu_addr() 410 ivpu_dbg(vdev, BO, "free: ctx %d vpu_addr 0x%llx allocated %d mmu_mapped %d\n", in ivpu_bo_free() 411 bo->ctx->id, bo->vpu_addr, (boo in ivpu_bo_free() 562 ivpu_bo_alloc_internal(struct ivpu_device *vdev, u64 vpu_addr, u64 size, u32 flags) ivpu_bo_alloc_internal() argument [all...] |
H A D | ivpu_mmu_context.h | 47 u64 vpu_addr, struct sg_table *sgt, bool llc_coherent); 49 u64 vpu_addr, struct sg_table *sgt);
|
H A D | ivpu_hw.h | 27 void (*reg_ipc_tx_set)(struct ivpu_device *vdev, u32 vpu_addr); 143 static inline void ivpu_hw_reg_ipc_tx_set(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_hw_reg_ipc_tx_set() argument 145 vdev->hw->ops->reg_ipc_tx_set(vdev, vpu_addr); in ivpu_hw_reg_ipc_tx_set()
|
H A D | ivpu_fw.c | 453 boot_params->ipc_header_area_start = ipc_mem_rx->vpu_addr; in ivpu_fw_boot_params_setup() 456 boot_params->ipc_payload_area_start = ipc_mem_rx->vpu_addr + ipc_mem_rx->base.size / 2; in ivpu_fw_boot_params_setup() 471 boot_params->shave_nn_fw_base = vdev->fw->mem_shave_nn->vpu_addr; in ivpu_fw_boot_params_setup() 488 boot_params->crit_tracing_buff_addr = vdev->fw->mem_log_crit->vpu_addr; in ivpu_fw_boot_params_setup() 490 boot_params->verbose_tracing_buff_addr = vdev->fw->mem_log_verb->vpu_addr; in ivpu_fw_boot_params_setup()
|
H A D | ivpu_job.c | 96 cmdq->mem->vpu_addr, cmdq->mem->base.size); in ivpu_cmdq_acquire() 461 job->cmd_buf_vpu_addr = bo->vpu_addr + commands_offset; in ivpu_job_prepare_bos_for_submit()
|
H A D | ivpu_hw_37xx.c | 864 static void ivpu_hw_37xx_reg_ipc_tx_set(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_hw_37xx_reg_ipc_tx_set() argument 866 REGV_WR32(MTL_VPU_CPU_SS_TIM_IPC_FIFO, vpu_addr); in ivpu_hw_37xx_reg_ipc_tx_set()
|
H A D | ivpu_hw_40xx.c | 974 static void ivpu_hw_40xx_reg_ipc_tx_set(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_hw_40xx_reg_ipc_tx_set() argument 976 REGV_WR32(VPU_40XX_CPU_SS_TIM_IPC_FIFO, vpu_addr); in ivpu_hw_40xx_reg_ipc_tx_set()
|
/kernel/linux/linux-6.6/include/uapi/drm/ |
H A D | ivpu_accel.h | 197 /** @vpu_addr: Returned VPU virtual address */ 198 __u64 vpu_addr; member 211 /** @vpu_addr: Returned VPU virtual address */ 212 __u64 vpu_addr; member
|