[dpdk-dev,v3,02/11] eventdev: add API to perform self test
Checks
Commit Message
Add API to perform self test on the underlying event device driver.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
---
lib/librte_eventdev/rte_eventdev.c | 10 ++++++++++
lib/librte_eventdev/rte_eventdev.h | 12 ++++++++++++
lib/librte_eventdev/rte_eventdev_pmd.h | 11 +++++++++++
lib/librte_eventdev/rte_eventdev_version.map | 6 ++++++
4 files changed, 39 insertions(+)
Comments
-----Original Message-----
> Date: Tue, 26 Dec 2017 00:47:29 +0530
> From: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> To: jerin.jacob@caviumnetworks.com, harry.van.haaren@intel.com,
> gage.eads@intel.com, liang.j.ma@intel.com
> Cc: dev@dpdk.org, Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH v3 02/11] eventdev: add API to perform self test
> X-Mailer: git-send-email 2.14.1
>
> Add API to perform self test on the underlying event device driver.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
> ---
> + * Start eventdev selftest.
> + *
> + * @return
> + * Return 0 on success.
> + */
> +typedef int (*eventdev_selftest)
> + (void);
I think, The (void) need not to be in a separate line.
With above change:
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Hi Jerin,
Thanks for the review, will send out a v4 addressing the comments.
On Mon, Jan 08, 2018 at 03:26:23PM +0530, Jerin Jacob wrote:
> -----Original Message-----
> > Date: Tue, 26 Dec 2017 00:47:29 +0530
> > From: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > To: jerin.jacob@caviumnetworks.com, harry.van.haaren@intel.com,
> > gage.eads@intel.com, liang.j.ma@intel.com
> > Cc: dev@dpdk.org, Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > Subject: [dpdk-dev] [PATCH v3 02/11] eventdev: add API to perform self test
> > X-Mailer: git-send-email 2.14.1
> >
> > Add API to perform self test on the underlying event device driver.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
> > ---
> > + * Start eventdev selftest.
> > + *
> > + * @return
> > + * Return 0 on success.
> > + */
> > +typedef int (*eventdev_selftest)
> > + (void);
>
> I think, The (void) need not to be in a separate line.
>
> With above change:
> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
@@ -1114,6 +1114,16 @@ int rte_event_dev_xstats_reset(uint8_t dev_id,
return -ENOTSUP;
}
+int rte_event_dev_selftest(uint8_t dev_id)
+{
+ RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
+ struct rte_eventdev *dev = &rte_eventdevs[dev_id];
+
+ if (dev->dev_ops->dev_selftest != NULL)
+ return (*dev->dev_ops->dev_selftest)();
+ return -ENOTSUP;
+}
+
int
rte_event_dev_start(uint8_t dev_id)
{
@@ -1787,6 +1787,18 @@ rte_event_dev_xstats_reset(uint8_t dev_id,
const uint32_t ids[],
uint32_t nb_ids);
+/**
+ * Trigger the eventdev self test.
+ *
+ * @param dev_id
+ * The identifier of the device
+ * @return
+ * - 0: Selftest successful
+ * - -ENOTSUP if the device doesn't support selftest
+ * - other values < 0 on failure.
+ */
+int rte_event_dev_selftest(uint8_t dev_id);
+
#ifdef __cplusplus
}
#endif
@@ -603,6 +603,14 @@ typedef int (*eventdev_eth_rx_adapter_stats_get)
typedef int (*eventdev_eth_rx_adapter_stats_reset)
(const struct rte_eventdev *dev,
const struct rte_eth_dev *eth_dev);
+/**
+ * Start eventdev selftest.
+ *
+ * @return
+ * Return 0 on success.
+ */
+typedef int (*eventdev_selftest)
+ (void);
/** Event device operations function pointer table */
struct rte_eventdev_ops {
@@ -658,6 +666,9 @@ struct rte_eventdev_ops {
/**< Get ethernet Rx stats */
eventdev_eth_rx_adapter_stats_reset eth_rx_adapter_stats_reset;
/**< Reset ethernet Rx stats */
+
+ eventdev_selftest dev_selftest;
+ /**< Start eventdev Selftest */
};
/**
@@ -68,3 +68,9 @@ DPDK_17.11 {
rte_event_eth_rx_adapter_stop;
} DPDK_17.08;
+
+DPDK_18.02 {
+ global:
+
+ rte_event_dev_selftest;
+} DPDK_17.11;