* [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements
@ 2021-07-19 13:59 Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 1/7] bus/dpaa: fix to use right type of memory free Hemant Agrawal
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Hemant Agrawal
This series add few minor fixes and enhancements for
the NXP DPAAx drivers.
Hemant Agrawal (3):
bus/dpaa: fix to use right type of memory free
bus/dpaa: reduce syscall usages
doc: remove SDK info form individual dev guides
Nipun Gupta (2):
net/dpaa: fix headroom in VSP case
net/dpaa2: add per thread init PMD API
Rohit Raj (1):
net/dpaa: add check for parsing default Rx queue
Vanshika Shukla (1):
net/dpaa2: add input validation
doc/guides/cryptodevs/dpaa2_sec.rst | 6 ------
doc/guides/eventdevs/dpaa2.rst | 6 ------
doc/guides/nics/dpaa2.rst | 6 ------
doc/guides/rawdevs/dpaa2_cmdif.rst | 6 ------
doc/guides/rawdevs/dpaa2_qdma.rst | 6 ------
drivers/bus/dpaa/base/fman/fman.c | 18 ++++++++++++++++--
drivers/bus/dpaa/dpaa_bus.c | 3 +--
drivers/bus/dpaa/include/fman.h | 7 +++++--
drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 19 +++++++++----------
drivers/net/dpaa/dpaa_flow.c | 5 ++++-
drivers/net/dpaa/dpaa_fmc.c | 5 ++++-
drivers/net/dpaa2/base/dpaa2_hw_dpni.c | 11 +++++++++++
drivers/net/dpaa2/dpaa2_ethdev.c | 20 ++++++++++++++++++--
drivers/net/dpaa2/dpaa2_ethdev.h | 1 +
drivers/net/dpaa2/dpaa2_mux.c | 3 +++
drivers/net/dpaa2/rte_pmd_dpaa2.h | 10 ++++++++++
drivers/net/dpaa2/version.map | 2 ++
17 files changed, 84 insertions(+), 50 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 1/7] bus/dpaa: fix to use right type of memory free
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 2/7] net/dpaa: fix headroom in VSP case Hemant Agrawal
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Hemant Agrawal, stable
if was allocated with rte_malloc, free shall be equivalent.
Fixes: 4762b3d419c3 ("bus/dpaa: delay fman device list to bus probe")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/fman/fman.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
index 692071b4b0..a14004d7fc 100644
--- a/drivers/bus/dpaa/base/fman/fman.c
+++ b/drivers/bus/dpaa/base/fman/fman.c
@@ -50,7 +50,7 @@ if_destructor(struct __fman_if *__if)
free(bp);
}
cleanup:
- free(__if);
+ rte_free(__if);
}
static int
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 2/7] net/dpaa: fix headroom in VSP case
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 1/7] bus/dpaa: fix to use right type of memory free Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 3/7] bus/dpaa: reduce syscall usages Hemant Agrawal
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Nipun Gupta, stable
From: Nipun Gupta <nipun.gupta@nxp.com>
This patch fixes providing the correct headroom size when
VSP is enabled.
Fixes: e4abd4ff183c ("net/dpaa: support virtual storage profile")
Cc: stable@dpdk.org
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
---
drivers/net/dpaa/dpaa_flow.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_flow.c b/drivers/net/dpaa/dpaa_flow.c
index a0087df670..c5b5ec8695 100644
--- a/drivers/net/dpaa/dpaa_flow.c
+++ b/drivers/net/dpaa/dpaa_flow.c
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2017-2019 NXP
+ * Copyright 2017-2019,2021 NXP
*/
/* System headers */
@@ -999,6 +999,9 @@ static int dpaa_port_vsp_configure(struct dpaa_if *dpaa_intf,
buf_prefix_cont.pass_time_stamp = true;
buf_prefix_cont.pass_hash_result = false;
buf_prefix_cont.pass_all_other_pcdinfo = false;
+ buf_prefix_cont.manip_ext_space =
+ RTE_PKTMBUF_HEADROOM - DPAA_MBUF_HW_ANNOTATION;
+
ret = fm_vsp_config_buffer_prefix_content(dpaa_intf->vsp_handle[vsp_id],
&buf_prefix_cont);
if (ret != E_OK) {
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 3/7] bus/dpaa: reduce syscall usages
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 1/7] bus/dpaa: fix to use right type of memory free Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 2/7] net/dpaa: fix headroom in VSP case Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 4/7] net/dpaa: add check for parsing default Rx queue Hemant Agrawal
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Hemant Agrawal
Reuse dpdk rte_gettid instead of syscall.
It will help to reduce the dpaa portal allocation time.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/dpaa_bus.c | 3 +--
drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 9 ++++-----
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index 2f48d4036b..e499305d85 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -12,7 +12,6 @@
#include <signal.h>
#include <pthread.h>
#include <sys/types.h>
-#include <sys/syscall.h>
#include <sys/eventfd.h>
#include <rte_byteorder.h>
@@ -314,7 +313,7 @@ int rte_dpaa_portal_init(void *arg)
DPAA_PER_LCORE_PORTAL->qman_idx = qman_get_portal_index();
DPAA_PER_LCORE_PORTAL->bman_idx = bman_get_portal_index();
- DPAA_PER_LCORE_PORTAL->tid = syscall(SYS_gettid);
+ DPAA_PER_LCORE_PORTAL->tid = rte_gettid();
ret = pthread_setspecific(dpaa_portal_key,
(void *)DPAA_PER_LCORE_PORTAL);
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
index c6f8312a1d..c224a883ae 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
@@ -19,7 +19,6 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/mman.h>
-#include <sys/syscall.h>
#include <sys/epoll.h>
#include<sys/eventfd.h>
@@ -278,8 +277,8 @@ static struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void)
return NULL;
}
- DPAA2_BUS_DEBUG("New Portal %p (%d) affined thread - %lu",
- dpio_dev, dpio_dev->index, syscall(SYS_gettid));
+ DPAA2_BUS_DEBUG("New Portal %p (%d) affined thread - %u",
+ dpio_dev, dpio_dev->index, rte_gettid());
/* Set the Stashing Destination */
cpu_id = dpaa2_get_core_id();
@@ -310,7 +309,7 @@ int
dpaa2_affine_qbman_swp(void)
{
struct dpaa2_dpio_dev *dpio_dev;
- uint64_t tid = syscall(SYS_gettid);
+ uint64_t tid = rte_gettid();
/* Populate the dpaa2_io_portal structure */
if (!RTE_PER_LCORE(_dpaa2_io).dpio_dev) {
@@ -332,7 +331,7 @@ int
dpaa2_affine_qbman_ethrx_swp(void)
{
struct dpaa2_dpio_dev *dpio_dev;
- uint64_t tid = syscall(SYS_gettid);
+ uint64_t tid = rte_gettid();
/* Populate the dpaa2_io_portal structure */
if (!RTE_PER_LCORE(_dpaa2_io).ethrx_dpio_dev) {
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 4/7] net/dpaa: add check for parsing default Rx queue
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
` (2 preceding siblings ...)
2021-07-19 13:59 ` [dpdk-dev] [PATCH 3/7] bus/dpaa: reduce syscall usages Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API Hemant Agrawal
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Rohit Raj
From: Rohit Raj <rohit.raj@nxp.com>
Add check for the PCD queue from the kernel interface
for default and error queues.
Signed-off-by: Rohit Raj <rohit.raj@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/fman/fman.c | 16 +++++++++++++++-
drivers/bus/dpaa/include/fman.h | 7 +++++--
drivers/net/dpaa/dpaa_fmc.c | 5 ++++-
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
index a14004d7fc..1814372a40 100644
--- a/drivers/bus/dpaa/base/fman/fman.c
+++ b/drivers/bus/dpaa/base/fman/fman.c
@@ -214,7 +214,7 @@ fman_if_init(const struct device_node *dpa_node)
const phandle *port_cell_idx, *ext_args_cell_idx;
const struct device_node *parent_node_ext_args;
uint64_t tx_phandle_host[4] = {0};
- uint64_t rx_phandle_host[4] = {0};
+ uint64_t rx_phandle_host[6] = {0};
uint64_t regs_addr_host = 0;
uint64_t cell_idx_host = 0;
uint64_t port_cell_idx_val = 0;
@@ -511,6 +511,10 @@ fman_if_init(const struct device_node *dpa_node)
goto err;
}
+ /* Check if "fsl,qman-frame-queues-rx" in dtb file is valid entry or
+ * not. A valid entry contains at least 4 entries, rx_error_queue,
+ * rx_error_queue_count, fqid_rx_def and rx_error_queue_count.
+ */
assert(lenp >= (4 * sizeof(phandle)));
na = of_n_addr_cells(mac_node);
@@ -519,11 +523,21 @@ fman_if_init(const struct device_node *dpa_node)
rx_phandle_host[1] = of_read_number(&rx_phandle[1], na);
rx_phandle_host[2] = of_read_number(&rx_phandle[2], na);
rx_phandle_host[3] = of_read_number(&rx_phandle[3], na);
+ rx_phandle_host[4] = of_read_number(&rx_phandle[4], na);
+ rx_phandle_host[5] = of_read_number(&rx_phandle[5], na);
assert((rx_phandle_host[1] == 1) && (rx_phandle_host[3] == 1));
__if->__if.fqid_rx_err = rx_phandle_host[0];
__if->__if.fqid_rx_def = rx_phandle_host[2];
+ /* If there are 6 entries in "fsl,qman-frame-queues-rx" in dtb file, it
+ * means PCD queues are also available. Hence, store that information.
+ */
+ if (lenp == 6 * sizeof(phandle)) {
+ __if->__if.fqid_rx_pcd = rx_phandle_host[4];
+ __if->__if.fqid_rx_pcd_count = rx_phandle_host[5];
+ }
+
/* Extract the Tx FQIDs */
tx_phandle = of_get_property(dpa_node,
"fsl,qman-frame-queues-tx", &lenp);
diff --git a/drivers/bus/dpaa/include/fman.h b/drivers/bus/dpaa/include/fman.h
index 516c6c1515..3a6dd555a7 100644
--- a/drivers/bus/dpaa/include/fman.h
+++ b/drivers/bus/dpaa/include/fman.h
@@ -2,7 +2,7 @@
*
* Copyright 2010-2012 Freescale Semiconductor, Inc.
* All rights reserved.
- * Copyright 2019-2020 NXP
+ * Copyright 2019-2021 NXP
*
*/
@@ -329,8 +329,11 @@ struct fman_if {
uint8_t is_shared_mac;
/* The hard-coded FQIDs for this interface. Note: this doesn't cover
* the PCD nor the "Rx default" FQIDs, which are configured via FMC
- * and its XML-based configuration.
+ * and its XML-based configuration. These values are being parsed from
+ * kernel device tree.
*/
+ uint32_t fqid_rx_pcd;
+ uint32_t fqid_rx_pcd_count;
uint32_t fqid_rx_def;
uint32_t fqid_rx_err;
uint32_t fqid_tx_err;
diff --git a/drivers/net/dpaa/dpaa_fmc.c b/drivers/net/dpaa/dpaa_fmc.c
index 0ef3622744..5195053361 100644
--- a/drivers/net/dpaa/dpaa_fmc.c
+++ b/drivers/net/dpaa/dpaa_fmc.c
@@ -243,7 +243,10 @@ static int dpaa_port_fmc_scheme_parse(struct fman_if *fif,
uint32_t fqid = fmc->scheme[idx].base_fqid + i;
int k, found = 0;
- if (fqid == fif->fqid_rx_def) {
+ if (fqid == fif->fqid_rx_def ||
+ (fqid >= fif->fqid_rx_pcd &&
+ fqid < (fif->fqid_rx_pcd +
+ fif->fqid_rx_pcd_count))) {
if (fif->is_shared_mac &&
fmc->scheme[idx].override_storage_profile &&
fmc->scheme[idx].storage_profile.direct &&
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
` (3 preceding siblings ...)
2021-07-19 13:59 ` [dpdk-dev] [PATCH 4/7] net/dpaa: add check for parsing default Rx queue Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-09-09 7:09 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 6/7] net/dpaa2: add input validation Hemant Agrawal
` (2 subsequent siblings)
7 siblings, 1 reply; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Nipun Gupta
From: Nipun Gupta <nipun.gupta@nxp.com>
DPAA2 hardware require a hardware portal context.
If a thread doing DPAA2 i/o do not have portal, it will
allocate it on run-time. This may cause a delay in the
datapath at run-time. To avoid it, it is better to allocate
a hw context portal at the start of thread expected to do
i/o with DPAA2 hardware.
This patch makes necessary changes for the same and creates
a pmd API to allocate a hw context portal for a thread.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
---
drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 10 +++++-----
drivers/net/dpaa2/dpaa2_ethdev.c | 16 ++++++++++++++++
drivers/net/dpaa2/rte_pmd_dpaa2.h | 10 ++++++++++
drivers/net/dpaa2/version.map | 2 ++
4 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
index c224a883ae..1a1e437ed1 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
@@ -20,7 +20,8 @@
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/epoll.h>
-#include<sys/eventfd.h>
+#include <sys/eventfd.h>
+#include <sys/syscall.h>
#include <rte_mbuf.h>
#include <ethdev_driver.h>
@@ -168,7 +169,7 @@ dpaa2_affine_dpio_intr_to_respective_core(int32_t dpio_id, int cpu_id)
fclose(file);
}
-static int dpaa2_dpio_intr_init(struct dpaa2_dpio_dev *dpio_dev, int cpu_id)
+static int dpaa2_dpio_intr_init(struct dpaa2_dpio_dev *dpio_dev)
{
struct epoll_event epoll_ev;
int eventfd, dpio_epoll_fd, ret;
@@ -205,8 +206,6 @@ static int dpaa2_dpio_intr_init(struct dpaa2_dpio_dev *dpio_dev, int cpu_id)
}
dpio_dev->epoll_fd = dpio_epoll_fd;
- dpaa2_affine_dpio_intr_to_respective_core(dpio_dev->hw_id, cpu_id);
-
return 0;
}
@@ -242,10 +241,11 @@ dpaa2_configure_stashing(struct dpaa2_dpio_dev *dpio_dev, int cpu_id)
}
#ifdef RTE_EVENT_DPAA2
- if (dpaa2_dpio_intr_init(dpio_dev, cpu_id)) {
+ if (dpaa2_dpio_intr_init(dpio_dev)) {
DPAA2_BUS_ERR("Interrupt registration failed for dpio");
return -1;
}
+ dpaa2_affine_dpio_intr_to_respective_core(dpio_dev->hw_id, cpu_id);
#endif
return 0;
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 8b803b8542..d892819a7e 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2382,6 +2382,22 @@ dpaa2_tm_ops_get(struct rte_eth_dev *dev __rte_unused, void *ops)
return 0;
}
+void
+rte_pmd_dpaa2_thread_init(void)
+{
+ int ret;
+
+ if (unlikely(!DPAA2_PER_LCORE_DPIO)) {
+ ret = dpaa2_affine_qbman_swp();
+ if (ret) {
+ DPAA2_PMD_ERR(
+ "Failed to allocate IO portal, tid: %d\n",
+ rte_gettid());
+ return;
+ }
+ }
+}
+
static struct eth_dev_ops dpaa2_ethdev_ops = {
.dev_configure = dpaa2_eth_dev_configure,
.dev_start = dpaa2_dev_start,
diff --git a/drivers/net/dpaa2/rte_pmd_dpaa2.h b/drivers/net/dpaa2/rte_pmd_dpaa2.h
index 7204a8f951..84ac9d38d1 100644
--- a/drivers/net/dpaa2/rte_pmd_dpaa2.h
+++ b/drivers/net/dpaa2/rte_pmd_dpaa2.h
@@ -84,4 +84,14 @@ rte_pmd_dpaa2_set_custom_hash(uint16_t port_id,
uint16_t offset,
uint8_t size);
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Do thread specific initialization
+ */
+__rte_experimental
+void
+rte_pmd_dpaa2_thread_init(void);
+
#endif /* _RTE_PMD_DPAA2_H */
diff --git a/drivers/net/dpaa2/version.map b/drivers/net/dpaa2/version.map
index b50da13bcb..49f69dacd2 100644
--- a/drivers/net/dpaa2/version.map
+++ b/drivers/net/dpaa2/version.map
@@ -6,6 +6,8 @@ EXPERIMENTAL {
# added in 21.05
rte_pmd_dpaa2_mux_rx_frame_len;
+ # added in 21.08
+ rte_pmd_dpaa2_thread_init;
};
INTERNAL {
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 6/7] net/dpaa2: add input validation
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
` (4 preceding siblings ...)
2021-07-19 13:59 ` [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 7/7] doc: remove SDK info form individual dev guides Hemant Agrawal
2021-07-23 18:34 ` [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Thomas Monjalon
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Vanshika Shukla
From: Vanshika Shukla <vanshika.shukla@nxp.com>
This patch adds validation of the port id for
rte_pmd_dpaa2_set_custom_hash API to check if the
port is a valid DPAA2 port. Also handles some
edge cases in the rte_pmd_dpaa2_mux_flow_create API.
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa2/base/dpaa2_hw_dpni.c | 11 +++++++++++
drivers/net/dpaa2/dpaa2_ethdev.c | 4 ++--
drivers/net/dpaa2/dpaa2_ethdev.h | 1 +
drivers/net/dpaa2/dpaa2_mux.c | 3 +++
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dpaa2/base/dpaa2_hw_dpni.c b/drivers/net/dpaa2/base/dpaa2_hw_dpni.c
index b901b4342f..641e7027f1 100644
--- a/drivers/net/dpaa2/base/dpaa2_hw_dpni.c
+++ b/drivers/net/dpaa2/base/dpaa2_hw_dpni.c
@@ -41,6 +41,17 @@ rte_pmd_dpaa2_set_custom_hash(uint16_t port_id,
void *p_params;
int ret, tc_index = 0;
+ if (!rte_eth_dev_is_valid_port(port_id)) {
+ DPAA2_PMD_WARN("Invalid port id %u", port_id);
+ return -EINVAL;
+ }
+
+ if (strcmp(eth_dev->device->driver->name,
+ RTE_STR(NET_DPAA2_PMD_DRIVER_NAME))) {
+ DPAA2_PMD_WARN("Not a valid dpaa2 port");
+ return -EINVAL;
+ }
+
p_params = rte_zmalloc(
NULL, DIST_PARAM_IOVA_SIZE, RTE_CACHE_LINE_SIZE);
if (!p_params) {
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index d892819a7e..c12169578e 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2905,8 +2905,8 @@ static struct rte_dpaa2_driver rte_dpaa2_pmd = {
.remove = rte_dpaa2_remove,
};
-RTE_PMD_REGISTER_DPAA2(net_dpaa2, rte_dpaa2_pmd);
-RTE_PMD_REGISTER_PARAM_STRING(net_dpaa2,
+RTE_PMD_REGISTER_DPAA2(NET_DPAA2_PMD_DRIVER_NAME, rte_dpaa2_pmd);
+RTE_PMD_REGISTER_PARAM_STRING(NET_DPAA2_PMD_DRIVER_NAME,
DRIVER_LOOPBACK_MODE "=<int> "
DRIVER_NO_PREFETCH_MODE "=<int>"
DRIVER_TX_CONF "=<int>"
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h
index 7b76ca7b2d..b9c729f6cd 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.h
+++ b/drivers/net/dpaa2/dpaa2_ethdev.h
@@ -19,6 +19,7 @@
#define DPAA2_MIN_RX_BUF_SIZE 512
#define DPAA2_MAX_RX_PKT_LEN 10240 /*WRIOP support*/
+#define NET_DPAA2_PMD_DRIVER_NAME net_dpaa2
#define MAX_TCS DPNI_MAX_TC
#define MAX_RX_QUEUES 128
diff --git a/drivers/net/dpaa2/dpaa2_mux.c b/drivers/net/dpaa2/dpaa2_mux.c
index 811f417491..d347f4df51 100644
--- a/drivers/net/dpaa2/dpaa2_mux.c
+++ b/drivers/net/dpaa2/dpaa2_mux.c
@@ -68,6 +68,9 @@ rte_pmd_dpaa2_mux_flow_create(uint32_t dpdmux_id,
int ret;
static int i;
+ if (!pattern || !actions || !pattern[0] || !actions[0])
+ return NULL;
+
/* Find the DPDMUX from dpdmux_id in our list */
dpdmux_dev = get_dpdmux_from_id(dpdmux_id);
if (!dpdmux_dev) {
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dpdk-dev] [PATCH 7/7] doc: remove SDK info form individual dev guides
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
` (5 preceding siblings ...)
2021-07-19 13:59 ` [dpdk-dev] [PATCH 6/7] net/dpaa2: add input validation Hemant Agrawal
@ 2021-07-19 13:59 ` Hemant Agrawal
2021-07-23 18:34 ` [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Thomas Monjalon
7 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-07-19 13:59 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, Hemant Agrawal
The prerequisite info is already present in the platform guide.
No need to repeat it in individual dev guides.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
doc/guides/cryptodevs/dpaa2_sec.rst | 6 ------
doc/guides/eventdevs/dpaa2.rst | 6 ------
doc/guides/nics/dpaa2.rst | 6 ------
doc/guides/rawdevs/dpaa2_cmdif.rst | 6 ------
doc/guides/rawdevs/dpaa2_qdma.rst | 6 ------
5 files changed, 30 deletions(-)
diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index a7fc9cef99..06de988d51 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -161,12 +161,6 @@ The following dependencies are not part of DPDK and must be installed separately
See :doc:`../platform/dpaa2` for setup information
-Currently supported by DPDK:
-
-- NXP SDK **19.09+**.
-- MC Firmware version **10.18.0** and higher.
-- Supported architectures: **arm64 LE**.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/eventdevs/dpaa2.rst b/doc/guides/eventdevs/dpaa2.rst
index 33f13d0543..538d0be8b0 100644
--- a/doc/guides/eventdevs/dpaa2.rst
+++ b/doc/guides/eventdevs/dpaa2.rst
@@ -36,12 +36,6 @@ Prerequisites
See :doc:`../platform/dpaa2` for setup information
-Currently supported by DPDK:
-
-- NXP SDK **19.09+**.
-- MC Firmware version **10.18.0** and higher.
-- Supported architectures: **arm64 LE**.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 6470f1c05a..df23a5704d 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -421,12 +421,6 @@ Prerequisites
See :doc:`../platform/dpaa2` for setup information
-Currently supported by DPDK:
-
-- NXP LSDK **19.08+**.
-- MC Firmware version **10.18.0** and higher.
-- Supported architectures: **arm64 LE**.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst
index 7ac3963938..4eed661c8e 100644
--- a/doc/guides/rawdevs/dpaa2_cmdif.rst
+++ b/doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -31,12 +31,6 @@ Prerequisites
See :doc:`../platform/dpaa2` for setup information
-Currently supported by DPDK:
-
-- NXP SDK **19.09+**.
-- MC Firmware version **10.18.0** and higher.
-- Supported architectures: **arm64 LE**.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/rawdevs/dpaa2_qdma.rst b/doc/guides/rawdevs/dpaa2_qdma.rst
index 92921fafdd..1b619ea1e1 100644
--- a/doc/guides/rawdevs/dpaa2_qdma.rst
+++ b/doc/guides/rawdevs/dpaa2_qdma.rst
@@ -35,12 +35,6 @@ Prerequisites
See :doc:`../platform/dpaa2` for setup information
-Currently supported by DPDK:
-
-- NXP SDK **19.09+**.
-- MC Firmware version **10.18.0** and higher.
-- Supported architectures: **arm64 LE**.
-
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
.. note::
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
` (6 preceding siblings ...)
2021-07-19 13:59 ` [dpdk-dev] [PATCH 7/7] doc: remove SDK info form individual dev guides Hemant Agrawal
@ 2021-07-23 18:34 ` Thomas Monjalon
7 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2021-07-23 18:34 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dev, ferruh.yigit
19/07/2021 15:59, Hemant Agrawal:
> This series add few minor fixes and enhancements for
> the NXP DPAAx drivers.
>
> Hemant Agrawal (3):
> bus/dpaa: fix to use right type of memory free
> bus/dpaa: reduce syscall usages
> doc: remove SDK info form individual dev guides
>
> Nipun Gupta (2):
> net/dpaa: fix headroom in VSP case
> net/dpaa2: add per thread init PMD API
>
> Rohit Raj (1):
> net/dpaa: add check for parsing default Rx queue
>
> Vanshika Shukla (1):
> net/dpaa2: add input validation
Applied, thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API
2021-07-19 13:59 ` [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API Hemant Agrawal
@ 2021-09-09 7:09 ` Hemant Agrawal
0 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2021-09-09 7:09 UTC (permalink / raw)
To: dev
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-09-09 7:09 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-19 13:59 [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 1/7] bus/dpaa: fix to use right type of memory free Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 2/7] net/dpaa: fix headroom in VSP case Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 3/7] bus/dpaa: reduce syscall usages Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 4/7] net/dpaa: add check for parsing default Rx queue Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 5/7] net/dpaa2: add per thread init PMD API Hemant Agrawal
2021-09-09 7:09 ` Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 6/7] net/dpaa2: add input validation Hemant Agrawal
2021-07-19 13:59 ` [dpdk-dev] [PATCH 7/7] doc: remove SDK info form individual dev guides Hemant Agrawal
2021-07-23 18:34 ` [dpdk-dev] [PATCH 0/7] NXP DPAAx fixes and improvements Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).