947078c052aa1f1c8f63b4f770a0a39bf6ebf815
[dpdk.git] / drivers / mempool / cnxk / cnxk_mempool.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #include <rte_atomic.h>
6 #include <rte_bus_pci.h>
7 #include <rte_common.h>
8 #include <rte_devargs.h>
9 #include <rte_eal.h>
10 #include <rte_io.h>
11 #include <rte_kvargs.h>
12 #include <rte_malloc.h>
13 #include <rte_mbuf_pool_ops.h>
14 #include <rte_pci.h>
15
16 #include "roc_api.h"
17
18 static int
19 npa_remove(struct rte_pci_device *pci_dev)
20 {
21         RTE_SET_USED(pci_dev);
22
23         return 0;
24 }
25
26 static int
27 npa_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
28 {
29         RTE_SET_USED(pci_drv);
30         RTE_SET_USED(pci_dev);
31
32         return 0;
33 }
34
35 static const struct rte_pci_id npa_pci_map[] = {
36         {
37                 .class_id = RTE_CLASS_ANY_ID,
38                 .vendor_id = PCI_VENDOR_ID_CAVIUM,
39                 .device_id = PCI_DEVID_CNXK_RVU_NPA_PF,
40                 .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM,
41                 .subsystem_device_id = PCI_SUBSYSTEM_DEVID_CN10KA,
42         },
43         {
44                 .class_id = RTE_CLASS_ANY_ID,
45                 .vendor_id = PCI_VENDOR_ID_CAVIUM,
46                 .device_id = PCI_DEVID_CNXK_RVU_NPA_PF,
47                 .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM,
48                 .subsystem_device_id = PCI_SUBSYSTEM_DEVID_CN10KAS,
49         },
50         {
51                 .class_id = RTE_CLASS_ANY_ID,
52                 .vendor_id = PCI_VENDOR_ID_CAVIUM,
53                 .device_id = PCI_DEVID_CNXK_RVU_NPA_VF,
54                 .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM,
55                 .subsystem_device_id = PCI_SUBSYSTEM_DEVID_CN10KA,
56         },
57         {
58                 .class_id = RTE_CLASS_ANY_ID,
59                 .vendor_id = PCI_VENDOR_ID_CAVIUM,
60                 .device_id = PCI_DEVID_CNXK_RVU_NPA_VF,
61                 .subsystem_vendor_id = PCI_VENDOR_ID_CAVIUM,
62                 .subsystem_device_id = PCI_SUBSYSTEM_DEVID_CN10KAS,
63         },
64         {
65                 .vendor_id = 0,
66         },
67 };
68
69 static struct rte_pci_driver npa_pci = {
70         .id_table = npa_pci_map,
71         .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_NEED_IOVA_AS_VA,
72         .probe = npa_probe,
73         .remove = npa_remove,
74 };
75
76 RTE_PMD_REGISTER_PCI(mempool_cnxk, npa_pci);
77 RTE_PMD_REGISTER_PCI_TABLE(mempool_cnxk, npa_pci_map);
78 RTE_PMD_REGISTER_KMOD_DEP(mempool_cnxk, "vfio-pci");