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.c38 atomic64_inc(&job->hwctx->job_free_cnt); in aie2_job_release()
39 wake_up(&job->hwctx->priv->job_free_wq); in aie2_job_release()
51 static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx, in aie2_hwctx_stop() argument
54 drm_sched_stop(&hwctx->priv->sched, bad_job); in aie2_hwctx_stop()
55 aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_hwctx_stop()
56 drm_sched_start(&hwctx->priv->sched, 0); in aie2_hwctx_stop()
59 static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx) in aie2_hwctx_restart() argument
61 struct amdxdna_gem_obj *heap = hwctx->priv->heap; in aie2_hwctx_restart()
64 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_hwctx_restart()
70 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.c225 struct amdxdna_hwctx *hwctx) in aie2_get_context_priority() argument
230 switch (hwctx->qos.priority) { in aie2_get_context_priority()
244 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx) in aie2_create_context() argument
255 req.start_col = hwctx->start_col; in aie2_create_context()
256 req.num_col = hwctx->num_col; in aie2_create_context()
257 req.num_unused_col = hwctx->num_unused_col; in aie2_create_context()
259 req.pasid = hwctx->client->pasid; in aie2_create_context()
260 req.context_priority = aie2_get_context_priority(ndev, hwctx); in aie2_create_context()
266 hwctx->fw_ctx_id = resp.context_id; in aie2_create_context()
267 if (WARN_ON_ONCE(hwctx->fw_ctx_id == -1)) in aie2_create_context()
[all …]
H A Daie2_pci.h316 int aie2_create_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx);
317 int aie2_destroy_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwctx);
325 int aie2_config_cu(struct amdxdna_hwctx *hwctx,
327 int aie2_execbuf(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
329 int aie2_cmdlist_single_execbuf(struct amdxdna_hwctx *hwctx,
332 int aie2_cmdlist_multi_execbuf(struct amdxdna_hwctx *hwctx,
335 int aie2_sync_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
337 int aie2_config_debug_bo(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
346 int aie2_hwctx_init(struct amdxdna_hwctx *hwctx);
347 void aie2_hwctx_fini(struct amdxdna_hwctx *hwctx);
[all …]
H A Daie2_pci.c270 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_load() local
274 xdna = hwctx->client->xdna; in aie2_xrs_load()
276 hwctx->start_col = action->part.start_col; in aie2_xrs_load()
277 hwctx->num_col = action->part.ncols; in aie2_xrs_load()
278 ret = aie2_create_context(xdna->dev_handle, hwctx); in aie2_xrs_load()
287 struct amdxdna_hwctx *hwctx = cb_arg; in aie2_xrs_unload() local
291 xdna = hwctx->client->xdna; in aie2_xrs_unload()
293 ret = aie2_destroy_context(xdna->dev_handle, hwctx); in aie2_xrs_unload()
794 static int aie2_hwctx_status_cb(struct amdxdna_hwctx *hwctx, void *arg) in aie2_hwctx_status_cb() argument
808 tmp->pid = hwctx->client->pid; in aie2_hwctx_status_cb()
[all …]
H A Damdxdna_ctx.h128 struct amdxdna_hwctx *hwctx; member
177 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