summaryrefslogtreecommitdiff
path: root/drivers/bus/fslmc
diff options
context:
space:
mode:
authorNipun Gupta <nipun.gupta@nxp.com>2018-05-03 21:36:05 +0530
committerThomas Monjalon <thomas@monjalon.net>2018-05-08 12:20:53 +0200
commit51db78c2d57fed250267c9a302f07af3d5143fe0 (patch)
tree53fa1b3fb5b6f848da99d5cdc1ea643b21a5cb07 /drivers/bus/fslmc
parent23e8fcb0186ce24b6876c68bbd64362dba7f12de (diff)
downloaddpdk-51db78c2d57fed250267c9a302f07af3d5143fe0.zip
dpdk-51db78c2d57fed250267c9a302f07af3d5143fe0.tar.gz
dpdk-51db78c2d57fed250267c9a302f07af3d5143fe0.tar.xz
bus/fslmc: support scanning and probing of QDMA devices
'dpdmai' devices detected on fsl-mc bus are represented by DPAA2 QDMA devices in DPDK. Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Diffstat (limited to 'drivers/bus/fslmc')
-rw-r--r--drivers/bus/fslmc/fslmc_bus.c2
-rw-r--r--drivers/bus/fslmc/fslmc_vfio.c1
-rw-r--r--drivers/bus/fslmc/rte_fslmc.h2
3 files changed, 5 insertions, 0 deletions
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index 943c01b..fde5f19 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -164,6 +164,8 @@ scan_one_fslmc_device(char *dev_name)
dev->dev_type = DPAA2_CI;
else if (!strncmp("dpmcp", t_ptr, 5))
dev->dev_type = DPAA2_MPORTAL;
+ else if (!strncmp("dpdmai", t_ptr, 6))
+ dev->dev_type = DPAA2_QDMA;
else
dev->dev_type = DPAA2_UNKNOWN;
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index 749d92d..3800c26 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -661,6 +661,7 @@ fslmc_vfio_process_group(void)
switch (dev->dev_type) {
case DPAA2_ETH:
case DPAA2_CRYPTO:
+ case DPAA2_QDMA:
ret = fslmc_process_iodevices(dev);
if (ret) {
DPAA2_BUS_DEBUG("Dev (%s) init failed",
diff --git a/drivers/bus/fslmc/rte_fslmc.h b/drivers/bus/fslmc/rte_fslmc.h
index 69d0fec..7b34368 100644
--- a/drivers/bus/fslmc/rte_fslmc.h
+++ b/drivers/bus/fslmc/rte_fslmc.h
@@ -61,6 +61,7 @@ enum rte_dpaa2_dev_type {
DPAA2_IO, /**< DPIO type device */
DPAA2_CI, /**< DPCI type device */
DPAA2_MPORTAL, /**< DPMCP type device */
+ DPAA2_QDMA, /**< DPDMAI type device */
/* Unknown device placeholder */
DPAA2_UNKNOWN,
DPAA2_DEVTYPE_MAX,
@@ -91,6 +92,7 @@ struct rte_dpaa2_device {
union {
struct rte_eth_dev *eth_dev; /**< ethernet device */
struct rte_cryptodev *cryptodev; /**< Crypto Device */
+ struct rte_rawdev *rawdev; /**< Raw Device */
};
enum rte_dpaa2_dev_type dev_type; /**< Device Type */
uint16_t object_id; /**< DPAA2 Object ID */