| /linux/drivers/accel/amdxdna/ |
| H A D | amdxdna_pci_drv.c | 67 struct amdxdna_dev *xdna = to_xdna_dev(ddev); in amdxdna_drm_open() local 76 client->xdna = xdna; in amdxdna_drm_open() 79 if (!amdxdna_iova_on(xdna)) { in amdxdna_drm_open() 80 client->sva = iommu_sva_bind_device(xdna->ddev.dev, current->mm); in amdxdna_drm_open() 83 XDNA_ERR(xdna, "SVA bind device failed, ret %d", ret); in amdxdna_drm_open() 88 XDNA_ERR(xdna, "SVA get pasid failed"); in amdxdna_drm_open() 99 mutex_lock(&xdna->dev_lock); in amdxdna_drm_open() 100 list_add_tail(&client->node, &xdna->client_list); in amdxdna_drm_open() 101 mutex_unlock(&xdna->dev_lock); in amdxdna_drm_open() 106 XDNA_DBG(xdna, "pid %d opened", client->pid); in amdxdna_drm_open() [all …]
|
| H A D | aie2_pci.c | 87 struct amdxdna_dev *xdna = ndev->xdna; in aie2_dump_chann_info_debug() local 89 XDNA_DBG(xdna, "i2x tail 0x%x", ndev->mgmt_i2x.mb_tail_ptr_reg); in aie2_dump_chann_info_debug() 90 XDNA_DBG(xdna, "i2x head 0x%x", ndev->mgmt_i2x.mb_head_ptr_reg); in aie2_dump_chann_info_debug() 91 XDNA_DBG(xdna, "i2x ringbuf 0x%x", ndev->mgmt_i2x.rb_start_addr); in aie2_dump_chann_info_debug() 92 XDNA_DBG(xdna, "i2x rsize 0x%x", ndev->mgmt_i2x.rb_size); in aie2_dump_chann_info_debug() 93 XDNA_DBG(xdna, "x2i tail 0x%x", ndev->mgmt_x2i.mb_tail_ptr_reg); in aie2_dump_chann_info_debug() 94 XDNA_DBG(xdna, "x2i head 0x%x", ndev->mgmt_x2i.mb_head_ptr_reg); in aie2_dump_chann_info_debug() 95 XDNA_DBG(xdna, "x2i ringbuf 0x%x", ndev->mgmt_x2i.rb_start_addr); in aie2_dump_chann_info_debug() 96 XDNA_DBG(xdna, "x2i rsize 0x%x", ndev->mgmt_x2i.rb_size); in aie2_dump_chann_info_debug() 97 XDNA_DBG(xdna, "x2i chann index 0x%x", ndev->mgmt_chan_idx); in aie2_dump_chann_info_debug() [all …]
|
| H A D | aie2_ctx.c | 62 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument 66 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop() 70 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument 75 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart() 77 XDNA_ERR(xdna, "Create hwctx failed, ret %d", ret); in aie2_hwctx_restart() 81 ret = aie2_map_host_buf(xdna->dev_handle, hwctx->fw_ctx_id, in aie2_hwctx_restart() 85 XDNA_ERR(xdna, "Map host buf failed, ret %d", ret); in aie2_hwctx_restart() 91 XDNA_ERR(xdna, "Config cu failed, ret %d", ret); in aie2_hwctx_restart() 96 XDNA_DBG(xdna, "%s restarted, ret %d", hwctx->name, ret); in aie2_hwctx_restart() 135 struct amdxdna_dev *xdna = hwctx->client->xdna; in aie2_hwctx_suspend_cb() local [all …]
|
| H A D | amdxdna_pm.c | 16 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 D | aie2_message.c | 30 #define EXEC_MSG_OPS(xdna) ((xdna)->dev_handle->exec_msg_ops) argument 35 struct amdxdna_dev *xdna = ndev->xdna; in aie2_send_mgmt_msg_wait() local 42 ret = xdna_send_msg_wait(xdna, ndev->mgmt_chann, msg); in aie2_send_mgmt_msg_wait() 47 XDNA_ERR(xdna, "command opcode 0x%x failed, status 0x%x", in aie2_send_mgmt_msg_wait() 58 struct amdxdna_dev *xdna = ndev->xdna; in aie2_alloc_msg_buffer() local 68 if (amdxdna_iova_on(xdna)) in aie2_alloc_msg_buffer() 69 return amdxdna_iommu_alloc(xdna, *size, dma_addr); in aie2_alloc_msg_buffer() 71 vaddr = dma_alloc_noncoherent(xdna->ddev.dev, *size, dma_addr, in aie2_alloc_msg_buffer() 82 struct amdxdna_dev *xdna = ndev->xdna; in aie2_free_msg_buffer() local 84 if (amdxdna_iova_on(xdna)) { in aie2_free_msg_buffer() [all …]
|
| H A D | amdxdna_sysfs.c | 18 struct amdxdna_dev *xdna = dev_get_drvdata(dev); in vbnv_show() local 20 return sprintf(buf, "%s\n", xdna->dev_info->vbnv); in vbnv_show() 26 struct amdxdna_dev *xdna = dev_get_drvdata(dev); in device_type_show() local 28 return sprintf(buf, "%d\n", xdna->dev_info->device_type); in device_type_show() 34 struct amdxdna_dev *xdna = dev_get_drvdata(dev); in fw_version_show() local 36 return sprintf(buf, "%d.%d.%d.%d\n", xdna->fw_ver.major, in fw_version_show() 37 xdna->fw_ver.minor, xdna->fw_ver.sub, in fw_version_show() 38 xdna->fw_ver.build); in fw_version_show() 53 int amdxdna_sysfs_init(struct amdxdna_dev *xdna) in amdxdna_sysfs_init() argument 57 ret = sysfs_create_group(&xdna->ddev.dev->kobj, &amdxdna_attr_group); in amdxdna_sysfs_init() [all …]
|
| H A D | amdxdna_ctx.c | 67 struct amdxdna_dev *xdna = hwctx->client->xdna; in amdxdna_hwctx_destroy_rcu() local 72 xdna->dev_info->ops->hwctx_fini(hwctx); in amdxdna_hwctx_destroy_rcu() 192 XDNA_DBG(client->xdna, "PID %d close HW context %d", in amdxdna_hwctx_remove_all() 203 struct amdxdna_dev *xdna = to_xdna_dev(dev); in amdxdna_drm_create_hwctx_ioctl() local 215 XDNA_ERR(xdna, "Access QoS info failed"); in amdxdna_drm_create_hwctx_ioctl() 226 guard(mutex)(&xdna->dev_lock); in amdxdna_drm_create_hwctx_ioctl() 233 ret = xdna->dev_info->ops->hwctx_init(hwctx); in amdxdna_drm_create_hwctx_ioctl() 235 XDNA_ERR(xdna, "Init hwctx failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl() 249 XDNA_ERR(xdna, "Allocate hwctx ID failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl() 258 XDNA_DBG(xdna, "PID %d create HW context %d, ret %d", client->pid, args->handle, ret); in amdxdna_drm_create_hwctx_ioctl() [all …]
|
| H A D | amdxdna_gem.c | 30 struct amdxdna_dev *xdna = client->xdna; in amdxdna_gem_heap_alloc() local 45 XDNA_ERR(xdna, "Invalid dev heap userptr"); in amdxdna_gem_heap_alloc() 51 XDNA_ERR(xdna, "Invalid dev bo size 0x%lx, limit 0x%lx", in amdxdna_gem_heap_alloc() 57 align = 1 << max(PAGE_SHIFT, xdna->dev_info->dev_mem_buf_shift); in amdxdna_gem_heap_alloc() 62 XDNA_ERR(xdna, "Failed to alloc dev bo memory, ret %d", ret); in amdxdna_gem_heap_alloc() 141 XDNA_ERR(abo->client->xdna, "Vmap bo failed, ret %d", ret); in amdxdna_gem_vmap() 187 return abo->client->xdna->dev_info->dev_mem_base; in amdxdna_gem_dev_addr() 199 struct amdxdna_dev *xdna; in amdxdna_hmm_invalidate() local 201 xdna = to_xdna_dev(to_gobj(abo)->dev); in amdxdna_hmm_invalidate() 202 XDNA_DBG(xdna, "Invalidating range 0x%lx, 0x%lx, type %d", in amdxdna_hmm_invalidate() [all …]
|
| H A D | amdxdna_pm.h | 13 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 D | aie2_pm.c | 34 ret = amdxdna_pm_resume_get_locked(ndev->xdna); in aie2_pm_set_dpm() 41 amdxdna_pm_suspend_put(ndev->xdna); in aie2_pm_set_dpm() 84 struct amdxdna_dev *xdna = ndev->xdna; in aie2_pm_set_mode() local 88 drm_WARN_ON(&xdna->ddev, !mutex_is_locked(&xdna->dev_lock)); in aie2_pm_set_mode() 96 XDNA_ERR(xdna, "Can not set turbo when there is active hwctx"); in aie2_pm_set_mode()
|
| H A D | amdxdna_ubuf.c | 131 struct amdxdna_dev *xdna = to_xdna_dev(dev); in amdxdna_get_ubuf() local 157 XDNA_DBG(xdna, "Access va entries failed"); in amdxdna_get_ubuf() 165 XDNA_ERR(xdna, "Invalid address or len %llx, %llx", in amdxdna_get_ubuf() 181 XDNA_DBG(xdna, "New pin %ld, limit %ld, cap %d", in amdxdna_get_ubuf() 201 XDNA_ERR(xdna, "Failed to pin pages ret %d", ret); in amdxdna_get_ubuf()
|
| H A D | aie2_pci.h | 23 #define NDEV2PDEV(ndev) (to_pci_dev((ndev)->xdna->ddev.dev)) 48 pci_resource_len(NDEV2PDEV(_ndev), (_ndev)->xdna->dev_info->mbox_bar); \ 206 struct amdxdna_dev *xdna; member
|