bus/fslmc: introduce API to consume dqrr using index
authorNipun Gupta <nipun.gupta@nxp.com>
Wed, 17 Jan 2018 11:39:10 +0000 (17:09 +0530)
committerJerin Jacob <jerin.jacob@caviumnetworks.com>
Fri, 19 Jan 2018 15:09:56 +0000 (16:09 +0100)
A new API qbman_swp_dqrr_idx_consume is defined which takes
input as DQRR index to consume corresponding DQRR entry.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
drivers/bus/fslmc/qbman/qbman_portal.c
drivers/bus/fslmc/rte_bus_fslmc_version.map

index 019deae..10f38ca 100644 (file)
@@ -388,6 +388,13 @@ const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *p);
  */
 void qbman_swp_dqrr_consume(struct qbman_swp *s, const struct qbman_result *dq);
 
+/**
+ * qbman_swp_dqrr_idx_consume() -  Given the DQRR index consume the DQRR entry
+ * @s: the software portal object.
+ * @dqrr_index: the DQRR index entry to be consumed.
+ */
+void qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
+
 /**
  * qbman_get_dqrr_idx() - Get dqrr index from the given dqrr
  * @dqrr: the given dqrr object.
index b5c8b50..b02dfa2 100644 (file)
@@ -859,6 +859,13 @@ void qbman_swp_dqrr_consume(struct qbman_swp *s,
        qbman_cinh_write(&s->sys, QBMAN_CINH_SWP_DCAP, QBMAN_IDX_FROM_DQRR(dq));
 }
 
+/* Consume DQRR entries previously returned from qbman_swp_dqrr_next(). */
+void qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
+                           uint8_t dqrr_index)
+{
+       qbman_cinh_write(&s->sys, QBMAN_CINH_SWP_DCAP, dqrr_index);
+}
+
 /*********************************/
 /* Polling user-provided storage */
 /*********************************/
index 16b759d..b9dd063 100644 (file)
@@ -97,6 +97,7 @@ DPDK_18.02 {
        dpaa2_virt_mode;
        qbman_fq_query_state;
        qbman_fq_state_frame_count;
+       qbman_swp_dqrr_idx_consume;
        rte_fslmc_get_device_count;
 
 } DPDK_17.11;