git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
crypto/mlx5: add keytag configuration
[dpdk.git]
/
drivers
/
raw
/
skeleton
/
skeleton_rawdev.c
diff --git
a/drivers/raw/skeleton/skeleton_rawdev.c
b/drivers/raw/skeleton/skeleton_rawdev.c
index
72ece88
..
16ecae3
100644
(file)
--- a/
drivers/raw/skeleton/skeleton_rawdev.c
+++ b/
drivers/raw/skeleton/skeleton_rawdev.c
@@
-41,17
+41,18
@@
struct queue_buffers {
static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {};
static void clear_queue_bufs(int queue_id);
static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {};
static void clear_queue_bufs(int queue_id);
-static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
- rte_rawdev_obj_t dev_info)
+static int skeleton_rawdev_info_get(struct rte_rawdev *dev,
+ rte_rawdev_obj_t dev_info,
+ size_t dev_info_size)
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_conf *skeldev_conf;
SKELETON_PMD_FUNC_TRACE();
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_conf *skeldev_conf;
SKELETON_PMD_FUNC_TRACE();
- if (!dev_info) {
+ if (!dev_info
|| dev_info_size != sizeof(*skeldev_conf)
) {
SKELETON_PMD_ERR("Invalid request");
SKELETON_PMD_ERR("Invalid request");
- return;
+ return
-EINVAL
;
}
skeldev = skeleton_rawdev_get_priv(dev);
}
skeldev = skeleton_rawdev_get_priv(dev);
@@
-62,10
+63,13
@@
static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
skeldev_conf->capabilities = skeldev->capabilities;
skeldev_conf->device_state = skeldev->device_state;
skeldev_conf->firmware_state = skeldev->fw.firmware_state;
skeldev_conf->capabilities = skeldev->capabilities;
skeldev_conf->device_state = skeldev->device_state;
skeldev_conf->firmware_state = skeldev->fw.firmware_state;
+
+ return 0;
}
static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
}
static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
- rte_rawdev_obj_t config)
+ rte_rawdev_obj_t config,
+ size_t config_size)
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_conf *skeldev_conf;
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_conf *skeldev_conf;
@@
-74,7
+78,7
@@
static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL);
RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL);
- if (
!config
) {
+ if (
config == NULL || config_size != sizeof(*skeldev_conf)
) {
SKELETON_PMD_ERR("Invalid configuration");
return -EINVAL;
}
SKELETON_PMD_ERR("Invalid configuration");
return -EINVAL;
}
@@
-186,9
+190,11
@@
static int skeleton_rawdev_close(struct rte_rawdev *dev)
}
break;
case SKELETON_FW_READY:
}
break;
case SKELETON_FW_READY:
+ SKELETON_PMD_DEBUG("Device already in stopped state");
+ break;
case SKELETON_FW_ERROR:
default:
case SKELETON_FW_ERROR:
default:
- SKELETON_PMD_DEBUG("Device
already in stopped
state");
+ SKELETON_PMD_DEBUG("Device
in impossible
state");
ret = -EINVAL;
break;
}
ret = -EINVAL;
break;
}
@@
-216,17
+222,19
@@
static int skeleton_rawdev_reset(struct rte_rawdev *dev)
return 0;
}
return 0;
}
-static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
- uint16_t queue_id,
- rte_rawdev_obj_t queue_conf)
+static int skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
+ uint16_t queue_id,
+ rte_rawdev_obj_t queue_conf,
+ size_t conf_size)
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_queue *skelq;
SKELETON_PMD_FUNC_TRACE();
{
struct skeleton_rawdev *skeldev;
struct skeleton_rawdev_queue *skelq;
SKELETON_PMD_FUNC_TRACE();
- if (!dev || !queue_conf)
- return;
+ if (!dev || !queue_conf ||
+ conf_size != sizeof(struct skeleton_rawdev_queue))
+ return -EINVAL;
skeldev = skeleton_rawdev_get_priv(dev);
skelq = &skeldev->queues[queue_id];
skeldev = skeleton_rawdev_get_priv(dev);
skelq = &skeldev->queues[queue_id];
@@
-234,6
+242,8
@@
static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
if (queue_id < SKELETON_MAX_QUEUES)
rte_memcpy(queue_conf, skelq,
sizeof(struct skeleton_rawdev_queue));
if (queue_id < SKELETON_MAX_QUEUES)
rte_memcpy(queue_conf, skelq,
sizeof(struct skeleton_rawdev_queue));
+
+ return 0;
}
static void
}
static void
@@
-248,7
+258,8
@@
clear_queue_bufs(int queue_id)
static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
uint16_t queue_id,
static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
uint16_t queue_id,
- rte_rawdev_obj_t queue_conf)
+ rte_rawdev_obj_t queue_conf,
+ size_t conf_size)
{
int ret = 0;
struct skeleton_rawdev *skeldev;
{
int ret = 0;
struct skeleton_rawdev *skeldev;
@@
-256,7
+267,8
@@
static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
SKELETON_PMD_FUNC_TRACE();
SKELETON_PMD_FUNC_TRACE();
- if (!dev || !queue_conf)
+ if (!dev || !queue_conf ||
+ conf_size != sizeof(struct skeleton_rawdev_queue))
return -EINVAL;
skeldev = skeleton_rawdev_get_priv(dev);
return -EINVAL;
skeldev = skeleton_rawdev_get_priv(dev);
@@
-756,4
+768,4
@@
static struct rte_vdev_driver skeleton_pmd_drv = {
};
RTE_PMD_REGISTER_VDEV(SKELETON_PMD_RAWDEV_NAME, skeleton_pmd_drv);
};
RTE_PMD_REGISTER_VDEV(SKELETON_PMD_RAWDEV_NAME, skeleton_pmd_drv);
-RTE_LOG_REGISTER
(skeleton_pmd_logtype, rawdev.skeleton
, INFO);
+RTE_LOG_REGISTER
_DEFAULT(skeleton_pmd_logtype
, INFO);