| /linux/drivers/gpu/drm/nouveau/nvkm/falcon/ |
| H A D | cmdq.c | 26 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 …]
|
| /linux/drivers/mailbox/ |
| H A D | mtk-cmdq-mailbox.c | 77 struct cmdq *cmdq; member 84 struct cmdq { struct 119 struct cmdq *cmdq = container_of(chan->mbox, struct cmdq, mbox); in cmdq_get_mbox_priv() local 121 priv->shift_pa = cmdq->pdata->shift; in cmdq_get_mbox_priv() 122 priv->mminfra_offset = cmdq->pdata->mminfra_offset; in cmdq_get_mbox_priv() 128 struct cmdq *cmdq = container_of(chan->mbox, struct cmdq, mbox); in cmdq_get_shift_pa() local 130 return cmdq->pdata->shift; in cmdq_get_shift_pa() 134 static void cmdq_vm_init(struct cmdq *cmdq) in cmdq_vm_init() argument 140 if (!cmdq->pdata->gce_vm) in cmdq_vm_init() 143 vm_map = kcalloc(cmdq->pdata->thread_nr, sizeof(*vm_map), GFP_KERNEL); in cmdq_vm_init() [all …]
|
| /linux/drivers/crypto/cavium/nitrox/ |
| H A D | nitrox_lib.c | 25 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 D | nitrox_reqmgr.c | 230 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 …]
|
| H A D | nitrox_isr.c | 32 struct nitrox_cmdq *cmdq = qvec->cmdq; in nps_pkt_slc_isr() local 34 slc_cnts.value = readq(cmdq->compl_cnt_csr_addr); in nps_pkt_slc_isr() 337 qvec->cmdq = &ndev->pkt_inq[qvec->ring]; in nitrox_register_interrupts()
|
| H A D | nitrox_hal.c | 125 struct nitrox_cmdq *cmdq = &ndev->pkt_inq[i]; in nitrox_config_pkt_input_rings() local 138 nitrox_write_csr(ndev, offset, cmdq->dma); in nitrox_config_pkt_input_rings() 357 struct nitrox_cmdq *cmdq = ndev->aqmq[ring]; in nitrox_config_aqm_rings() local 380 nitrox_write_csr(ndev, offset, cmdq->dma); in nitrox_config_aqm_rings()
|
| /linux/drivers/net/ethernet/brocade/bna/ |
| H A D | bfa_msgq.c | 31 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 …]
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_hw_cmdq.c | 78 #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 D | hinic_hw_io.c | 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() 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() 629 return_db_area(func_to_io, func_to_io->cmdq_db_area[cmdq]); in hinic_io_free()
|
| /linux/drivers/infiniband/hw/bnxt_re/ |
| H A D | qplib_rcfw.c | 114 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() 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() 162 test_bit(ERR_DEVICE_DETACHED, &cmdq->flags), in __wait_for_resp() [all …]
|
| /linux/drivers/infiniband/hw/bng_re/ |
| H A D | bng_fw.c | 56 bng_re_free_hwq(rcfw->res, &rcfw->cmdq.hwq); in bng_re_free_rcfw_channel() 66 struct bng_re_cmdq_ctx *cmdq; in bng_re_alloc_fw_channel() local 70 cmdq = &rcfw->cmdq; in bng_re_alloc_fw_channel() 95 if (bng_re_alloc_init_hwq(&cmdq->hwq, &hwq_attr)) { in bng_re_alloc_fw_channel() 101 rcfw->crsqe_tbl = kzalloc_objs(*rcfw->crsqe_tbl, cmdq->hwq.max_elements); in bng_re_alloc_fw_channel() 119 struct bng_re_hwq *hwq = &rcfw->cmdq.hwq; in bng_re_process_qp_event() 149 &rcfw->cmdq.flags), in bng_re_process_qp_event() 270 wake_up_nr(&rcfw->cmdq.waitq, num_wakeup); in bng_re_service_creq() 277 struct bng_re_cmdq_ctx *cmdq; in __send_message_basic_sanity() local 279 cmdq = &rcfw->cmdq; in __send_message_basic_sanity() [all …]
|
| /linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/ |
| H A D | hclge_comm_cmd.c | 541 struct hclge_comm_cmq *cmdq = &hw->cmq; in hclge_comm_cmd_uninit() local 550 spin_lock_bh(&cmdq->csq.lock); in hclge_comm_cmd_uninit() 551 spin_lock(&cmdq->crq.lock); in hclge_comm_cmd_uninit() 553 spin_unlock(&cmdq->crq.lock); in hclge_comm_cmd_uninit() 554 spin_unlock_bh(&cmdq->csq.lock); in hclge_comm_cmd_uninit() 556 hclge_comm_free_cmd_desc(&cmdq->csq); in hclge_comm_cmd_uninit() 557 hclge_comm_free_cmd_desc(&cmdq->crq); in hclge_comm_cmd_uninit() 563 struct hclge_comm_cmq *cmdq = &hw->cmq; in hclge_comm_cmd_queue_init() local 567 spin_lock_init(&cmdq->csq.lock); in hclge_comm_cmd_queue_init() 568 spin_lock_init(&cmdq->crq.lock); in hclge_comm_cmd_queue_init() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/sec2/ |
| H A D | base.c | 45 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_()
|
| H A D | ga102.c | 50 nvkm_falcon_cmdq_init(sec2->cmdq, msg.queue_info[i].index, in ga102_sec2_initmsg() 104 return nvkm_falcon_cmdq_send(sec2->cmdq, &cmd.cmd.hdr, in ga102_sec2_acr_bootstrap_falcon() 137 .cmdq = { 0xc00, 0xc04, 8 },
|
| H A D | gp102.c | 71 return nvkm_falcon_cmdq_send(sec2->cmdq, &cmd.cmd.hdr, in gp102_sec2_acr_bootstrap_falcon() 142 nvkm_falcon_cmdq_init(sec2->cmdq, in gp102_sec2_initmsg() 214 .cmdq = { 0xa00, 0xa04, 8 },
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ |
| H A D | rpc.c | 369 msg->sequence = gsp->cmdq.seq++; in r535_gsp_cmdq_push() 377 wptr = *gsp->cmdq.wptr; in r535_gsp_cmdq_push() 380 free = *gsp->cmdq.rptr + gsp->cmdq.cnt - wptr - 1; in r535_gsp_cmdq_push() 381 if (free >= gsp->cmdq.cnt) in r535_gsp_cmdq_push() 382 free -= gsp->cmdq.cnt; in r535_gsp_cmdq_push() 394 cqe = (void *)((u8 *)gsp->shm.cmdq.ptr + 0x1000 + wptr * 0x1000); in r535_gsp_cmdq_push() 395 step = min_t(u32, free, (gsp->cmdq.cnt - wptr)); in r535_gsp_cmdq_push() 401 if (wptr == gsp->cmdq.cnt) in r535_gsp_cmdq_push() 410 (*gsp->cmdq.wptr) = wptr; in r535_gsp_cmdq_push() 541 mutex_lock(&gsp->cmdq.mutex); in r535_gsp_rpc_poll() [all …]
|
| H A D | gsp.c | 53 mutex_lock(&gsp->cmdq.mutex); in r535_gsp_msgq_work() 56 mutex_unlock(&gsp->cmdq.mutex); in r535_gsp_msgq_work() 1140 } *cmdq, *msgq; in r535_gsp_shared_init() local 1143 gsp->shm.cmdq.size = 0x40000; in r535_gsp_shared_init() 1146 gsp->shm.ptes.nr = (gsp->shm.cmdq.size + gsp->shm.msgq.size) >> GSP_PAGE_SHIFT; in r535_gsp_shared_init() 1151 gsp->shm.cmdq.size + in r535_gsp_shared_init() 1158 gsp->shm.cmdq.ptr = (u8 *)gsp->shm.ptes.ptr + gsp->shm.ptes.size; in r535_gsp_shared_init() 1159 gsp->shm.msgq.ptr = (u8 *)gsp->shm.cmdq.ptr + gsp->shm.cmdq.size; in r535_gsp_shared_init() 1164 cmdq = gsp->shm.cmdq.ptr; in r535_gsp_shared_init() 1165 cmdq->tx.version = 0; in r535_gsp_shared_init() [all …]
|
| /linux/drivers/gpu/nova-core/ |
| H A D | gsp.rs | 21 pub(crate) mod cmdq; module 32 gsp::cmdq::Cmdq, 125 pub(crate) cmdq: Cmdq, field 144 cmdq <- Cmdq::new(dev), in new() 145 rmargs: Coherent::init(dev, GFP_KERNEL, GspArgumentsPadded::new(&cmdq))?, in new()
|
| /linux/drivers/gpu/nova-core/gsp/ |
| H A D | boot.rs | 171 self.cmdq in boot() 173 self.cmdq in boot() 226 GspSequencer::run(&self.cmdq, seq_params)?; in boot() 229 commands::wait_gsp_init_done(&self.cmdq)?; in boot() 232 let info = commands::get_gsp_info(&self.cmdq, bar)?; in boot()
|
| H A D | fw.rs | 34 cmdq::Cmdq, // 56 use crate::gsp::cmdq::{ 864 pub(crate) fn new(cmdq: &Cmdq) -> impl Init<Self> + '_ { in new() 867 messageQueueInitArguments <- MessageQueueInitArguments::new(cmdq), in new() 892 pub(crate) fn new(cmdq: &Cmdq) -> impl Init<Self> + '_ { in new() 894 inner <- GspArgumentsCached::new(cmdq), in new() 913 fn new(cmdq: &Cmdq) -> impl Init<Self> + '_ { in new() 915 sharedMemPhysAddr: cmdq.dma_handle, in new()
|
| /linux/drivers/infiniband/hw/hns/ |
| H A D | hns_roce_trace.h | 175 DECLARE_EVENT_CLASS(cmdq, 201 DEFINE_EVENT(cmdq, hns_cmdq_req, 205 DEFINE_EVENT(cmdq, hns_cmdq_resp,
|
| /linux/drivers/media/platform/mediatek/mdp3/ |
| H A D | Makefile | 4 mtk-mdp3-y += mtk-mdp3-comp.o mtk-mdp3-cmdq.o
|
| /linux/drivers/gpu/drm/nouveau/include/nvkm/engine/ |
| H A D | sec2.h | 17 struct nvkm_falcon_cmdq *cmdq; member
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/ |
| H A D | gp102.c | 40 .cmdq = { 0x4a0, 0x4b0, 4 },
|
| /linux/tools/testing/selftests/kvm/include/arm64/ |
| H A D | gic_v3_its.h | 9 size_t device_tbl_sz, gpa_t cmdq, size_t cmdq_size);
|