crypto/cnxk: add driver skeleton
[dpdk.git] / drivers / crypto / cnxk / cn9k_cryptodev.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #include <rte_bus_pci.h>
6 #include <rte_common.h>
7 #include <rte_crypto.h>
8 #include <rte_cryptodev.h>
9 #include <rte_cryptodev_pmd.h>
10 #include <rte_dev.h>
11 #include <rte_pci.h>
12
13 #include "cn9k_cryptodev.h"
14 #include "roc_api.h"
15
16 uint8_t cn9k_cryptodev_driver_id;
17
18 static struct rte_pci_id pci_id_cpt_table[] = {
19         {
20         },
21         /* sentinel */
22         {
23                 .device_id = 0
24         },
25 };
26
27 static struct rte_pci_driver cn9k_cryptodev_pmd = {
28         .id_table = pci_id_cpt_table,
29         .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_NEED_IOVA_AS_VA,
30         .probe = NULL,
31         .remove = NULL,
32 };
33
34 static struct cryptodev_driver cn9k_cryptodev_drv;
35
36 RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_CN9K_PMD, cn9k_cryptodev_pmd);
37 RTE_PMD_REGISTER_PCI_TABLE(CRYPTODEV_NAME_CN9K_PMD, pci_id_cpt_table);
38 RTE_PMD_REGISTER_KMOD_DEP(CRYPTODEV_NAME_CN9K_PMD, "vfio-pci");
39 RTE_PMD_REGISTER_CRYPTO_DRIVER(cn9k_cryptodev_drv, cn9k_cryptodev_pmd.driver,
40                                cn9k_cryptodev_driver_id);