1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Intel Corporation
5 #include <rte_bus_vdev.h>
6 #include <rte_common.h>
7 #include <rte_malloc.h>
8 #include <rte_compressdev_pmd.h>
10 #include "isal_compress_pmd_private.h"
12 int isal_logtype_driver;
14 /* Create ISA-L compression device */
16 compdev_isal_create(const char *name, struct rte_vdev_device *vdev,
17 struct rte_compressdev_pmd_init_params *init_params)
19 struct rte_compressdev *dev;
21 dev = rte_compressdev_pmd_create(name, &vdev->device,
22 sizeof(struct isal_comp_private), init_params);
24 ISAL_PMD_LOG(ERR, "failed to create compressdev vdev");
28 dev->dev_ops = isal_compress_pmd_ops;
33 /** Remove compression device */
35 compdev_isal_remove_dev(struct rte_vdev_device *vdev)
37 struct rte_compressdev *compdev;
40 name = rte_vdev_device_name(vdev);
44 compdev = rte_compressdev_pmd_get_named_dev(name);
48 return rte_compressdev_pmd_destroy(compdev);
51 /** Initialise ISA-L compression device */
53 compdev_isal_probe(struct rte_vdev_device *dev)
55 struct rte_compressdev_pmd_init_params init_params = {
59 const char *name, *args;
62 name = rte_vdev_device_name(dev);
66 args = rte_vdev_device_args(dev);
68 retval = rte_compressdev_pmd_parse_input_args(&init_params, args);
71 "Failed to parse initialisation arguments[%s]\n", args);
75 return compdev_isal_create(name, dev, &init_params);
78 static struct rte_vdev_driver compdev_isal_pmd_drv = {
79 .probe = compdev_isal_probe,
80 .remove = compdev_isal_remove_dev,
83 RTE_PMD_REGISTER_VDEV(COMPDEV_NAME_ISAL_PMD, compdev_isal_pmd_drv);
84 RTE_PMD_REGISTER_PARAM_STRING(COMPDEV_NAME_ISAL_PMD,
87 RTE_INIT(isal_init_log);
92 isal_logtype_driver = rte_log_register("comp_isal");
93 if (isal_logtype_driver >= 0)
94 rte_log_set_level(isal_logtype_driver, RTE_LOG_INFO);