| /linux/drivers/accel/amdxdna/ |
| H A D | aie2_ctx.c | 83 atomic64_inc(&job->hwctx->job_free_cnt); in aie2_job_release() 84 wake_up(&job->hwctx->priv->job_free_wq); in aie2_job_release() 99 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument 102 drm_sched_stop(&hwctx->priv->sched, bad_job); in aie2_hwctx_stop() 103 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop() 104 drm_sched_start(&hwctx->priv->sched, 0); in aie2_hwctx_stop() 107 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument 109 struct amdxdna_gem_obj *heap = hwctx->priv->heap; in aie2_hwctx_restart() 113 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart() 119 ret = aie2_map_host_buf(xdna->dev_handle, hwctx->fw_ctx_id, in aie2_hwctx_restart() [all …]
|
| H A D | amdxdna_ctx.c | 28 struct amdxdna_hwctx *hwctx; member 42 return xdna_fence->hwctx->name; in amdxdna_fence_get_timeline_name() 50 static struct dma_fence *amdxdna_fence_create(struct amdxdna_hwctx *hwctx) in amdxdna_fence_create() argument 58 fence->hwctx = hwctx; in amdxdna_fence_create() 60 dma_fence_init(&fence->base, &fence_ops, &fence->lock, hwctx->id, 0); in amdxdna_fence_create() 64 static void amdxdna_hwctx_release_expanded_heap(struct amdxdna_hwctx *hwctx) in amdxdna_hwctx_release_expanded_heap() argument 66 struct amdxdna_client *client = hwctx->client; in amdxdna_hwctx_release_expanded_heap() 71 if (hwctx->last_attached_heap) { in amdxdna_hwctx_release_expanded_heap() 73 hwctx->last_attached_heap) { in amdxdna_hwctx_release_expanded_heap() 81 static void amdxdna_hwctx_destroy_rcu(struct amdxdna_hwctx *hwctx, in amdxdna_hwctx_destroy_rcu() argument [all …]
|
| H A D | aie2_message.c | 186 struct amdxdna_hwctx *hwctx) in aie2_get_context_priority() argument 191 switch (hwctx->qos.priority) { in aie2_get_context_priority() 205 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx) in aie2_create_context() argument 216 req.start_col = hwctx->start_col; in aie2_create_context() 217 req.num_col = hwctx->num_col; in aie2_create_context() 218 req.num_unused_col = hwctx->num_unused_col; in aie2_create_context() 220 req.pasid = amdxdna_pasid_on(hwctx->client) ? hwctx->client->pasid : 0; in aie2_create_context() 221 req.context_priority = aie2_get_context_priority(ndev, hwctx); in aie2_create_context() 227 hwctx->fw_ctx_id = resp.context_id; in aie2_create_context() 228 if (WARN_ON_ONCE(hwctx->fw_ctx_id == -1)) in aie2_create_context() [all …]
|
| H A D | aie2_pci.h | 268 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx); 269 int aie2_destroy_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx); 278 int aie2_config_cu(struct amdxdna_hwctx *hwctx, 280 int aie2_execbuf(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job, 282 int aie2_cmdlist_single_execbuf(struct amdxdna_hwctx *hwctx, 285 int aie2_cmdlist_multi_execbuf(struct amdxdna_hwctx *hwctx, 288 int aie2_sync_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job, 290 int aie2_config_debug_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job, 295 int aie2_hwctx_init(struct amdxdna_hwctx *hwctx); 296 void aie2_hwctx_fini(struct amdxdna_hwctx *hwctx); [all …]
|
| H A D | aie2_pci.c | 242 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_load() local 246 xdna = hwctx->client->xdna; in aie2_xrs_load() 248 hwctx->start_col = action->part.start_col; in aie2_xrs_load() 249 hwctx->num_unused_col = action->part.ncols - hwctx->num_col; in aie2_xrs_load() 250 hwctx->num_col = action->part.ncols; in aie2_xrs_load() 251 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_xrs_load() 260 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_unload() local 264 xdna = hwctx->client->xdna; in aie2_xrs_unload() 266 ret = aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_xrs_unload() 805 static int aie2_hwctx_status_cb(struct amdxdna_hwctx *hwctx, void *arg) in aie2_hwctx_status_cb() argument [all …]
|
| H A D | amdxdna_pci_drv.h | 61 int (*hwctx_init)(struct amdxdna_hwctx *hwctx); 62 void (*hwctx_fini)(struct amdxdna_hwctx *hwctx); 63 int (*hwctx_config)(struct amdxdna_hwctx *hwctx, u32 type, u64 value, void *buf, u32 size); 64 int (*hwctx_sync_debug_bo)(struct amdxdna_hwctx *hwctx, u32 debug_bo_hdl); 65 int (*hwctx_heap_expand)(struct amdxdna_hwctx *hwctx, struct amdxdna_gem_obj *heap); 67 int (*cmd_submit)(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job, u64 *seq); 68 int (*cmd_wait)(struct amdxdna_hwctx *hwctx, u64 seq, u32 timeout);
|
| H A D | amdxdna_ctx.h | 146 struct amdxdna_hwctx *hwctx; member 208 int (*walk)(struct amdxdna_hwctx *hwctx, void *arg)); 210 int amdxdna_update_heap(struct amdxdna_client *client, struct amdxdna_hwctx *hwctx);
|
| /linux/drivers/net/ethernet/qlogic/netxen/ |
| H A D | netxen_nic_ctx.c | 686 struct netxen_ring_ctx *hwctx; in netxen_init_old_ctx() local 691 hwctx = recv_ctx->hwctx; in netxen_init_old_ctx() 693 hwctx->cmd_ring_addr = cpu_to_le64(tx_ring->phys_addr); in netxen_init_old_ctx() 694 hwctx->cmd_ring_size = cpu_to_le32(tx_ring->num_desc); in netxen_init_old_ctx() 700 hwctx->rcv_rings[ring].addr = in netxen_init_old_ctx() 702 hwctx->rcv_rings[ring].size = in netxen_init_old_ctx() 710 hwctx->sts_ring_addr = cpu_to_le64(sds_ring->phys_addr); in netxen_init_old_ctx() 711 hwctx->sts_ring_size = cpu_to_le32(sds_ring->num_desc); in netxen_init_old_ctx() 713 hwctx->sts_rings[ring].addr = cpu_to_le64(sds_ring->phys_addr); in netxen_init_old_ctx() 714 hwctx->sts_rings[ring].size = cpu_to_le32(sds_ring->num_desc); in netxen_init_old_ctx() [all …]
|
| H A D | netxen_nic.h | 669 struct netxen_ring_ctx *hwctx; member
|