| /linux/drivers/accel/amdxdna/ |
| H A D | aie2_pci.c | 86 struct amdxdna_dev *xdna = ndev->xdna; in aie2_dump_chann_info_debug() local 88 XDNA_DBG(xdna, "i2x tail 0x%x", ndev->mgmt_i2x.mb_tail_ptr_reg); in aie2_dump_chann_info_debug() 89 XDNA_DBG(xdna, "i2x head 0x%x", ndev->mgmt_i2x.mb_head_ptr_reg); in aie2_dump_chann_info_debug() 90 XDNA_DBG(xdna, "i2x ringbuf 0x%x", ndev->mgmt_i2x.rb_start_addr); in aie2_dump_chann_info_debug() 91 XDNA_DBG(xdna, "i2x rsize 0x%x", ndev->mgmt_i2x.rb_size); in aie2_dump_chann_info_debug() 92 XDNA_DBG(xdna, "x2i tail 0x%x", ndev->mgmt_x2i.mb_tail_ptr_reg); in aie2_dump_chann_info_debug() 93 XDNA_DBG(xdna, "x2i head 0x%x", ndev->mgmt_x2i.mb_head_ptr_reg); in aie2_dump_chann_info_debug() 94 XDNA_DBG(xdna, "x2i ringbuf 0x%x", ndev->mgmt_x2i.rb_start_addr); in aie2_dump_chann_info_debug() 95 XDNA_DBG(xdna, "x2i rsize 0x%x", ndev->mgmt_x2i.rb_size); in aie2_dump_chann_info_debug() 96 XDNA_DBG(xdna, "x2i chann index 0x%x", ndev->mgmt_chan_idx); in aie2_dump_chann_info_debug() [all …]
|
| H A D | amdxdna_pci_drv.c | 65 struct amdxdna_dev *xdna = to_xdna_dev(ddev); in amdxdna_drm_open() local 74 client->xdna = xdna; in amdxdna_drm_open() 76 client->sva = iommu_sva_bind_device(xdna->ddev.dev, current->mm); in amdxdna_drm_open() 79 XDNA_ERR(xdna, "SVA bind device failed, ret %d", ret); in amdxdna_drm_open() 84 XDNA_ERR(xdna, "SVA get pasid failed"); in amdxdna_drm_open() 94 mutex_lock(&xdna->dev_lock); in amdxdna_drm_open() 95 list_add_tail(&client->node, &xdna->client_list); in amdxdna_drm_open() 96 mutex_unlock(&xdna->dev_lock); in amdxdna_drm_open() 101 XDNA_DBG(xdna, "pid %d opened", client->pid); in amdxdna_drm_open() 132 struct amdxdna_dev *xdna = to_xdna_dev(ddev); in amdxdna_drm_close() local [all …]
|
| H A D | aie2_ctx.c | 51 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument 55 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop() 59 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument 64 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart() 66 XDNA_ERR(xdna, "Create hwctx failed, ret %d", ret); in aie2_hwctx_restart() 70 ret = aie2_map_host_buf(xdna->dev_handle, hwctx->fw_ctx_id, in aie2_hwctx_restart() 73 XDNA_ERR(xdna, "Map host buf failed, ret %d", ret); in aie2_hwctx_restart() 79 XDNA_ERR(xdna, "Config cu failed, ret %d", ret); in aie2_hwctx_restart() 84 XDNA_DBG(xdna, "%s restarted, ret %d", hwctx->name, ret); in aie2_hwctx_restart() 123 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 67 return dma_alloc_noncoherent(xdna->ddev.dev, *size, dma_addr, in aie2_alloc_msg_buffer() 78 XDNA_ERR(ndev->xdna, "Failed to suspend fw, ret %d", ret); in aie2_suspend_fw() 102 XDNA_ERR(ndev->xdna, "Failed to set runtime config, ret %d", ret); in aie2_set_runtime_cfg() 117 XDNA_ERR(ndev->xdna, "Failed to get runtime config, ret %d", ret); in aie2_get_runtime_cfg() 137 struct amdxdna_dev *xdna = ndev->xdna; in aie2_query_aie_version() local [all …]
|
| H A D | amdxdna_gem.c | 30 struct amdxdna_dev *xdna = client->xdna; in amdxdna_gem_heap_alloc() local 46 XDNA_ERR(xdna, "Invalid dev heap userptr"); in amdxdna_gem_heap_alloc() 52 XDNA_ERR(xdna, "Invalid dev bo size 0x%lx, limit 0x%lx", in amdxdna_gem_heap_alloc() 58 align = 1 << max(PAGE_SHIFT, xdna->dev_info->dev_mem_buf_shift); in amdxdna_gem_heap_alloc() 63 XDNA_ERR(xdna, "Failed to alloc dev bo memory, ret %d", ret); in amdxdna_gem_heap_alloc() 108 struct amdxdna_dev *xdna; in amdxdna_hmm_invalidate() local 110 xdna = to_xdna_dev(to_gobj(abo)->dev); in amdxdna_hmm_invalidate() 111 XDNA_DBG(xdna, "Invalidating range 0x%lx, 0x%lx, type %d", in amdxdna_hmm_invalidate() 117 down_write(&xdna->notifier_lock); in amdxdna_hmm_invalidate() 121 up_write(&xdna->notifier_lock); in amdxdna_hmm_invalidate() [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() 177 XDNA_DBG(client->xdna, "PID %d close HW context %d", in amdxdna_hwctx_remove_all() 188 struct amdxdna_dev *xdna = to_xdna_dev(dev); in amdxdna_drm_create_hwctx_ioctl() local 200 XDNA_ERR(xdna, "Access QoS info failed"); in amdxdna_drm_create_hwctx_ioctl() 211 guard(mutex)(&xdna->dev_lock); in amdxdna_drm_create_hwctx_ioctl() 218 ret = xdna->dev_info->ops->hwctx_init(hwctx); in amdxdna_drm_create_hwctx_ioctl() 220 XDNA_ERR(xdna, "Init hwctx failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl() 234 XDNA_ERR(xdna, "Allocate hwctx ID failed, ret %d", ret); in amdxdna_drm_create_hwctx_ioctl() 243 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_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_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_error.c | 252 XDNA_ERR(ndev->xdna, "Row: %d, Col: %d, module %d, event ID %d, category %d", in aie2_error_backtrack() 257 XDNA_WARN(ndev->xdna, "Invalid column number"); in aie2_error_backtrack() 290 struct amdxdna_dev *xdna; in aie2_error_worker() local 297 xdna = e->ndev->xdna; in aie2_error_worker() 308 XDNA_DBG(xdna, "Error count %d return code %d", info->err_cnt, info->ret_code); in aie2_error_worker() 317 XDNA_WARN(xdna, "Did not get error column"); in aie2_error_worker() 321 mutex_lock(&xdna->dev_lock); in aie2_error_worker() 326 XDNA_WARN(xdna, "Unable to register async event"); in aie2_error_worker() 327 mutex_unlock(&xdna->dev_lock); in aie2_error_worker() 332 struct amdxdna_dev *xdna = ndev->xdna; in aie2_error_async_events_free() local [all …]
|
| 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 | 139 struct amdxdna_dev *xdna = to_xdna_dev(dev); in amdxdna_get_ubuf() local 166 XDNA_DBG(xdna, "Access va entries failed"); in amdxdna_get_ubuf() 174 XDNA_ERR(xdna, "Invalid address or len %llx, %llx", in amdxdna_get_ubuf() 190 XDNA_DBG(xdna, "New pin %ld, limit %ld, cap %d", in amdxdna_get_ubuf() 210 XDNA_ERR(xdna, "Failed to pin pages ret %d", ret); in amdxdna_get_ubuf()
|
| H A D | aie2_pci.h | 21 #define NDEV2PDEV(ndev) (to_pci_dev((ndev)->xdna->ddev.dev)) 46 pci_resource_len(NDEV2PDEV(_ndev), (_ndev)->xdna->dev_info->mbox_bar); \ 177 struct amdxdna_dev *xdna; member 342 dma_free_noncoherent((ndev)->xdna->ddev.dev, size, buff_addr, \
|