[dpdk-dev] [PATCH v6 5/7] raw/dpaa2_cmdif: add attribute get functionality

Nipun Gupta nipun.gupta at nxp.com
Fri May 4 12:11:27 CEST 2018


Signed-off-by: Nipun Gupta <nipun.gupta at nxp.com>
---
 drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
index 789fe36..c16bb12 100644
--- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
+++ b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
@@ -28,7 +28,33 @@
 /* CMDIF driver object */
 static struct rte_vdev_driver dpaa2_cmdif_drv;
 
-static const struct rte_rawdev_ops dpaa2_cmdif_ops;
+/*
+ * This API provides the DPCI device ID in 'attr_value'.
+ * The device ID shall be passed by GPP to the AIOP using CMDIF commands.
+ */
+static int
+dpaa2_cmdif_get_attr(struct rte_rawdev *dev,
+		     const char *attr_name,
+		     uint64_t *attr_value)
+{
+	struct dpaa2_dpci_dev *cidev = dev->dev_private;
+
+	DPAA2_CMDIF_FUNC_TRACE();
+
+	RTE_SET_USED(attr_name);
+
+	if (!attr_value) {
+		DPAA2_CMDIF_ERR("Invalid arguments for getting attributes");
+		return -EINVAL;
+	}
+	*attr_value = cidev->dpci_id;
+
+	return 0;
+}
+
+static const struct rte_rawdev_ops dpaa2_cmdif_ops = {
+	.attr_get = dpaa2_cmdif_get_attr,
+};
 
 static int
 dpaa2_cmdif_create(const char *name,
-- 
1.9.1



More information about the dev mailing list