Home
last modified time | relevance | path

Searched refs:xdna (Results 1 – 11 of 11) sorted by relevance

/linux/drivers/accel/amdxdna/
H A Damdxdna_iommu.c18 static struct iova *amdxdna_iommu_alloc_iova(struct amdxdna_dev *xdna, in amdxdna_iommu_alloc_iova() argument
26 end = xdna->domain->geometry.aperture_end; in amdxdna_iommu_alloc_iova()
27 shift = iova_shift(&xdna->iovad); in amdxdna_iommu_alloc_iova()
28 size = iova_align(&xdna->iovad, size); in amdxdna_iommu_alloc_iova()
30 iova = alloc_iova(&xdna->iovad, size >> shift, end >> shift, size_aligned); in amdxdna_iommu_alloc_iova()
34 *dma_addr = iova_dma_addr(&xdna->iovad, iova); in amdxdna_iommu_alloc_iova()
39 int amdxdna_dma_map_bo(struct amdxdna_dev *xdna, struct amdxdna_gem_obj *abo) in amdxdna_dma_map_bo() argument
52 XDNA_ERR(xdna, "Get sgt failed, ret %ld", PTR_ERR(sgt)); in amdxdna_dma_map_bo()
57 XDNA_ERR(xdna, "sgl is zero length"); in amdxdna_dma_map_bo()
61 if (amdxdna_iova_on(xdna)) { in amdxdna_dma_map_bo()
[all …]
H A Damdxdna_pci_drv.c79 struct amdxdna_dev *xdna = client->xdna; in amdxdna_sva_init() local
81 client->sva = iommu_sva_bind_device(xdna->ddev.dev, client->mm); in amdxdna_sva_init()
83 XDNA_ERR(xdna, "SVA bind device failed, ret %ld", PTR_ERR(client->sva)); in amdxdna_sva_init()
91 XDNA_ERR(xdna, "SVA get pasid failed"); in amdxdna_sva_init()
110 struct amdxdna_dev *xdna = to_xdna_dev(ddev); in amdxdna_drm_open() local
123 client->xdna = xdna; in amdxdna_drm_open()
127 if (!amdxdna_iova_on(xdna)) { in amdxdna_drm_open()
130 XDNA_WARN(xdna, "PASID not available for pid %d", client->pid); in amdxdna_drm_open()
131 if (!amdxdna_use_carveout(xdna)) { in amdxdna_drm_open()
132 XDNA_ERR(xdna, "PASID unavailable and carveout not configured"); in amdxdna_drm_open()
[all …]
H A Daie2_pci.c94 XDNA_ERR(ndev->aie.xdna, "Invalid mbox magic 0x%x", info_regs.magic); in aie2_get_mgmt_chann_info()
147 XDNA_ERR(ndev->aie.xdna, "Set type %d value %d failed", in aie2_runtime_cfg()
162 XDNA_ERR(ndev->aie.xdna, "Suspend firmware failed"); in aie2_xdna_reset()
168 XDNA_ERR(ndev->aie.xdna, "Resume firmware failed"); in aie2_xdna_reset()
181 XDNA_ERR(ndev->aie.xdna, "Runtime config failed"); in aie2_mgmt_fw_init()
187 XDNA_ERR(ndev->aie.xdna, "Can not assign PASID"); in aie2_mgmt_fw_init()
193 XDNA_ERR(ndev->aie.xdna, "Failed to update execution time quantum"); in aie2_mgmt_fw_init()
199 XDNA_ERR(ndev->aie.xdna, "Reset firmware failed"); in aie2_mgmt_fw_init()
210 ret = aie2_query_firmware_version(ndev, &ndev->aie.xdna->fw_ver); in aie2_mgmt_fw_query()
212 XDNA_ERR(ndev->aie.xdna, "query firmware version failed"); in aie2_mgmt_fw_query()
[all …]
H A Daie2_ctx.c44 static inline void aie2_tdr_signal(struct amdxdna_dev *xdna) in aie2_tdr_signal() argument
46 WRITE_ONCE(xdna->dev_handle->last_signal_ts, jiffies); in aie2_tdr_signal()
49 static bool aie2_tdr_detect(struct amdxdna_dev *xdna) in aie2_tdr_detect() argument
51 struct amdxdna_dev_hdl *ndev = xdna->dev_handle; in aie2_tdr_detect()
60 XDNA_ERR(xdna, "TDR timeout detected"); in aie2_tdr_detect()
99 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument
103 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop()
107 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument
113 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart()
115 XDNA_ERR(xdna, "Create hwctx failed, ret %d", ret); in aie2_hwctx_restart()
[all …]
H A Damdxdna_pm.c16 struct amdxdna_dev *xdna = to_xdna_dev(dev_get_drvdata(dev)); in amdxdna_pm_suspend() local
19 guard(mutex)(&xdna->dev_lock); in amdxdna_pm_suspend()
20 if (xdna->dev_info->ops->suspend) in amdxdna_pm_suspend()
21 ret = xdna->dev_info->ops->suspend(xdna); in amdxdna_pm_suspend()
23 XDNA_DBG(xdna, "Suspend done ret %d", ret); in amdxdna_pm_suspend()
29 struct amdxdna_dev *xdna = to_xdna_dev(dev_get_drvdata(dev)); in amdxdna_pm_resume() local
32 guard(mutex)(&xdna->dev_lock); in amdxdna_pm_resume()
33 if (xdna->dev_info->ops->resume) in amdxdna_pm_resume()
34 ret = xdna->dev_info->ops->resume(xdna); in amdxdna_pm_resume()
36 XDNA_DBG(xdna, "Resume done ret %d", ret); in amdxdna_pm_resume()
[all …]
H A Damdxdna_ctx.c85 struct amdxdna_dev *xdna = client->xdna; in amdxdna_hwctx_destroy_rcu() local
90 xdna->dev_info->ops->hwctx_fini(hwctx); in amdxdna_hwctx_destroy_rcu()
213 XDNA_DBG(client->xdna, "PID %d close HW context %d", in amdxdna_hwctx_remove_all()
224 struct amdxdna_dev *xdna = to_xdna_dev(dev); in amdxdna_drm_create_hwctx_ioctl() local
231 if (!xdna->dev_info->ops->hwctx_init) in amdxdna_drm_create_hwctx_ioctl()
239 XDNA_ERR(xdna, "Access QoS info failed"); in amdxdna_drm_create_hwctx_ioctl()
252 guard(mutex)(&xdna->dev_lock); in amdxdna_drm_create_hwctx_ioctl()
259 ret = xdna->dev_info->ops->hwctx_init(hwctx); in amdxdna_drm_create_hwctx_ioctl()
261 XDNA_ERR(xdna, "Init hwctx failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl()
275 XDNA_ERR(xdna, "Allocate hwctx ID failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl()
[all …]
H A Damdxdna_pci_drv.h17 #define XDNA_INFO(xdna, fmt, args...) drm_info(&(xdna)->ddev, fmt, ##args) argument
18 #define XDNA_WARN(xdna, fmt, args...) drm_warn(&(xdna)->ddev, "%s: "fmt, __func__, ##args) argument
19 #define XDNA_ERR(xdna, fmt, args...) drm_err(&(xdna)->ddev, "%s: "fmt, __func__, ##args) argument
20 #define XDNA_DBG(xdna, fmt, args...) drm_dbg(&(xdna)->ddev, fmt, ##args) argument
21 #define XDNA_INFO_ONCE(xdna, fmt, args...) drm_info_once(&(xdna)->ddev, fmt, ##args) argument
23 #define XDNA_MBZ_DBG(xdna, ptr, sz) \ argument
30 XDNA_DBG(xdna, "MBZ check failed"); \
55 int (*init)(struct amdxdna_dev *xdna);
56 void (*fini)(struct amdxdna_dev *xdna);
57 int (*resume)(struct amdxdna_dev *xdna);
[all …]
H A Daie2_message.c28 #define EXEC_MSG_OPS(xdna) ((xdna)->dev_handle->exec_msg_ops) argument
37 XDNA_ERR(ndev->aie.xdna, "Failed to suspend fw, ret %d", ret); in aie2_suspend_fw()
61 XDNA_ERR(ndev->aie.xdna, "Failed to set runtime config, ret %d", ret); in aie2_set_runtime_cfg()
76 XDNA_ERR(ndev->aie.xdna, "Failed to get runtime config, ret %d", ret); in aie2_get_runtime_cfg()
97 struct amdxdna_dev *xdna = ndev->aie.xdna; in aie2_query_aie_version() local
104 XDNA_DBG(xdna, "Query AIE version - major: %u minor: %u completed", in aie2_query_aie_version()
172 struct amdxdna_dev *xdna = ndev->aie.xdna; in aie2_destroy_context_req() local
178 XDNA_WARN(xdna, "Destroy context failed, ret %d", ret); in aie2_destroy_context_req()
180 XDNA_DBG(xdna, "Destroy context: device already stopped"); in aie2_destroy_context_req()
208 struct amdxdna_dev *xdna = ndev->aie.xdna; in aie2_create_context() local
[all …]
H A Damdxdna_gem.c36 struct amdxdna_dev *xdna = client->xdna; in amdxdna_init_dev_bo() local
42 XDNA_DBG(xdna, "Empty heap xa"); in amdxdna_init_dev_bo()
49 XDNA_ERR(xdna, "Failed to load heap %d", heap_id); in amdxdna_init_dev_bo()
67 XDNA_ERR(xdna, "Failed to load heap %d", heap_id); in amdxdna_init_dev_bo()
72 XDNA_ERR(xdna, "Heap %d is not mapped", heap_id); in amdxdna_init_dev_bo()
77 XDNA_ERR(xdna, "Heap %d uva is not contiguous", heap_id); in amdxdna_init_dev_bo()
89 XDNA_DBG(xdna, "Can not find heap end"); in amdxdna_init_dev_bo()
102 struct amdxdna_dev *xdna = client->xdna; in amdxdna_gem_heap_alloc() local
111 if (!mem->size || mem->size > xdna->dev_info->dev_heap_max_size) { in amdxdna_gem_heap_alloc()
112 XDNA_ERR(xdna, "Invalid dev bo size 0x%lx, max heap 0x%lx", in amdxdna_gem_heap_alloc()
[all …]
H A Damdxdna_pm.h13 int amdxdna_pm_resume_get(struct amdxdna_dev *xdna);
14 void amdxdna_pm_suspend_put(struct amdxdna_dev *xdna);
15 void amdxdna_pm_init(struct amdxdna_dev *xdna);
16 void amdxdna_pm_fini(struct amdxdna_dev *xdna);
18 static inline int amdxdna_pm_resume_get_locked(struct amdxdna_dev *xdna) in amdxdna_pm_resume_get_locked() argument
22 mutex_unlock(&xdna->dev_lock); in amdxdna_pm_resume_get_locked()
23 ret = amdxdna_pm_resume_get(xdna); in amdxdna_pm_resume_get_locked()
24 mutex_lock(&xdna->dev_lock); in amdxdna_pm_resume_get_locked()
H A Daie2_pci.h22 #define NDEV2PDEV(ndev) (to_pci_dev((ndev)->aie.xdna->ddev.dev))
40 pci_resource_len(NDEV2PDEV(_ndev), (_ndev)->aie.xdna->dev_info->mbox_bar); \