[PATCH v3 21/29] crypto/cnxk: add more info on command timeout
Thomas Monjalon
thomas at monjalon.net
Tue Jan 11 16:23:58 CET 2022
17/12/2021 10:20, Anoob Joseph:
> Print more info when command timeout happens. Print software and
> hardware queue information.
>
> Signed-off-by: Anoob Joseph <anoobj at marvell.com>
> Signed-off-by: Tejasree Kondoj <ktejasree at marvell.com>
> ---
> +void
> +cnxk_cpt_dump_on_err(struct cnxk_cpt_qp *qp)
> +{
> + struct pending_queue *pend_q = &qp->pend_q;
> + uint64_t inflight, enq_ptr, deq_ptr, insts;
> + union cpt_lf_q_inst_ptr inst_ptr;
> + union cpt_lf_inprog lf_inprog;
> +
> + plt_print("Lcore ID: %d, LF/QP ID: %d", rte_lcore_id(), qp->lf.lf_id);
> + plt_print("");
> + plt_print("S/w pending queue:");
> + plt_print("\tHead: %ld", pend_q->head);
> + plt_print("\tTail: %ld", pend_q->tail);
> + plt_print("\tMask: 0x%lx", pend_q->pq_mask);
> + plt_print("\tInflight count: %ld",
> + pending_queue_infl_cnt(pend_q->head, pend_q->tail,
> + pend_q->pq_mask));
> +
> + plt_print("");
> + plt_print("H/w pending queue:");
> +
> + lf_inprog.u = plt_read64(qp->lf.rbase + CPT_LF_INPROG);
> + inflight = lf_inprog.s.inflight;
> + plt_print("\tInflight in engines: %ld", inflight);
> +
> + inst_ptr.u = plt_read64(qp->lf.rbase + CPT_LF_Q_INST_PTR);
> +
> + enq_ptr = inst_ptr.s.nq_ptr;
> + deq_ptr = inst_ptr.s.dq_ptr;
> +
> + if (enq_ptr >= deq_ptr)
> + insts = enq_ptr - deq_ptr;
> + else
> + insts = (enq_ptr + pend_q->pq_mask + 1 + 320 + 40) - deq_ptr;
> +
> + plt_print("\tNQ ptr: 0x%lx", enq_ptr);
> + plt_print("\tDQ ptr: 0x%lx", deq_ptr);
> + plt_print("Insts waiting in CPT: %ld", insts);
> +
> + plt_print("");
> + roc_cpt_afs_print(qp->lf.roc_cpt);
> +}
This functions is wrong. You cannot print 64-bit values with %l.
In 32-bit mode, compilation will fail.
Please use PRIx64.
Note: this mistake is warned by the script devtools/checkpatches.sh
Warning in drivers/crypto/cnxk/cnxk_cryptodev_ops.c:
Using %l format, prefer %PRI*64 if type is [u]int64_t
I will wait for the next-crypto tree to be fixed.
More information about the dev
mailing list