[dpdk-dev] [PATCH v1 15/22] bus/fslmc: define queues for DPAA2 devices
Hemant Agrawal
hemant.agrawal at nxp.com
Fri Mar 17 13:36:34 CET 2017
Before DPAA2 devices can communicate using hardware queues, this patch
adds queue definitions in the FSLMC bus which the DPAA2 devices would
instantitate.
Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
---
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
index a1cbbf2..649d292 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
@@ -37,9 +37,12 @@
#include <mc/fsl_mc_sys.h>
#include <fsl_qbman_portal.h>
+#define DPAA2_DQRR_RING_SIZE 16
+ /** <Maximum number of slots available in RX ring*/
#define MC_PORTAL_INDEX 0
#define NUM_DPIO_REGIONS 2
+#define NUM_DQS_PER_QUEUE 2
#define MEMPOOL_F_HW_PKT_POOL (1 << ((sizeof(int) * 8) - 1))
/**< mpool flag to check offloaded pool */
@@ -80,6 +83,23 @@ struct dpaa2_dpbp_dev {
uint32_t dpbp_id; /*HW ID for DPBP object */
};
+struct queue_storage_info_t {
+ struct qbman_result *dq_storage[NUM_DQS_PER_QUEUE];
+};
+
+struct dpaa2_queue {
+ struct rte_mempool *mb_pool; /**< mbuf pool to populate RX ring. */
+ void *dev;
+ int32_t eventfd; /*!< Event Fd of this queue */
+ uint32_t fqid; /*!< Unique ID of this queue */
+ uint8_t tc_index; /*!< traffic class identifier */
+ uint16_t flow_id; /*!< To be used by DPAA2 frmework */
+ uint64_t rx_pkts;
+ uint64_t tx_pkts;
+ uint64_t err_pkts;
+ struct queue_storage_info_t *q_storage;
+};
+
/*! Global MCP list */
extern void *(*rte_mcp_ptr_list);
--
1.9.1
More information about the dev
mailing list