Lines Matching refs:qidev
106 int caam_qi_enqueue(struct device *qidev, struct caam_drv_req *req)
116 addr = dma_map_single(qidev, req->fd_sgt, sizeof(req->fd_sgt),
118 if (dma_mapping_error(qidev, addr)) {
119 dev_err(qidev, "DMA mapping error for QI enqueue request\n");
136 dev_err(qidev, "qman_enqueue failed: %d\n", ret);
147 struct device *qidev = &(raw_cpu_ptr(&pcpu_qipriv)->net_dev.dev);
148 struct caam_drv_private *priv = dev_get_drvdata(qidev);
154 dev_err(qidev,
162 dev_err(qidev, "Non-compound FD from CAAM\n");
166 dma_unmap_single(drv_req->drv_ctx->qidev, qm_fd_addr(fd),
175 static struct qman_fq *create_caam_req_fq(struct device *qidev,
194 dev_err(qidev, "Failed to create session req FQ\n");
210 dev_err(qidev, "Failed to init session req FQ\n");
214 dev_dbg(qidev, "Allocated request FQ %u for CPU %u\n", req_fq->fqid,
225 static int empty_retired_fq(struct device *qidev, struct qman_fq *fq)
234 dev_err(qidev, "Volatile dequeue fail for FQ: %u\n", fq->fqid);
248 static int kill_fq(struct device *qidev, struct qman_fq *fq)
255 dev_err(qidev, "qman_retire_fq failed: %d\n", ret);
275 ret = empty_retired_fq(qidev, fq);
277 dev_err(qidev, "empty_retired_fq fail for FQ: %u\n",
285 dev_err(qidev, "OOS of FQID: %u failed\n", fq->fqid);
320 dev_warn_once(drv_ctx->qidev, "%d frames from FQID %u still pending in CAAM\n",
331 struct device *qidev = drv_ctx->qidev;
335 dev_err(qidev, "Invalid descriptor len: %d words\n", num_words);
343 new_fq = create_caam_req_fq(drv_ctx->qidev, drv_ctx->rsp_fq,
346 dev_err(qidev, "FQ allocation for shdesc update failed\n");
356 dev_err(qidev, "Old CAAM FQ empty failed: %d\n", ret);
361 if (kill_fq(qidev, new_fq))
362 dev_warn(qidev, "New CAAM FQ kill failed\n");
375 dma_sync_single_for_device(qidev, drv_ctx->context_a,
383 dev_err(qidev, "Fail to sched new CAAM FQ, ecode = %d\n", ret);
392 if (kill_fq(qidev, new_fq))
393 dev_warn(qidev, "New CAAM FQ kill failed\n");
394 } else if (kill_fq(qidev, old_fq)) {
395 dev_warn(qidev, "Old CAAM FQ kill failed\n");
402 struct caam_drv_ctx *caam_drv_ctx_init(struct device *qidev,
414 dev_err(qidev, "Invalid descriptor len: %d words\n",
432 hwdesc = dma_map_single(qidev, drv_ctx->prehdr, size,
434 if (dma_mapping_error(qidev, hwdesc)) {
435 dev_err(qidev, "DMA map error for preheader + shdesc\n");
458 drv_ctx->req_fq = create_caam_req_fq(qidev, drv_ctx->rsp_fq, hwdesc,
461 dev_err(qidev, "create_caam_req_fq failed\n");
462 dma_unmap_single(qidev, hwdesc, size, DMA_BIDIRECTIONAL);
470 drv_ctx->qidev = qidev;
507 if (kill_fq(drv_ctx->qidev, drv_ctx->req_fq))
508 dev_err(drv_ctx->qidev, "Crypto session req FQ kill failed\n");
510 dma_unmap_single(drv_ctx->qidev, drv_ctx->context_a,
520 struct device *qidev = data;
531 if (kill_fq(qidev, per_cpu(pcpu_qipriv.rsp_fq, i)))
532 dev_err(qidev, "Rsp FQ kill failed, cpu: %d\n", i);
576 struct device *qidev = &(raw_cpu_ptr(&pcpu_qipriv)->net_dev.dev);
577 struct caam_drv_private *priv = dev_get_drvdata(qidev);
587 dev_err(qidev,
601 dev_err_ratelimited(qidev,
607 dev_err(qidev, "Non-compound FD from CAAM\n");
611 dma_unmap_single(drv_req->drv_ctx->qidev, qm_fd_addr(fd),
618 static int alloc_rsp_fq_cpu(struct device *qidev, unsigned int cpu)
633 dev_err(qidev, "Rsp FQ create failed\n");
652 dev_err(qidev, "Rsp FQ init failed\n");
659 dev_dbg(qidev, "Allocated response FQ %u for CPU %u", fq->fqid, cpu);
663 static int init_cgr(struct device *qidev)
672 dev_err(qidev, "CGR alloc failed for rsp FQs: %d\n", ret);
686 dev_err(qidev, "Error %d creating CAAM CGRID: %u\n", ret,
691 dev_dbg(qidev, "Congestion threshold set to %llu\n", val);
695 static int alloc_rsp_fqs(struct device *qidev)
702 ret = alloc_rsp_fq_cpu(qidev, i);
704 dev_err(qidev, "CAAM rsp FQ alloc failed, cpu: %u", i);
724 struct device *ctrldev = &caam_pdev->dev, *qidev;
729 qidev = ctrldev;
732 err = init_cgr(qidev);
734 dev_err(qidev, "CGR initialization failed: %d\n", err);
739 err = alloc_rsp_fqs(qidev);
741 dev_err(qidev, "Can't allocate CAAM response FQs: %d\n", err);
756 net_dev->dev = *qidev;
768 dev_err(qidev, "Can't allocate CAAM cache\n");
775 err = devm_add_action_or_reset(qidev, caam_qi_shutdown, ctrlpriv);
779 dev_info(qidev, "Linux CAAM Queue I/F driver initialised\n");