DPI needs to know the PEM number for all external transfers.

Signed-off-by: Radha Mohan Chintakuntla <rad...@marvell.com>
Reviewed-by: Satha Koteswara Rao Kottidi <skotesh...@marvell.com>
Reviewed-by: Satananda Burla <sbu...@marvell.com>
---
 drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 2 ++
 drivers/raw/octeontx2_dma/otx2_dpi_rawdev.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c 
b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
index 5b496446c..a1b94ce1d 100644
--- a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
+++ b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
@@ -201,6 +201,8 @@ otx2_dpi_rawdev_enqueue_bufs(struct rte_rawdev *dev,
                index += 4;
                hdr->s.fport = 0;
                hdr->s.lport = 0;
+               if (ctx->xtype !=  DPI_XTYPE_INTERNAL_ONLY)
+                       hdr->s.lport = ctx->pem_id;
 
                /* For inbound case, src pointers are last pointers.
                 * For all other cases, src pointers are first pointers.
diff --git a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.h 
b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.h
index 9ebb25988..81740e84b 100644
--- a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.h
+++ b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.h
@@ -140,6 +140,7 @@ struct dpi_dma_queue_ctx_s {
        uint16_t req_type:2;
        uint16_t use_lock:1;
        uint16_t deallocv;
+       uint16_t  pem_id;
 
        struct dpi_cring_data_s *c_ring;
 };
-- 
2.24.1

Reply via email to