Home
last modified time | relevance | path

Searched refs:hwctx (Results 1 – 9 of 9) sorted by relevance

/linux/drivers/accel/amdxdna/
H A Daie2_ctx.c83 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 Damdxdna_ctx.c28 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 Daie2_message.c186 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 Daie2_pci.h268 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 Daie2_pci.c242 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 Damdxdna_pci_drv.h61 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 Damdxdna_ctx.h146 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 Dnetxen_nic_ctx.c686 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 Dnetxen_nic.h669 struct netxen_ring_ctx *hwctx; member