test/telemetry: fix typo at beginning of line
[dpdk.git] / lib / librte_rawdev / rte_rawdev_pmd.h
index 811e51d..34dd718 100644 (file)
@@ -11,9 +11,6 @@
  * @note
  * Driver facing APIs for a raw device. These are not to be called directly by
  * any application.
- *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
  */
 
 #ifdef __cplusplus
@@ -141,12 +138,15 @@ rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
  *   Raw device pointer
  * @param dev_info
  *   Raw device information structure
+ * @param dev_private_size
+ *   The size of the structure pointed to by dev_info->dev_private
  *
  * @return
- *   Returns 0 on success
+ *   Returns 0 on success, negative error code on failure
  */
-typedef void (*rawdev_info_get_t)(struct rte_rawdev *dev,
-                                 rte_rawdev_obj_t dev_info);
+typedef int (*rawdev_info_get_t)(struct rte_rawdev *dev,
+                                 rte_rawdev_obj_t dev_info,
+                                 size_t dev_private_size);
 
 /**
  * Configure a device.
@@ -160,7 +160,8 @@ typedef void (*rawdev_info_get_t)(struct rte_rawdev *dev,
  *   Returns 0 on success
  */
 typedef int (*rawdev_configure_t)(const struct rte_rawdev *dev,
-                                 rte_rawdev_obj_t config);
+                                 rte_rawdev_obj_t config,
+                                 size_t config_size);
 
 /**
  * Start a configured device.
@@ -214,10 +215,13 @@ typedef int (*rawdev_reset_t)(struct rte_rawdev *dev);
  * @param[out] queue_conf
  *   Raw device queue configuration structure
  *
+ * @return
+ *   Returns 0 on success, negative errno on failure
  */
-typedef void (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
+typedef int (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
                                        uint16_t queue_id,
-                                       rte_rawdev_obj_t queue_conf);
+                                       rte_rawdev_obj_t queue_conf,
+                                       size_t queue_conf_size);
 
 /**
  * Setup an raw queue.
@@ -234,7 +238,8 @@ typedef void (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
  */
 typedef int (*rawdev_queue_setup_t)(struct rte_rawdev *dev,
                                    uint16_t queue_id,
-                                   rte_rawdev_obj_t queue_conf);
+                                   rte_rawdev_obj_t queue_conf,
+                                   size_t queue_conf_size);
 
 /**
  * Release resources allocated by given raw queue.
@@ -282,7 +287,7 @@ typedef uint16_t (*rawdev_queue_count_t)(struct rte_rawdev *dev);
  *   an opaque object representing context of the call; for example, an
  *   application can pass information about the queues on which enqueue needs
  *   to be done. Or, the enqueue operation might be passed reference to an
- *   object containing a callback (agreed upon between applicatio and driver).
+ *   object containing a callback (agreed upon between application and driver).
  *
  * @return
  *   >=0 Count of buffers successfully enqueued (0: no buffers enqueued)
@@ -463,7 +468,7 @@ typedef int (*rawdev_firmware_version_get_t)(struct rte_rawdev *dev,
                                             rte_rawdev_obj_t version_info);
 
 /**
- * Load firwmare from a buffer (DMA'able)
+ * Load firmware from a buffer (DMA'able)
  *
  * @param dev
  *   Raw device pointer
@@ -480,7 +485,7 @@ typedef int (*rawdev_firmware_load_t)(struct rte_rawdev *dev,
                                      rte_rawdev_obj_t firmware_buf);
 
 /**
- * Unload firwmare
+ * Unload firmware
  *
  * @param dev
  *   Raw device pointer
@@ -499,7 +504,7 @@ typedef int (*rawdev_firmware_unload_t)(struct rte_rawdev *dev);
  * @return
  *   Return 0 on success
  */
-typedef int (*rawdev_selftest_t)(void);
+typedef int (*rawdev_selftest_t)(uint16_t dev_id);
 
 /** Rawdevice operations function pointer table */
 struct rte_rawdev_ops {
@@ -548,7 +553,7 @@ struct rte_rawdev_ops {
        /**< Reset the statistics values in xstats. */
        rawdev_xstats_reset_t xstats_reset;
 
-       /**< Obtainer firmware status */
+       /**< Obtain firmware status */
        rawdev_firmware_status_get_t firmware_status_get;
        /**< Obtain firmware version information */
        rawdev_firmware_version_get_t firmware_version_get;
@@ -568,7 +573,9 @@ struct rte_rawdev_ops {
  * @param name
  *   Unique identifier name for each device
  * @param dev_private_size
- *   Private data allocated within rte_rawdev object.
+ *   Size of private data memory allocated within rte_rawdev object.
+ *   Set to 0 to disable internal memory allocation and allow for
+ *   self-allocation.
  * @param socket_id
  *   Socket to allocate resources on.
  * @return