]> git.droids-corp.org - dpdk.git/commitdiff
bus/fslmc: support scanning and probing of QDMA devices
authorNipun Gupta <nipun.gupta@nxp.com>
Thu, 3 May 2018 16:06:05 +0000 (21:36 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 8 May 2018 10:20:53 +0000 (12:20 +0200)
'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>
drivers/bus/fslmc/fslmc_bus.c
drivers/bus/fslmc/fslmc_vfio.c
drivers/bus/fslmc/rte_fslmc.h

index 943c01b2874d84348ab2021f05f257a1eda9adb4..fde5f19f5912bb94a2948c673d9116f397949e2a 100644 (file)
@@ -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;
 
index 749d92dc3fc918dac4c956f9ff97533686840bfc..3800c269887344b698757d81297f2d122ce922a9 100644 (file)
@@ -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",
index 69d0fec761ecccfc91417084408a83cb257b5ea0..7b34368d8b8b6c8f0810f3d2329d00f3a495b34e 100644 (file)
@@ -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 */