Home
last modified time | relevance | path

Searched refs:iommu_info (Results 1 – 25 of 31) sorted by relevance

12

/OK3568_Linux_fs/kernel/drivers/video/rockchip/iep/
H A Diep_iommu_ops.c23 (struct iep_iommu_info *iommu_info, struct iep_session *session) in iep_iommu_get_session_info() argument
27 list_for_each_entry_safe(session_info, n, &iommu_info->session_list, in iep_iommu_get_session_info()
36 int iep_iommu_create(struct iep_iommu_info *iommu_info) in iep_iommu_create() argument
38 if (!iommu_info || !iommu_info->ops || !iommu_info->ops->create) in iep_iommu_create()
41 return iommu_info->ops->create(iommu_info); in iep_iommu_create()
44 int iep_iommu_import(struct iep_iommu_info *iommu_info, in iep_iommu_import() argument
49 if (!iommu_info || !iommu_info->ops || in iep_iommu_import()
50 !iommu_info->ops->import || !session) in iep_iommu_import()
53 session_info = iep_iommu_get_session_info(iommu_info, session); in iep_iommu_import()
64 session_info->mmu_dev = iommu_info->mmu_dev; in iep_iommu_import()
[all …]
H A Diep_iommu_drm.c84 static void iep_drm_detach(struct iep_iommu_info *iommu_info) in iep_drm_detach() argument
86 struct iep_iommu_drm_info *drm_info = iommu_info->private; in iep_drm_detach()
87 struct device *dev = iommu_info->dev; in iep_drm_detach()
90 mutex_lock(&iommu_info->iommu_mutex); in iep_drm_detach()
93 mutex_unlock(&iommu_info->iommu_mutex); in iep_drm_detach()
100 mutex_unlock(&iommu_info->iommu_mutex); in iep_drm_detach()
103 static int iep_drm_attach_unlock(struct iep_iommu_info *iommu_info) in iep_drm_attach_unlock() argument
105 struct iep_iommu_drm_info *drm_info = iommu_info->private; in iep_drm_attach_unlock()
106 struct device *dev = iommu_info->dev; in iep_drm_attach_unlock()
124 static int iep_drm_attach(struct iep_iommu_info *iommu_info) in iep_drm_attach() argument
[all …]
H A Diep_iommu_ops.h48 int (*create)(struct iep_iommu_info *iommu_info);
57 int (*destroy)(struct iep_iommu_info *iommu_info);
59 int (*attach)(struct iep_iommu_info *iommu_info);
60 void (*detach)(struct iep_iommu_info *iommu_info);
73 struct iep_iommu_info *iommu_info; member
89 void iep_iommu_drm_set_ops(struct iep_iommu_info *iommu_info);
95 int iep_iommu_info_destroy(struct iep_iommu_info *iommu_info);
97 int iep_iommu_create(struct iep_iommu_info *iommu_info);
98 int iep_iommu_import(struct iep_iommu_info *iommu_info,
100 int iep_iommu_free(struct iep_iommu_info *iommu_info,
[all …]
H A Diep_drv.c93 iep_iommu_unmap_iommu(iep_service.iommu_info, in iep_reg_deinit()
95 iep_iommu_free(iep_service.iommu_info, in iep_reg_deinit()
237 iep_iommu_attach(iep_service.iommu_info); in iep_power_on()
261 iep_iommu_detach(iep_service.iommu_info); in iep_power_off()
630 iep_iommu_clear(iep_service.iommu_info, session); in iep_release()
1054 iep_service.iommu_info = iep_iommu_info_create(data->dev, in iep_drv_probe()
1078 iep_iommu_info_destroy(iep_service.iommu_info); in iep_drv_remove()
1079 iep_service.iommu_info = NULL; in iep_drv_remove()
H A Diep_drv.h126 struct iep_iommu_info *iommu_info; member
H A Dhw_iep_reg.c1396 hdl = iep_iommu_import(pservice->iommu_info, in iep_bufid_to_iova()
1406 iep_iommu_free(pservice->iommu_info, in iep_bufid_to_iova()
1413 ret = iep_iommu_map_iommu(pservice->iommu_info, in iep_bufid_to_iova()
1420 iep_iommu_free(pservice->iommu_info, in iep_bufid_to_iova()
/OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_iommu.c45 struct amd_iommu_device_info iommu_info; in kfd_iommu_check_device() local
51 iommu_info.flags = 0; in kfd_iommu_check_device()
52 err = amd_iommu_device_info(kfd->pdev, &iommu_info); in kfd_iommu_check_device()
56 if ((iommu_info.flags & required_iommu_flags) != required_iommu_flags) in kfd_iommu_check_device()
66 struct amd_iommu_device_info iommu_info; in kfd_iommu_device_init() local
73 iommu_info.flags = 0; in kfd_iommu_device_init()
74 err = amd_iommu_device_info(kfd->pdev, &iommu_info); in kfd_iommu_device_init()
81 if ((iommu_info.flags & required_iommu_flags) != required_iommu_flags) { in kfd_iommu_device_init()
84 (iommu_info.flags & AMD_IOMMU_DEVICE_FLAG_ATS_SUP) != 0, in kfd_iommu_device_init()
85 (iommu_info.flags & AMD_IOMMU_DEVICE_FLAG_PRI_SUP) != 0, in kfd_iommu_device_init()
[all …]
/OK3568_Linux_fs/kernel/drivers/video/rockchip/rga3/
H A Drga_iommu.c347 if (scheduler->iommu_info == NULL) in rga_iommu_bind()
351 main_iommu = scheduler->iommu_info; in rga_iommu_bind()
357 scheduler->iommu_info->domain = main_iommu->domain; in rga_iommu_bind()
358 scheduler->iommu_info->default_dev = main_iommu->default_dev; in rga_iommu_bind()
359 rga_iommu_attach(scheduler->iommu_info); in rga_iommu_bind()
418 if (rga_drvdata->scheduler[i]->iommu_info != NULL) in rga_iommu_unbind()
419 rga_iommu_detach(rga_drvdata->scheduler[i]->iommu_info); in rga_iommu_unbind()
H A Drga_drv.c1430 scheduler->iommu_info = rga_iommu_probe(dev); in rga_drv_probe()
1431 if (IS_ERR(scheduler->iommu_info)) { in rga_drv_probe()
1433 scheduler->iommu_info = NULL; in rga_drv_probe()
/OK3568_Linux_fs/kernel/drivers/video/rockchip/mpp/
H A Dmpp_common.c418 mpp_iommu_down_read(mpp->iommu_info); in mpp_session_deinit_default()
420 mpp_iommu_up_read(mpp->iommu_info); in mpp_session_deinit_default()
583 if (mpp->iommu_info && mpp->iommu_info->got_irq) in mpp_task_timeout_work()
584 disable_irq(mpp->iommu_info->irq); in mpp_task_timeout_work()
602 if (mpp->iommu_info && mpp->iommu_info->got_irq) in mpp_task_timeout_work()
603 enable_irq(mpp->iommu_info->irq); in mpp_task_timeout_work()
746 mpp_iommu_down_write(mpp->iommu_info); in mpp_dev_reset()
757 mpp_iommu_refresh(mpp->iommu_info, mpp->dev); in mpp_dev_reset()
760 mpp_iommu_up_write(mpp->iommu_info); in mpp_dev_reset()
827 ret = mpp_iommu_attach(mpp->iommu_info); in mpp_task_run()
[all …]
H A Dmpp_rkvdec2_link.c377 mpp_iommu_flush_tlb(link_dec->mpp->iommu_info); in rkvdec2_link_enqueue()
486 mpp_iommu_disable_irq(mpp->iommu_info); in rkvdec2_link_reset()
489 mpp_iommu_down_write(mpp->iommu_info); in rkvdec2_link_reset()
504 mpp_iommu_refresh(mpp->iommu_info, mpp->dev); in rkvdec2_link_reset()
507 mpp_iommu_up_write(mpp->iommu_info); in rkvdec2_link_reset()
510 mpp_iommu_enable_irq(mpp->iommu_info); in rkvdec2_link_reset()
760 if (mpp_iommu_attach(mpp->iommu_info)) { in rkvdec2_link_power_on()
772 mpp_iommu_enable_irq(mpp->iommu_info); in rkvdec2_link_power_on()
780 mpp_iommu_dev_activate(mpp->iommu_info, mpp); in rkvdec2_link_power_on()
792 mpp_iommu_disable_irq(mpp->iommu_info); in rkvdec2_link_power_off()
[all …]
H A Dmpp_rkvenc.c473 mpp_iommu_flush_tlb(mpp->iommu_info); in rkvenc_run()
546 iommu_unmap(mpp->iommu_info->domain, enc->aux_iova, IOMMU_PAGE_SIZE); in rkvenc_isr()
1137 mpp_iommu_down_write(mpp->iommu_info); in rkvenc_iommu_handle_work()
1140 iommu_unmap(mpp->iommu_info->domain, enc->aux_iova, IOMMU_PAGE_SIZE); in rkvenc_iommu_handle_work()
1145 ret = iommu_map(mpp->iommu_info->domain, page_iova, in rkvenc_iommu_handle_work()
1154 mpp_iommu_up_write(mpp->iommu_info); in rkvenc_iommu_handle_work()
1235 mpp->iommu_info->hdl = rkvenc_iommu_fault_handle; in rkvenc_init()
1252 iommu_unmap(mpp->iommu_info->domain, enc->aux_iova, IOMMU_PAGE_SIZE); in rkvenc_exit()
H A Dmpp_rkvdec2.c363 mpp_iommu_flush_tlb(mpp->iommu_info); in rkvdec2_run()
1458 domain = dec->mpp.iommu_info->domain; in rkvdec2_alloc_rcbbuf()
1584 mpp->iommu_info->hdl = rkvdec2_ccu_iommu_fault_handle; in rkvdec2_core_probe()
1696 domain = dec->mpp.iommu_info->domain; in rkvdec2_free_rcbbuf()
1748 if (mpp->iommu_info && mpp->iommu_info->got_irq) in rkvdec2_runtime_suspend()
1750 disable_irq(mpp->iommu_info->irq); in rkvdec2_runtime_suspend()
1775 if (mpp->iommu_info && mpp->iommu_info->got_irq) in rkvdec2_runtime_resume()
1776 enable_irq(mpp->iommu_info->irq); in rkvdec2_runtime_resume()
H A Dmpp_rkvdec.c979 mpp_iommu_flush_tlb(mpp->iommu_info); in rkvdec_1126_run()
987 mpp_iommu_flush_tlb(mpp->iommu_info); in rkvdec_px30_run()
1070 iommu_unmap(mpp->iommu_info->domain, dec->aux_iova, IOMMU_PAGE_SIZE); in rkvdec_3328_isr()
1308 iommu_unmap(mpp->iommu_info->domain, dec->aux_iova, IOMMU_PAGE_SIZE); in rkvdec_3328_iommu_hdl()
1313 ret = iommu_map(mpp->iommu_info->domain, page_iova, in rkvdec_3328_iommu_hdl()
1432 mpp->iommu_info->hdl = rkvdec_3328_iommu_hdl; in rkvdec_3328_init()
1447 iommu_unmap(mpp->iommu_info->domain, dec->aux_iova, IOMMU_PAGE_SIZE); in rkvdec_3328_exit()
1611 mpp_iommu_refresh(mpp->iommu_info, mpp->dev); in rkvdec_3368_set_freq()
H A Dmpp_iommu.h97 mpp_dma_import_fd(struct mpp_iommu_info *iommu_info,
H A Dmpp_vepu2.c383 mpp_iommu_flush_tlb(mpp->iommu_info); in vepu_run()
405 mpp_iommu_flush_tlb(mpp->iommu_info); in vepu_px30_run()
1047 ccu_info = ccu->main_core->iommu_info; in vepu_attach_ccu()
1048 cur_info = enc->mpp.iommu_info; in vepu_attach_ccu()
H A Dmpp_rkvenc2.c1240 mpp_iommu_flush_tlb(mpp->iommu_info); in rkvenc_run()
2288 ccu_info = ccu->main_core->iommu_info; in rkvenc_attach_ccu()
2289 cur_info = enc->mpp.iommu_info; in rkvenc_attach_ccu()
2362 domain = enc->mpp.iommu_info->domain; in rkvenc2_alloc_rcbbuf()
2472 if (mpp->iommu_info) in rkvenc_core_probe()
2473 mpp->iommu_info->hdl = rkvenc2_iommu_fault_handle; in rkvenc_core_probe()
2564 domain = enc->mpp.iommu_info->domain; in rkvenc2_free_rcbbuf()
H A Dmpp_vdpu2.c366 mpp_iommu_flush_tlb(mpp->iommu_info); in vdpu_run()
388 mpp_iommu_flush_tlb(mpp->iommu_info); in vdpu_px30_run()
H A Dmpp_av1dec.c658 mpp_iommu_flush_tlb(mpp->iommu_info); in av1dec_run()
1266 if (mpp->iommu_info) in av1dec_probe()
1267 mpp->iommu_info->av1d_iommu = 1; in av1dec_probe()
H A Dmpp_jpgdec.c268 mpp_iommu_flush_tlb(mpp->iommu_info); in jpgdec_run()
H A Dmpp_iommu.c178 struct mpp_dma_buffer *mpp_dma_import_fd(struct mpp_iommu_info *iommu_info, in mpp_dma_import_fd() argument
/OK3568_Linux_fs/kernel/drivers/video/rockchip/mpp/hack/
H A Dmpp_hack_px30.c150 struct platform_device *pdev = mpp->iommu_info->pdev; in px30_workaround_combo_init()
199 mpp->iommu_info->iommu = iommu; in px30_workaround_combo_init()
234 ret = mpp_iommu_enable(mpp->iommu_info->iommu); in px30_workaround_combo_switch_grf()
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/hisilicon/
H A Dhi3660-drm.dtsi37 iommu_info {
/OK3568_Linux_fs/kernel/drivers/video/rockchip/rga3/include/
H A Drga_drv.h325 struct rga_iommu_info *iommu_info; member
/OK3568_Linux_fs/kernel/Documentation/driver-api/
H A Dvfio.rst172 struct vfio_iommu_type1_info iommu_info = { .argsz = sizeof(iommu_info) };
201 ioctl(container, VFIO_IOMMU_GET_INFO, &iommu_info);

12