Home
last modified time | relevance | path

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

/linux/drivers/accel/amdxdna/
H A Daie2_ctx.c48 atomic64_inc(&job->hwctx->job_free_cnt); in aie2_job_release()
49 wake_up(&job->hwctx->priv->job_free_wq); in aie2_job_release()
62 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument
65 drm_sched_stop(&hwctx->priv->sched, bad_job); in aie2_hwctx_stop()
66 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop()
67 drm_sched_start(&hwctx->priv->sched, 0); in aie2_hwctx_stop()
70 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument
72 struct amdxdna_gem_obj *heap = hwctx->priv->heap; in aie2_hwctx_restart()
75 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart()
81 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_destroy_rcu(struct amdxdna_hwctx *hwctx, in amdxdna_hwctx_destroy_rcu() argument
67 struct amdxdna_dev *xdna = hwctx->client->xdna; in amdxdna_hwctx_destroy_rcu()
72 xdna->dev_info->ops->hwctx_fini(hwctx); in amdxdna_hwctx_destroy_rcu()
74 kfree(hwctx->name); in amdxdna_hwctx_destroy_rcu()
75 kfree(hwctx); in amdxdna_hwctx_destroy_rcu()
[all …]
H A Daie2_message.c246 struct amdxdna_hwctx *hwctx) in aie2_get_context_priority() argument
251 switch (hwctx->qos.priority) { in aie2_get_context_priority()
265 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx) in aie2_create_context() argument
276 req.start_col = hwctx->start_col; in aie2_create_context()
277 req.num_col = hwctx->num_col; in aie2_create_context()
278 req.num_unused_col = hwctx->num_unused_col; in aie2_create_context()
280 req.pasid = amdxdna_pasid_on(hwctx->client) ? hwctx->client->pasid : 0; in aie2_create_context()
281 req.context_priority = aie2_get_context_priority(ndev, hwctx); in aie2_create_context()
287 hwctx->fw_ctx_id = resp.context_id; in aie2_create_context()
288 if (WARN_ON_ONCE(hwctx->fw_ctx_id == -1)) in aie2_create_context()
[all …]
H A Daie2_pci.h349 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx);
350 int aie2_destroy_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx);
358 int aie2_config_cu(struct amdxdna_hwctx *hwctx,
360 int aie2_execbuf(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
362 int aie2_cmdlist_single_execbuf(struct amdxdna_hwctx *hwctx,
365 int aie2_cmdlist_multi_execbuf(struct amdxdna_hwctx *hwctx,
368 int aie2_sync_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
370 int aie2_config_debug_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
378 int aie2_hwctx_init(struct amdxdna_hwctx *hwctx);
379 void aie2_hwctx_fini(struct amdxdna_hwctx *hwctx);
[all …]
H A Daie2_pci.c271 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_load() local
275 xdna = hwctx->client->xdna; in aie2_xrs_load()
277 hwctx->start_col = action->part.start_col; in aie2_xrs_load()
278 hwctx->num_col = action->part.ncols; in aie2_xrs_load()
279 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_xrs_load()
288 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_unload() local
292 xdna = hwctx->client->xdna; in aie2_xrs_unload()
294 ret = aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_xrs_unload()
844 static int aie2_hwctx_status_cb(struct amdxdna_hwctx *hwctx, void *arg) in aie2_hwctx_status_cb() argument
861 tmp->pid = hwctx->client->pid; in aie2_hwctx_status_cb()
[all …]
H A Damdxdna_ctx.h140 struct amdxdna_hwctx *hwctx; member
202 int (*walk)(struct amdxdna_hwctx *hwctx, void *arg));
/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