From: Jun Yang <jun.y...@nxp.com>

This patch improves the dpaa qdma driver and
adds dpaa_qdma_burst_capacity API which returns the
remaining space in the descriptor ring.

Signed-off-by: Jun Yang <jun.y...@nxp.com>
Signed-off-by: Gagandeep Singh <g.si...@nxp.com>
---
 drivers/dma/dpaa/dpaa_qdma.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/dma/dpaa/dpaa_qdma.c b/drivers/dma/dpaa/dpaa_qdma.c
index a10a867580..94be9c5fd1 100644
--- a/drivers/dma/dpaa/dpaa_qdma.c
+++ b/drivers/dma/dpaa/dpaa_qdma.c
@@ -1039,6 +1039,15 @@ dpaa_qdma_stats_reset(struct rte_dma_dev *dmadev, 
uint16_t vchan)
        return 0;
 }
 
+static uint16_t
+dpaa_qdma_burst_capacity(const void *dev_private, uint16_t vchan)
+{
+       const struct fsl_qdma_engine *fsl_qdma = dev_private;
+       struct fsl_qdma_queue *fsl_queue = fsl_qdma->chan[vchan];
+
+       return fsl_queue->pending_max - fsl_queue->pending_num;
+}
+
 static struct rte_dma_dev_ops dpaa_qdma_ops = {
        .dev_info_get             = dpaa_qdma_info_get,
        .dev_configure            = dpaa_qdma_configure,
@@ -1152,6 +1161,7 @@ dpaa_qdma_probe(__rte_unused struct rte_dpaa_driver 
*dpaa_drv,
        dmadev->fp_obj->submit = dpaa_qdma_submit;
        dmadev->fp_obj->completed = dpaa_qdma_dequeue;
        dmadev->fp_obj->completed_status = dpaa_qdma_dequeue_status;
+       dmadev->fp_obj->burst_capacity = dpaa_qdma_burst_capacity;
 
        /* Invoke PMD device initialization function */
        ret = dpaa_qdma_init(dmadev);
-- 
2.25.1

Reply via email to