Home
last modified time | relevance | path

Searched full:cmdq (Results 1 – 25 of 145) sorted by relevance

123456

/openbmc/linux/drivers/infiniband/hw/erdma/
H A Derdma_cmdq.c9 static void arm_cmdq_cq(struct erdma_cmdq *cmdq) in arm_cmdq_cq() argument
11 struct erdma_dev *dev = container_of(cmdq, struct erdma_dev, cmdq); in arm_cmdq_cq()
12 u64 db_data = FIELD_PREP(ERDMA_CQDB_CI_MASK, cmdq->cq.ci) | in arm_cmdq_cq()
14 FIELD_PREP(ERDMA_CQDB_CMDSN_MASK, cmdq->cq.cmdsn) | in arm_cmdq_cq()
15 FIELD_PREP(ERDMA_CQDB_IDX_MASK, cmdq->cq.cmdsn); in arm_cmdq_cq()
17 *cmdq->cq.db_record = db_data; in arm_cmdq_cq()
20 atomic64_inc(&cmdq->cq.armed_num); in arm_cmdq_cq()
23 static void kick_cmdq_db(struct erdma_cmdq *cmdq) in kick_cmdq_db() argument
25 struct erdma_dev *dev = container_of(cmdq, struct erdma_dev, cmdq); in kick_cmdq_db()
26 u64 db_data = FIELD_PREP(ERDMA_CMD_HDR_WQEBB_INDEX_MASK, cmdq->sq.pi); in kick_cmdq_db()
[all …]
H A Derdma.h199 /* cmdq and aeq use the same msix vector */
201 struct erdma_cmdq cmdq; member
264 int erdma_post_cmd_wait(struct erdma_cmdq *cmdq, void *req, u32 req_size,
266 void erdma_cmdq_completion_handler(struct erdma_cmdq *cmdq);
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/falcon/
H A Dcmdq.c26 nvkm_falcon_cmdq_has_room(struct nvkm_falcon_cmdq *cmdq, u32 size, bool *rewind) in nvkm_falcon_cmdq_has_room() argument
28 u32 head = nvkm_falcon_rd32(cmdq->qmgr->falcon, cmdq->head_reg); in nvkm_falcon_cmdq_has_room()
29 u32 tail = nvkm_falcon_rd32(cmdq->qmgr->falcon, cmdq->tail_reg); in nvkm_falcon_cmdq_has_room()
35 free = cmdq->offset + cmdq->size - head; in nvkm_falcon_cmdq_has_room()
40 head = cmdq->offset; in nvkm_falcon_cmdq_has_room()
51 nvkm_falcon_cmdq_push(struct nvkm_falcon_cmdq *cmdq, void *data, u32 size) in nvkm_falcon_cmdq_push() argument
53 struct nvkm_falcon *falcon = cmdq->qmgr->falcon; in nvkm_falcon_cmdq_push()
54 nvkm_falcon_pio_wr(falcon, data, 0, 0, DMEM, cmdq->position, size, 0, false); in nvkm_falcon_cmdq_push()
55 cmdq->position += ALIGN(size, QUEUE_ALIGNMENT); in nvkm_falcon_cmdq_push()
59 nvkm_falcon_cmdq_rewind(struct nvkm_falcon_cmdq *cmdq) in nvkm_falcon_cmdq_rewind() argument
[all …]
/openbmc/linux/drivers/mailbox/
H A Dmtk-cmdq-mailbox.c17 #include <linux/mailbox/mtk-cmdq-mailbox.h>
67 struct cmdq *cmdq; member
74 struct cmdq { struct
93 static void cmdq_sw_ddr_enable(struct cmdq *cmdq, bool enable) in cmdq_sw_ddr_enable() argument
95 WARN_ON(clk_bulk_enable(cmdq->pdata->gce_num, cmdq->clocks)); in cmdq_sw_ddr_enable()
98 writel(GCE_DDR_EN | GCE_CTRL_BY_SW, cmdq->base + GCE_GCTL_VALUE); in cmdq_sw_ddr_enable()
100 writel(GCE_CTRL_BY_SW, cmdq->base + GCE_GCTL_VALUE); in cmdq_sw_ddr_enable()
102 clk_bulk_disable(cmdq->pdata->gce_num, cmdq->clocks); in cmdq_sw_ddr_enable()
107 struct cmdq *cmdq = container_of(chan->mbox, struct cmdq, mbox); in cmdq_get_shift_pa() local
109 return cmdq->pdata->shift; in cmdq_get_shift_pa()
[all …]
/openbmc/linux/drivers/crypto/cavium/nitrox/
H A Dnitrox_lib.c25 static int nitrox_cmdq_init(struct nitrox_cmdq *cmdq, int align_bytes) in nitrox_cmdq_init() argument
27 struct nitrox_device *ndev = cmdq->ndev; in nitrox_cmdq_init()
29 cmdq->qsize = (ndev->qlen * cmdq->instr_size) + align_bytes; in nitrox_cmdq_init()
30 cmdq->unalign_base = dma_alloc_coherent(DEV(ndev), cmdq->qsize, in nitrox_cmdq_init()
31 &cmdq->unalign_dma, in nitrox_cmdq_init()
33 if (!cmdq->unalign_base) in nitrox_cmdq_init()
36 cmdq->dma = PTR_ALIGN(cmdq->unalign_dma, align_bytes); in nitrox_cmdq_init()
37 cmdq->base = cmdq->unalign_base + (cmdq->dma - cmdq->unalign_dma); in nitrox_cmdq_init()
38 cmdq->write_idx = 0; in nitrox_cmdq_init()
40 spin_lock_init(&cmdq->cmd_qlock); in nitrox_cmdq_init()
[all …]
H A Dnitrox_reqmgr.c230 struct nitrox_cmdq *cmdq) in backlog_list_add() argument
234 spin_lock_bh(&cmdq->backlog_qlock); in backlog_list_add()
235 list_add_tail(&sr->backlog, &cmdq->backlog_head); in backlog_list_add()
236 atomic_inc(&cmdq->backlog_count); in backlog_list_add()
238 spin_unlock_bh(&cmdq->backlog_qlock); in backlog_list_add()
242 struct nitrox_cmdq *cmdq) in response_list_add() argument
246 spin_lock_bh(&cmdq->resp_qlock); in response_list_add()
247 list_add_tail(&sr->response, &cmdq->response_head); in response_list_add()
248 spin_unlock_bh(&cmdq->resp_qlock); in response_list_add()
252 struct nitrox_cmdq *cmdq) in response_list_del() argument
[all …]
/openbmc/linux/drivers/net/ethernet/brocade/bna/
H A Dbfa_msgq.c31 static void bfa_msgq_cmdq_dbell(struct bfa_msgq_cmdq *cmdq);
32 static void bfa_msgq_cmdq_copy_rsp(struct bfa_msgq_cmdq *cmdq);
43 bfa_fsm_state_decl(cmdq, stopped, struct bfa_msgq_cmdq, enum cmdq_event);
44 bfa_fsm_state_decl(cmdq, init_wait, struct bfa_msgq_cmdq, enum cmdq_event);
45 bfa_fsm_state_decl(cmdq, ready, struct bfa_msgq_cmdq, enum cmdq_event);
46 bfa_fsm_state_decl(cmdq, dbell_wait, struct bfa_msgq_cmdq,
50 cmdq_sm_stopped_entry(struct bfa_msgq_cmdq *cmdq) in cmdq_sm_stopped_entry() argument
54 cmdq->producer_index = 0; in cmdq_sm_stopped_entry()
55 cmdq->consumer_index = 0; in cmdq_sm_stopped_entry()
56 cmdq->flags = 0; in cmdq_sm_stopped_entry()
[all …]
/openbmc/linux/include/linux/soc/mediatek/
H A Dmtk-cmdq.h11 #include <linux/mailbox/mtk-cmdq-mailbox.h>
33 * cmdq_dev_get_client_reg() - parse cmdq client reg from the device
34 * node of CMDQ client
35 * @dev: device of CMDQ mailbox client
36 * @client_reg: CMDQ client reg pointer
41 * Help CMDQ client parsing the cmdq client reg
42 * from the device node of CMDQ client.
48 * cmdq_mbox_create() - create CMDQ mailbox client and channel
49 * @dev: device of CMDQ mailbox client
50 * @index: index of CMDQ mailbox channel
[all …]
H A Dmtk-mmsys.h10 #include <linux/mailbox/mtk-cmdq-mailbox.h>
11 #include <linux/soc/mediatek/mtk-cmdq.h>
/openbmc/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_hw_cmdq.c78 #define cmdq_to_cmdqs(cmdq) container_of((cmdq) - (cmdq)->cmdq_type, \ argument
79 struct hinic_cmdqs, cmdq[0])
320 static void cmdq_set_db(struct hinic_cmdq *cmdq, in cmdq_set_db() argument
332 writel(db_info, CMDQ_DB_ADDR(cmdq->db_base, prod_idx)); in cmdq_set_db()
335 static int cmdq_sync_cmd_direct_resp(struct hinic_cmdq *cmdq, in cmdq_sync_cmd_direct_resp() argument
343 struct hinic_wq *wq = cmdq->wq; in cmdq_sync_cmd_direct_resp()
348 spin_lock_bh(&cmdq->cmdq_lock); in cmdq_sync_cmd_direct_resp()
353 spin_unlock_bh(&cmdq->cmdq_lock); in cmdq_sync_cmd_direct_resp()
359 wrapped = cmdq->wrapped; in cmdq_sync_cmd_direct_resp()
364 cmdq->wrapped = !cmdq->wrapped; in cmdq_sync_cmd_direct_resp()
[all …]
H A Dhinic_hw_io.c119 dev_err(&pdev->dev, "Failed to allocate cmdq buf\n"); in write_sq_ctxts()
163 dev_err(&pdev->dev, "Failed to allocate cmdq buf\n"); in write_rq_ctxts()
220 dev_err(&pdev->dev, "Failed to allocate cmdq buf\n"); in hinic_clean_queue_offload_ctxt()
533 enum hinic_cmdq_type cmdq, type; in hinic_io_init() local
565 for (cmdq = HINIC_CMDQ_SYNC; cmdq < HINIC_MAX_CMDQ_TYPES; cmdq++) { in hinic_io_init()
568 dev_err(&pdev->dev, "Failed to get cmdq db area\n"); in hinic_io_init()
573 func_to_io->cmdq_db_area[cmdq] = db_area; in hinic_io_init()
600 for (type = HINIC_CMDQ_SYNC; type < cmdq; type++) in hinic_io_init()
619 enum hinic_cmdq_type cmdq; in hinic_io_free() local
628 for (cmdq = HINIC_CMDQ_SYNC; cmdq < HINIC_MAX_CMDQ_TYPES; cmdq++) in hinic_io_free()
[all …]
/openbmc/linux/drivers/accel/ivpu/
H A Divpu_job.c31 static void ivpu_cmdq_ring_db(struct ivpu_device *vdev, struct ivpu_cmdq *cmdq) in ivpu_cmdq_ring_db() argument
33 ivpu_hw_reg_db_set(vdev, cmdq->db_id); in ivpu_cmdq_ring_db()
40 struct ivpu_cmdq *cmdq; in ivpu_cmdq_alloc() local
42 cmdq = kzalloc(sizeof(*cmdq), GFP_KERNEL); in ivpu_cmdq_alloc()
43 if (!cmdq) in ivpu_cmdq_alloc()
46 cmdq->mem = ivpu_bo_alloc_internal(vdev, 0, SZ_4K, DRM_IVPU_BO_WC); in ivpu_cmdq_alloc()
47 if (!cmdq->mem) in ivpu_cmdq_alloc()
50 cmdq->db_id = file_priv->ctx.id + engine * ivpu_get_context_count(vdev); in ivpu_cmdq_alloc()
51 cmdq->entry_count = (u32)((cmdq->mem->base.size - sizeof(struct vpu_job_queue_header)) / in ivpu_cmdq_alloc()
54 cmdq->jobq = (struct vpu_job_queue *)cmdq->mem->kvaddr; in ivpu_cmdq_alloc()
[all …]
H A Divpu_mmu.c189 #define IVPU_MMU_GERROR_ERR_MASK ((REG_FLD(VPU_37XX_HOST_MMU_GERROR, CMDQ)) | \
239 return "Unknown CMDQ command"; in ivpu_mmu_event_to_str()
315 struct ivpu_mmu_queue *q = &mmu->cmdq; in ivpu_mmu_cmdq_alloc()
325 ivpu_dbg(vdev, MMU, "CMDQ alloc: dma=%pad dma_q=%pad size=%u\n", in ivpu_mmu_cmdq_alloc()
368 ivpu_err(vdev, "Failed to allocate cmdq: %d\n", ret); in ivpu_mmu_structs_alloc()
408 struct ivpu_mmu_queue *cmdq = &vdev->mmu->cmdq; in ivpu_mmu_cmdq_wait_for_cons() local
410 return REGV_POLL(VPU_37XX_HOST_MMU_CMDQ_CONS, cmdq->cons, (cmdq->prod == cmdq->cons), in ivpu_mmu_cmdq_wait_for_cons()
416 struct ivpu_mmu_queue *q = &vdev->mmu->cmdq; in ivpu_mmu_cmdq_cmd_write()
436 struct ivpu_mmu_queue *q = &vdev->mmu->cmdq; in ivpu_mmu_cmdq_sync()
488 memset(mmu->cmdq.base, 0, IVPU_MMU_CMDQ_SIZE); in ivpu_mmu_reset()
[all …]
H A Divpu_mmu.h32 struct mutex lock; /* Protects cdtab, strtab, cmdq, on */
35 struct ivpu_mmu_queue cmdq; member
/openbmc/linux/drivers/infiniband/hw/bnxt_re/
H A Dqplib_rcfw.c114 struct bnxt_qplib_cmdq_ctx *cmdq; in bnxt_re_is_fw_stalled() local
118 cmdq = &rcfw->cmdq; in bnxt_re_is_fw_stalled()
120 if (time_after(jiffies, cmdq->last_seen + in bnxt_re_is_fw_stalled()
123 "%s: FW STALL Detected. cmdq[%#x]=%#x waited (%d > %d) msec active %d ", in bnxt_re_is_fw_stalled()
125 jiffies_to_msecs(jiffies - cmdq->last_seen), in bnxt_re_is_fw_stalled()
147 struct bnxt_qplib_cmdq_ctx *cmdq; in __wait_for_resp() local
151 cmdq = &rcfw->cmdq; in __wait_for_resp()
155 if (test_bit(ERR_DEVICE_DETACHED, &cmdq->flags)) in __wait_for_resp()
157 if (test_bit(FIRMWARE_STALL_DETECTED, &cmdq->flags)) in __wait_for_resp()
160 wait_event_timeout(cmdq->waitq, in __wait_for_resp()
[all …]
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_cmd.c484 /* If CMDQ ring is full, SW HEAD and HW HEAD may be different, in hclge_comm_cmd_send()
529 struct hclge_comm_cmq *cmdq = &hw->cmq; in hclge_comm_cmd_uninit() local
538 spin_lock_bh(&cmdq->csq.lock); in hclge_comm_cmd_uninit()
539 spin_lock(&cmdq->crq.lock); in hclge_comm_cmd_uninit()
541 spin_unlock(&cmdq->crq.lock); in hclge_comm_cmd_uninit()
542 spin_unlock_bh(&cmdq->csq.lock); in hclge_comm_cmd_uninit()
544 hclge_comm_free_cmd_desc(&cmdq->csq); in hclge_comm_cmd_uninit()
545 hclge_comm_free_cmd_desc(&cmdq->crq); in hclge_comm_cmd_uninit()
550 struct hclge_comm_cmq *cmdq = &hw->cmq; in hclge_comm_cmd_queue_init() local
554 spin_lock_init(&cmdq->csq.lock); in hclge_comm_cmd_queue_init()
[all …]
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/engine/sec2/
H A Dbase.c45 struct nvkm_falcon_cmdq *cmdq = sec2->cmdq; in nvkm_sec2_fini() local
56 ret = nvkm_falcon_cmdq_send(cmdq, &cmd, nvkm_sec2_finimsg, sec2, in nvkm_sec2_fini()
68 nvkm_falcon_cmdq_fini(cmdq); in nvkm_sec2_fini()
119 nvkm_falcon_cmdq_del(&sec2->cmdq); in nvkm_sec2_dtor()
159 (ret = nvkm_falcon_cmdq_new(sec2->qmgr, "cmdq", &sec2->cmdq)) || in nvkm_sec2_new_()
/openbmc/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3.c350 return &smmu->cmdq; in arm_smmu_get_cmdq()
390 dev_err(smmu->dev, "CMDQ error (cons 0x%08x): %s\n", cons, in __arm_smmu_cmdq_skip_err()
414 * not to touch any of the shadow cmdq state. in __arm_smmu_cmdq_skip_err()
429 __arm_smmu_cmdq_skip_err(smmu, &smmu->cmdq.q); in arm_smmu_cmdq_skip_err()
444 static void arm_smmu_cmdq_shared_lock(struct arm_smmu_cmdq *cmdq) in arm_smmu_cmdq_shared_lock() argument
454 if (atomic_fetch_inc_relaxed(&cmdq->lock) >= 0) in arm_smmu_cmdq_shared_lock()
458 val = atomic_cond_read_relaxed(&cmdq->lock, VAL >= 0); in arm_smmu_cmdq_shared_lock()
459 } while (atomic_cmpxchg_relaxed(&cmdq->lock, val, val + 1) != val); in arm_smmu_cmdq_shared_lock()
462 static void arm_smmu_cmdq_shared_unlock(struct arm_smmu_cmdq *cmdq) in arm_smmu_cmdq_shared_unlock() argument
464 (void)atomic_dec_return_release(&cmdq->lock); in arm_smmu_cmdq_shared_unlock()
[all …]
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb/
H A Dsge.c168 struct cmdQ { struct
182 spinlock_t lock; /* Lock to protect cmdQ enqueuing */ argument
208 /* Bit flags for cmdQ.status */
265 struct cmdQ cmdQ[SGE_CMDQ_N] ____cacheline_aligned_in_smp; member
474 struct cmdQ *q = &sge->cmdQ[0]; in sched_skb()
612 static void free_cmdQ_buffers(struct sge *sge, struct cmdQ *q, unsigned int n) in free_cmdQ_buffers()
653 struct cmdQ *q = &sge->cmdQ[i]; in free_tx_resources()
677 struct cmdQ *q = &sge->cmdQ[i]; in alloc_tx_resources()
706 sge->cmdQ[0].stop_thres = sge->adapter->params.nports * in alloc_tx_resources()
750 setup_ring_params(ap, sge->cmdQ[0].dma_addr, sge->cmdQ[0].size, in configure_sge()
[all …]
/openbmc/linux/drivers/soc/mediatek/
H A DKconfig9 tristate "MediaTek CMDQ Support"
15 Say yes here to add support for the MediaTek Command Queue (CMDQ)
16 driver. The CMDQ is used to help read/write registers with critical
/openbmc/linux/include/dt-bindings/gce/
H A Dmt8186-gce.h82 /* CMDQ: debug */
85 /* CMDQ: P7: debug */
348 /* CMDQ sw tokens
367 /* Notify normal CMDQ there are some secure task done
372 /* CMDQ use sw token */
419 /* CMDQ sw tokens END */
/openbmc/qemu/hw/arm/
H A Dsmmuv3.c300 s->cmdq.base = deposit64(s->cmdq.base, 0, 5, SMMU_CMDQS); in smmuv3_init_regs()
301 s->cmdq.prod = 0; in smmuv3_init_regs()
302 s->cmdq.cons = 0; in smmuv3_init_regs()
303 s->cmdq.entry_size = sizeof(struct Cmd); in smmuv3_init_regs()
1298 SMMUQueue *q = &s->cmdq; in smmuv3_cmdq_consume()
1536 s->cmdq.base = data; in smmu_writell()
1537 s->cmdq.log2size = extract64(s->cmdq.base, 0, 5); in smmu_writell()
1538 if (s->cmdq.log2size > SMMU_CMDQS) { in smmu_writell()
1539 s->cmdq.log2size = SMMU_CMDQS; in smmu_writell()
1623 s->cmdq.base = deposit64(s->cmdq.base, 0, 32, data); in smmu_writel()
[all …]
/openbmc/qemu/hw/audio/
H A Dvirtio-snd.c155 * @cmd: The request command queue element from VirtIOSound cmdq field
287 * @cmd: The request command queue element from VirtIOSound cmdq field
508 * @cmd: The request command queue element from VirtIOSound cmdq field
530 * @cmd: The request command queue element from VirtIOSound cmdq field
599 * @cmd: The request command queue element from VirtIOSound cmdq field
747 while (!QTAILQ_EMPTY(&s->cmdq)) { in virtio_snd_process_cmdq()
748 cmd = QTAILQ_FIRST(&s->cmdq); in virtio_snd_process_cmdq()
753 QTAILQ_REMOVE(&s->cmdq, cmd, next); in virtio_snd_process_cmdq()
763 * and stores them to VirtIOSound's cmdq queue and finally calls
788 QTAILQ_INSERT_TAIL(&s->cmdq, cmd, next); in virtio_snd_handle_ctrl()
[all …]
/openbmc/linux/drivers/mmc/core/
H A Ddebugfs.c258 [MMC_ERR_CMDQ_RED] = "CMDQ RED Errors", in mmc_err_stats_show()
259 [MMC_ERR_CMDQ_GCE] = "CMDQ GCE Errors", in mmc_err_stats_show()
260 [MMC_ERR_CMDQ_ICCE] = "CMDQ ICCE Errors", in mmc_err_stats_show()
262 [MMC_ERR_CMDQ_REQ_TIMEOUT] = "CMDQ Request Timedout", in mmc_err_stats_show()
/openbmc/linux/Documentation/devicetree/bindings/iommu/
H A Darm,smmu-v3.yaml45 - cmdq-sync # CMD_SYNC complete
91 interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";

123456