@@ -6,7 +6,7 @@
#include <rte_ethdev.h>
#include <ethdev_driver.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_malloc.h>
#include <rte_memcpy.h>
#include <rte_memory.h>
@@ -112,6 +112,8 @@ ABI Changes
Also, make sure to start the actual text at the margin.
=======================================================
+* pci: Removed all ABIs defined in rte_bus_pci.h except the function
+ ``rte_pci_dump()``.
Known Issues
------------
@@ -14,7 +14,7 @@
#include <rte_branch_prediction.h>
#include <rte_hexdump.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#ifdef RTE_BBDEV_OFFLOAD_COST
#include <rte_cycles.h>
#endif
@@ -11,7 +11,7 @@
#include <rte_mempool.h>
#include <rte_errno.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_byteorder.h>
#ifdef RTE_BBDEV_OFFLOAD_COST
#include <rte_cycles.h>
@@ -11,7 +11,7 @@
#include <rte_mempool.h>
#include <rte_errno.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_byteorder.h>
#ifdef RTE_BBDEV_OFFLOAD_COST
#include <rte_cycles.h>
@@ -28,7 +28,6 @@
#include <rte_interrupts.h>
#include <rte_log.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
#include <rte_common.h>
#include <rte_launch.h>
#include <rte_memory.h>
@@ -8,7 +8,6 @@
#include <rte_log.h>
#include <rte_bus.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
#include <rte_malloc.h>
#include <rte_devargs.h>
#include <rte_memcpy.h>
@@ -19,7 +19,6 @@
#include <rte_string_fns.h>
#include <rte_log.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
#include <rte_common.h>
#include <rte_malloc.h>
@@ -13,7 +13,6 @@
#include <rte_log.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
#include <rte_eal_paging.h>
#include <rte_malloc.h>
#include <rte_vfio.h>
@@ -29,4 +29,8 @@ if is_windows
includes += include_directories('windows')
endif
+driver_sdk_headers += files(
+ 'pci_driver.h',
+)
+
deps += ['kvargs']
@@ -11,7 +11,6 @@
#include <rte_eal.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
#include <rte_tailq.h>
#include <rte_log.h>
#include <rte_malloc.h>
new file mode 100644
@@ -0,0 +1,402 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2015 Intel Corporation.
+ * Copyright 2013-2014 6WIND S.A.
+ */
+
+#ifndef _PCI_DRIVER_H_
+#define _PCI_DRIVER_H_
+
+/**
+ * @file
+ * PCI device & driver interface
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <errno.h>
+#include <sys/queue.h>
+#include <stdint.h>
+#include <inttypes.h>
+
+#include <rte_debug.h>
+#include <rte_interrupts.h>
+#include <rte_dev.h>
+#include <rte_bus.h>
+#include <rte_pci.h>
+
+/** Pathname of PCI devices directory. */
+__rte_internal
+const char *rte_pci_get_sysfs_path(void);
+
+/* Forward declarations */
+struct rte_pci_device;
+struct rte_pci_driver;
+
+/** List of PCI devices */
+TAILQ_HEAD(rte_pci_device_list, rte_pci_device);
+/** List of PCI drivers */
+TAILQ_HEAD(rte_pci_driver_list, rte_pci_driver);
+
+/* PCI Bus iterators */
+#define FOREACH_DEVICE_ON_PCIBUS(p) \
+ TAILQ_FOREACH(p, &(rte_pci_bus.device_list), next)
+
+#define FOREACH_DRIVER_ON_PCIBUS(p) \
+ TAILQ_FOREACH(p, &(rte_pci_bus.driver_list), next)
+
+struct rte_devargs;
+
+enum rte_pci_kernel_driver {
+ RTE_PCI_KDRV_UNKNOWN = 0, /* may be misc UIO or bifurcated driver */
+ RTE_PCI_KDRV_IGB_UIO, /* igb_uio for Linux */
+ RTE_PCI_KDRV_VFIO, /* VFIO for Linux */
+ RTE_PCI_KDRV_UIO_GENERIC, /* uio_pci_generic for Linux */
+ RTE_PCI_KDRV_NIC_UIO, /* nic_uio for FreeBSD */
+ RTE_PCI_KDRV_NONE, /* no attached driver */
+ RTE_PCI_KDRV_NET_UIO, /* NetUIO for Windows */
+};
+
+/**
+ * A structure describing a PCI device.
+ */
+struct rte_pci_device {
+ TAILQ_ENTRY(rte_pci_device) next; /**< Next probed PCI device. */
+ struct rte_device device; /**< Inherit core device */
+ struct rte_pci_addr addr; /**< PCI location. */
+ struct rte_pci_id id; /**< PCI ID. */
+ struct rte_mem_resource mem_resource[PCI_MAX_RESOURCE];
+ /**< PCI Memory Resource */
+ struct rte_intr_handle intr_handle; /**< Interrupt handle */
+ struct rte_pci_driver *driver; /**< PCI driver used in probing */
+ uint16_t max_vfs; /**< sriov enable if not zero */
+ enum rte_pci_kernel_driver kdrv; /**< Kernel driver passthrough */
+ char name[PCI_PRI_STR_SIZE+1]; /**< PCI location (ASCII) */
+ struct rte_intr_handle vfio_req_intr_handle;
+ /**< Handler of VFIO request interrupt */
+};
+
+/**
+ * @internal
+ * Helper macro for drivers that need to convert to struct rte_pci_device.
+ */
+#define RTE_DEV_TO_PCI(ptr) container_of(ptr, struct rte_pci_device, device)
+
+#define RTE_DEV_TO_PCI_CONST(ptr) \
+ container_of(ptr, const struct rte_pci_device, device)
+
+#define RTE_ETH_DEV_TO_PCI(eth_dev) RTE_DEV_TO_PCI((eth_dev)->device)
+
+#ifdef __cplusplus
+/** C++ macro used to help building up tables of device IDs */
+#define RTE_PCI_DEVICE(vend, dev) \
+ RTE_CLASS_ANY_ID, \
+ (vend), \
+ (dev), \
+ RTE_PCI_ANY_ID, \
+ RTE_PCI_ANY_ID
+#else
+/** Macro used to help building up tables of device IDs */
+#define RTE_PCI_DEVICE(vend, dev) \
+ .class_id = RTE_CLASS_ANY_ID, \
+ .vendor_id = (vend), \
+ .device_id = (dev), \
+ .subsystem_vendor_id = RTE_PCI_ANY_ID, \
+ .subsystem_device_id = RTE_PCI_ANY_ID
+#endif
+
+/**
+ * Initialisation function for the driver called during PCI probing.
+ */
+typedef int (rte_pci_probe_t)(struct rte_pci_driver *, struct rte_pci_device *);
+
+/**
+ * Uninitialisation function for the driver called during hotplugging.
+ */
+typedef int (rte_pci_remove_t)(struct rte_pci_device *);
+
+/**
+ * Driver-specific DMA mapping. After a successful call the device
+ * will be able to read/write from/to this segment.
+ *
+ * @param dev
+ * Pointer to the PCI device.
+ * @param addr
+ * Starting virtual address of memory to be mapped.
+ * @param iova
+ * Starting IOVA address of memory to be mapped.
+ * @param len
+ * Length of memory segment being mapped.
+ * @return
+ * - 0 On success.
+ * - Negative value and rte_errno is set otherwise.
+ */
+typedef int (pci_dma_map_t)(struct rte_pci_device *dev, void *addr,
+ uint64_t iova, size_t len);
+
+/**
+ * Driver-specific DMA un-mapping. After a successful call the device
+ * will not be able to read/write from/to this segment.
+ *
+ * @param dev
+ * Pointer to the PCI device.
+ * @param addr
+ * Starting virtual address of memory to be unmapped.
+ * @param iova
+ * Starting IOVA address of memory to be unmapped.
+ * @param len
+ * Length of memory segment being unmapped.
+ * @return
+ * - 0 On success.
+ * - Negative value and rte_errno is set otherwise.
+ */
+typedef int (pci_dma_unmap_t)(struct rte_pci_device *dev, void *addr,
+ uint64_t iova, size_t len);
+
+/**
+ * A structure describing a PCI driver.
+ */
+struct rte_pci_driver {
+ TAILQ_ENTRY(rte_pci_driver) next; /**< Next in list. */
+ struct rte_driver driver; /**< Inherit core driver. */
+ struct rte_pci_bus *bus; /**< PCI bus reference. */
+ rte_pci_probe_t *probe; /**< Device probe function. */
+ rte_pci_remove_t *remove; /**< Device remove function. */
+ pci_dma_map_t *dma_map; /**< device dma map function. */
+ pci_dma_unmap_t *dma_unmap; /**< device dma unmap function. */
+ const struct rte_pci_id *id_table; /**< ID table, NULL terminated. */
+ uint32_t drv_flags; /**< Flags RTE_PCI_DRV_*. */
+};
+
+/**
+ * Structure describing the PCI bus
+ */
+struct rte_pci_bus {
+ struct rte_bus bus; /**< Inherit the generic class */
+ struct rte_pci_device_list device_list; /**< List of PCI devices */
+ struct rte_pci_driver_list driver_list; /**< List of PCI drivers */
+};
+
+/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */
+#define RTE_PCI_DRV_NEED_MAPPING 0x0001
+/** Device needs PCI BAR mapping with enabled write combining (wc) */
+#define RTE_PCI_DRV_WC_ACTIVATE 0x0002
+/** Device already probed can be probed again to check for new ports. */
+#define RTE_PCI_DRV_PROBE_AGAIN 0x0004
+/** Device driver supports link state interrupt */
+#define RTE_PCI_DRV_INTR_LSC 0x0008
+/** Device driver supports device removal interrupt */
+#define RTE_PCI_DRV_INTR_RMV 0x0010
+/** Device driver needs to keep mapped resources if unsupported dev detected */
+#define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020
+/** Device driver needs IOVA as VA and cannot work with IOVA as PA */
+#define RTE_PCI_DRV_NEED_IOVA_AS_VA 0x0040
+
+/**
+ * Map the PCI device resources in user space virtual memory address
+ *
+ * Note that driver should not call this function when flag
+ * RTE_PCI_DRV_NEED_MAPPING is set, as EAL will do that for
+ * you when it's on.
+ *
+ * @param dev
+ * A pointer to a rte_pci_device structure describing the device
+ * to use
+ *
+ * @return
+ * 0 on success, negative on error and positive if no driver
+ * is found for the device.
+ */
+__rte_internal
+int rte_pci_map_device(struct rte_pci_device *dev);
+
+/**
+ * Unmap this device
+ *
+ * @param dev
+ * A pointer to a rte_pci_device structure describing the device
+ * to use
+ */
+__rte_internal
+void rte_pci_unmap_device(struct rte_pci_device *dev);
+
+/**
+ * Find device's extended PCI capability.
+ *
+ * @param dev
+ * A pointer to rte_pci_device structure.
+ *
+ * @param cap
+ * Extended capability to be found, which can be any from
+ * RTE_PCI_EXT_CAP_ID_*, defined in librte_pci.
+ *
+ * @return
+ * > 0: The offset of the next matching extended capability structure
+ * within the device's PCI configuration space.
+ * < 0: An error in PCI config space read.
+ * = 0: Device does not support it.
+ */
+__rte_internal
+off_t rte_pci_find_ext_capability(struct rte_pci_device *dev, uint32_t cap);
+
+/**
+ * Enables/Disables Bus Master for device's PCI command register.
+ *
+ * @param dev
+ * A pointer to rte_pci_device structure.
+ * @param enable
+ * Enable or disable Bus Master.
+ *
+ * @return
+ * 0 on success, -1 on error in PCI config space read/write.
+ */
+__rte_internal
+int rte_pci_set_bus_master(struct rte_pci_device *dev, bool enable);
+
+/**
+ * Register a PCI driver.
+ *
+ * @param driver
+ * A pointer to a rte_pci_driver structure describing the driver
+ * to be registered.
+ */
+__rte_internal
+void rte_pci_register(struct rte_pci_driver *driver);
+
+/** Helper for PCI device registration from driver (eth, crypto) instance */
+#define RTE_PMD_REGISTER_PCI(nm, pci_drv) \
+RTE_INIT(pciinitfn_ ##nm) \
+{\
+ (pci_drv).driver.name = RTE_STR(nm);\
+ rte_pci_register(&pci_drv); \
+} \
+RTE_PMD_EXPORT_NAME(nm, __COUNTER__)
+
+/**
+ * Unregister a PCI driver.
+ *
+ * @param driver
+ * A pointer to a rte_pci_driver structure describing the driver
+ * to be unregistered.
+ */
+__rte_internal
+void rte_pci_unregister(struct rte_pci_driver *driver);
+
+/**
+ * Read PCI config space.
+ *
+ * @param device
+ * A pointer to a rte_pci_device structure describing the device
+ * to use
+ * @param buf
+ * A data buffer where the bytes should be read into
+ * @param len
+ * The length of the data buffer.
+ * @param offset
+ * The offset into PCI config space
+ * @return
+ * Number of bytes read on success, negative on error.
+ */
+__rte_internal
+int rte_pci_read_config(const struct rte_pci_device *device,
+ void *buf, size_t len, off_t offset);
+
+/**
+ * Write PCI config space.
+ *
+ * @param device
+ * A pointer to a rte_pci_device structure describing the device
+ * to use
+ * @param buf
+ * A data buffer containing the bytes should be written
+ * @param len
+ * The length of the data buffer.
+ * @param offset
+ * The offset into PCI config space
+ */
+__rte_internal
+int rte_pci_write_config(const struct rte_pci_device *device,
+ const void *buf, size_t len, off_t offset);
+
+/**
+ * A structure used to access io resources for a pci device.
+ * rte_pci_ioport is arch, os, driver specific, and should not be used outside
+ * of pci ioport api.
+ */
+struct rte_pci_ioport {
+ struct rte_pci_device *dev;
+ uint64_t base;
+ uint64_t len; /* only filled for memory mapped ports */
+};
+
+/**
+ * Initialize a rte_pci_ioport object for a pci device io resource.
+ *
+ * This object is then used to gain access to those io resources (see below).
+ *
+ * @param dev
+ * A pointer to a rte_pci_device structure describing the device
+ * to use.
+ * @param bar
+ * Index of the io pci resource we want to access.
+ * @param p
+ * The rte_pci_ioport object to be initialized.
+ * @return
+ * 0 on success, negative on error.
+ */
+__rte_internal
+int rte_pci_ioport_map(struct rte_pci_device *dev, int bar,
+ struct rte_pci_ioport *p);
+
+/**
+ * Release any resources used in a rte_pci_ioport object.
+ *
+ * @param p
+ * The rte_pci_ioport object to be uninitialized.
+ * @return
+ * 0 on success, negative on error.
+ */
+__rte_internal
+int rte_pci_ioport_unmap(struct rte_pci_ioport *p);
+
+/**
+ * Read from a io pci resource.
+ *
+ * @param p
+ * The rte_pci_ioport object from which we want to read.
+ * @param data
+ * A data buffer where the bytes should be read into
+ * @param len
+ * The length of the data buffer.
+ * @param offset
+ * The offset into the pci io resource.
+ */
+__rte_internal
+void rte_pci_ioport_read(struct rte_pci_ioport *p,
+ void *data, size_t len, off_t offset);
+
+/**
+ * Write to a io pci resource.
+ *
+ * @param p
+ * The rte_pci_ioport object to which we want to write.
+ * @param data
+ * A data buffer where the bytes should be read into
+ * @param len
+ * The length of the data buffer.
+ * @param offset
+ * The offset into the pci io resource.
+ */
+__rte_internal
+void rte_pci_ioport_write(struct rte_pci_ioport *p,
+ const void *data, size_t len, off_t offset);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PCI_DRIVER_H_ */
@@ -3,7 +3,6 @@
*/
#include <rte_bus.h>
-#include <rte_bus_pci.h>
#include <rte_dev.h>
#include <rte_errno.h>
#include <rte_kvargs.h>
@@ -8,10 +8,11 @@
#include <stdbool.h>
#include <stdio.h>
-#include <rte_bus_pci.h>
#include <rte_os_shim.h>
#include <rte_pci.h>
+#include "pci_driver.h"
+
extern struct rte_pci_bus rte_pci_bus;
struct rte_pci_driver;
@@ -1,225 +1,17 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2010-2015 Intel Corporation.
- * Copyright 2013-2014 6WIND S.A.
+ * Copyright(c) 2021 Intel Corporation.
*/
#ifndef _RTE_BUS_PCI_H_
#define _RTE_BUS_PCI_H_
-/**
- * @file
- * PCI device & driver interface
- */
-
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <errno.h>
-#include <sys/queue.h>
#include <stdint.h>
-#include <inttypes.h>
-
-#include <rte_debug.h>
-#include <rte_interrupts.h>
-#include <rte_dev.h>
-#include <rte_bus.h>
-#include <rte_pci.h>
-
-/** Pathname of PCI devices directory. */
-const char *rte_pci_get_sysfs_path(void);
-
-/* Forward declarations */
-struct rte_pci_device;
-struct rte_pci_driver;
-
-/** List of PCI devices */
-TAILQ_HEAD(rte_pci_device_list, rte_pci_device);
-/** List of PCI drivers */
-TAILQ_HEAD(rte_pci_driver_list, rte_pci_driver);
-
-/* PCI Bus iterators */
-#define FOREACH_DEVICE_ON_PCIBUS(p) \
- TAILQ_FOREACH(p, &(rte_pci_bus.device_list), next)
-#define FOREACH_DRIVER_ON_PCIBUS(p) \
- TAILQ_FOREACH(p, &(rte_pci_bus.driver_list), next)
-
-struct rte_devargs;
-
-enum rte_pci_kernel_driver {
- RTE_PCI_KDRV_UNKNOWN = 0, /* may be misc UIO or bifurcated driver */
- RTE_PCI_KDRV_IGB_UIO, /* igb_uio for Linux */
- RTE_PCI_KDRV_VFIO, /* VFIO for Linux */
- RTE_PCI_KDRV_UIO_GENERIC, /* uio_pci_generic for Linux */
- RTE_PCI_KDRV_NIC_UIO, /* nic_uio for FreeBSD */
- RTE_PCI_KDRV_NONE, /* no attached driver */
- RTE_PCI_KDRV_NET_UIO, /* NetUIO for Windows */
-};
-
-/**
- * A structure describing a PCI device.
- */
-struct rte_pci_device {
- TAILQ_ENTRY(rte_pci_device) next; /**< Next probed PCI device. */
- struct rte_device device; /**< Inherit core device */
- struct rte_pci_addr addr; /**< PCI location. */
- struct rte_pci_id id; /**< PCI ID. */
- struct rte_mem_resource mem_resource[PCI_MAX_RESOURCE];
- /**< PCI Memory Resource */
- struct rte_intr_handle intr_handle; /**< Interrupt handle */
- struct rte_pci_driver *driver; /**< PCI driver used in probing */
- uint16_t max_vfs; /**< sriov enable if not zero */
- enum rte_pci_kernel_driver kdrv; /**< Kernel driver passthrough */
- char name[PCI_PRI_STR_SIZE+1]; /**< PCI location (ASCII) */
- struct rte_intr_handle vfio_req_intr_handle;
- /**< Handler of VFIO request interrupt */
-};
-
-/**
- * @internal
- * Helper macro for drivers that need to convert to struct rte_pci_device.
- */
-#define RTE_DEV_TO_PCI(ptr) container_of(ptr, struct rte_pci_device, device)
-
-#define RTE_DEV_TO_PCI_CONST(ptr) \
- container_of(ptr, const struct rte_pci_device, device)
-
-#define RTE_ETH_DEV_TO_PCI(eth_dev) RTE_DEV_TO_PCI((eth_dev)->device)
-
-#ifdef __cplusplus
-/** C++ macro used to help building up tables of device IDs */
-#define RTE_PCI_DEVICE(vend, dev) \
- RTE_CLASS_ANY_ID, \
- (vend), \
- (dev), \
- RTE_PCI_ANY_ID, \
- RTE_PCI_ANY_ID
-#else
-/** Macro used to help building up tables of device IDs */
-#define RTE_PCI_DEVICE(vend, dev) \
- .class_id = RTE_CLASS_ANY_ID, \
- .vendor_id = (vend), \
- .device_id = (dev), \
- .subsystem_vendor_id = RTE_PCI_ANY_ID, \
- .subsystem_device_id = RTE_PCI_ANY_ID
-#endif
-
-/**
- * Initialisation function for the driver called during PCI probing.
- */
-typedef int (rte_pci_probe_t)(struct rte_pci_driver *, struct rte_pci_device *);
-
-/**
- * Uninitialisation function for the driver called during hotplugging.
- */
-typedef int (rte_pci_remove_t)(struct rte_pci_device *);
-
-/**
- * Driver-specific DMA mapping. After a successful call the device
- * will be able to read/write from/to this segment.
- *
- * @param dev
- * Pointer to the PCI device.
- * @param addr
- * Starting virtual address of memory to be mapped.
- * @param iova
- * Starting IOVA address of memory to be mapped.
- * @param len
- * Length of memory segment being mapped.
- * @return
- * - 0 On success.
- * - Negative value and rte_errno is set otherwise.
- */
-typedef int (pci_dma_map_t)(struct rte_pci_device *dev, void *addr,
- uint64_t iova, size_t len);
-
-/**
- * Driver-specific DMA un-mapping. After a successful call the device
- * will not be able to read/write from/to this segment.
- *
- * @param dev
- * Pointer to the PCI device.
- * @param addr
- * Starting virtual address of memory to be unmapped.
- * @param iova
- * Starting IOVA address of memory to be unmapped.
- * @param len
- * Length of memory segment being unmapped.
- * @return
- * - 0 On success.
- * - Negative value and rte_errno is set otherwise.
- */
-typedef int (pci_dma_unmap_t)(struct rte_pci_device *dev, void *addr,
- uint64_t iova, size_t len);
-
-/**
- * A structure describing a PCI driver.
- */
-struct rte_pci_driver {
- TAILQ_ENTRY(rte_pci_driver) next; /**< Next in list. */
- struct rte_driver driver; /**< Inherit core driver. */
- struct rte_pci_bus *bus; /**< PCI bus reference. */
- rte_pci_probe_t *probe; /**< Device probe function. */
- rte_pci_remove_t *remove; /**< Device remove function. */
- pci_dma_map_t *dma_map; /**< device dma map function. */
- pci_dma_unmap_t *dma_unmap; /**< device dma unmap function. */
- const struct rte_pci_id *id_table; /**< ID table, NULL terminated. */
- uint32_t drv_flags; /**< Flags RTE_PCI_DRV_*. */
-};
-
-/**
- * Structure describing the PCI bus
- */
-struct rte_pci_bus {
- struct rte_bus bus; /**< Inherit the generic class */
- struct rte_pci_device_list device_list; /**< List of PCI devices */
- struct rte_pci_driver_list driver_list; /**< List of PCI drivers */
-};
-
-/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */
-#define RTE_PCI_DRV_NEED_MAPPING 0x0001
-/** Device needs PCI BAR mapping with enabled write combining (wc) */
-#define RTE_PCI_DRV_WC_ACTIVATE 0x0002
-/** Device already probed can be probed again to check for new ports. */
-#define RTE_PCI_DRV_PROBE_AGAIN 0x0004
-/** Device driver supports link state interrupt */
-#define RTE_PCI_DRV_INTR_LSC 0x0008
-/** Device driver supports device removal interrupt */
-#define RTE_PCI_DRV_INTR_RMV 0x0010
-/** Device driver needs to keep mapped resources if unsupported dev detected */
-#define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020
-/** Device driver needs IOVA as VA and cannot work with IOVA as PA */
-#define RTE_PCI_DRV_NEED_IOVA_AS_VA 0x0040
-
-/**
- * Map the PCI device resources in user space virtual memory address
- *
- * Note that driver should not call this function when flag
- * RTE_PCI_DRV_NEED_MAPPING is set, as EAL will do that for
- * you when it's on.
- *
- * @param dev
- * A pointer to a rte_pci_device structure describing the device
- * to use
- *
- * @return
- * 0 on success, negative on error and positive if no driver
- * is found for the device.
- */
-int rte_pci_map_device(struct rte_pci_device *dev);
-
-/**
- * Unmap this device
- *
- * @param dev
- * A pointer to a rte_pci_device structure describing the device
- * to use
- */
-void rte_pci_unmap_device(struct rte_pci_device *dev);
+#include <rte_compat.h>
/**
* Dump the content of the PCI bus.
@@ -229,169 +21,6 @@ void rte_pci_unmap_device(struct rte_pci_device *dev);
*/
void rte_pci_dump(FILE *f);
-/**
- * Find device's extended PCI capability.
- *
- * @param dev
- * A pointer to rte_pci_device structure.
- *
- * @param cap
- * Extended capability to be found, which can be any from
- * RTE_PCI_EXT_CAP_ID_*, defined in librte_pci.
- *
- * @return
- * > 0: The offset of the next matching extended capability structure
- * within the device's PCI configuration space.
- * < 0: An error in PCI config space read.
- * = 0: Device does not support it.
- */
-__rte_experimental
-off_t rte_pci_find_ext_capability(struct rte_pci_device *dev, uint32_t cap);
-
-/**
- * Enables/Disables Bus Master for device's PCI command register.
- *
- * @param dev
- * A pointer to rte_pci_device structure.
- * @param enable
- * Enable or disable Bus Master.
- *
- * @return
- * 0 on success, -1 on error in PCI config space read/write.
- */
-__rte_experimental
-int rte_pci_set_bus_master(struct rte_pci_device *dev, bool enable);
-
-/**
- * Register a PCI driver.
- *
- * @param driver
- * A pointer to a rte_pci_driver structure describing the driver
- * to be registered.
- */
-void rte_pci_register(struct rte_pci_driver *driver);
-
-/** Helper for PCI device registration from driver (eth, crypto) instance */
-#define RTE_PMD_REGISTER_PCI(nm, pci_drv) \
-RTE_INIT(pciinitfn_ ##nm) \
-{\
- (pci_drv).driver.name = RTE_STR(nm);\
- rte_pci_register(&pci_drv); \
-} \
-RTE_PMD_EXPORT_NAME(nm, __COUNTER__)
-
-/**
- * Unregister a PCI driver.
- *
- * @param driver
- * A pointer to a rte_pci_driver structure describing the driver
- * to be unregistered.
- */
-void rte_pci_unregister(struct rte_pci_driver *driver);
-
-/**
- * Read PCI config space.
- *
- * @param device
- * A pointer to a rte_pci_device structure describing the device
- * to use
- * @param buf
- * A data buffer where the bytes should be read into
- * @param len
- * The length of the data buffer.
- * @param offset
- * The offset into PCI config space
- * @return
- * Number of bytes read on success, negative on error.
- */
-int rte_pci_read_config(const struct rte_pci_device *device,
- void *buf, size_t len, off_t offset);
-
-/**
- * Write PCI config space.
- *
- * @param device
- * A pointer to a rte_pci_device structure describing the device
- * to use
- * @param buf
- * A data buffer containing the bytes should be written
- * @param len
- * The length of the data buffer.
- * @param offset
- * The offset into PCI config space
- */
-int rte_pci_write_config(const struct rte_pci_device *device,
- const void *buf, size_t len, off_t offset);
-
-/**
- * A structure used to access io resources for a pci device.
- * rte_pci_ioport is arch, os, driver specific, and should not be used outside
- * of pci ioport api.
- */
-struct rte_pci_ioport {
- struct rte_pci_device *dev;
- uint64_t base;
- uint64_t len; /* only filled for memory mapped ports */
-};
-
-/**
- * Initialize a rte_pci_ioport object for a pci device io resource.
- *
- * This object is then used to gain access to those io resources (see below).
- *
- * @param dev
- * A pointer to a rte_pci_device structure describing the device
- * to use.
- * @param bar
- * Index of the io pci resource we want to access.
- * @param p
- * The rte_pci_ioport object to be initialized.
- * @return
- * 0 on success, negative on error.
- */
-int rte_pci_ioport_map(struct rte_pci_device *dev, int bar,
- struct rte_pci_ioport *p);
-
-/**
- * Release any resources used in a rte_pci_ioport object.
- *
- * @param p
- * The rte_pci_ioport object to be uninitialized.
- * @return
- * 0 on success, negative on error.
- */
-int rte_pci_ioport_unmap(struct rte_pci_ioport *p);
-
-/**
- * Read from a io pci resource.
- *
- * @param p
- * The rte_pci_ioport object from which we want to read.
- * @param data
- * A data buffer where the bytes should be read into
- * @param len
- * The length of the data buffer.
- * @param offset
- * The offset into the pci io resource.
- */
-void rte_pci_ioport_read(struct rte_pci_ioport *p,
- void *data, size_t len, off_t offset);
-
-/**
- * Write to a io pci resource.
- *
- * @param p
- * The rte_pci_ioport object to which we want to write.
- * @param data
- * A data buffer where the bytes should be read into
- * @param len
- * The length of the data buffer.
- * @param offset
- * The offset into the pci io resource.
- */
-void rte_pci_ioport_write(struct rte_pci_ioport *p,
- const void *data, size_t len, off_t offset);
-
/**
* Read 4 bytes from PCI memory resource.
*
@@ -2,6 +2,22 @@ DPDK_22 {
global:
rte_pci_dump;
+
+ local: *;
+};
+
+EXPERIMENTAL {
+ global:
+
+ # added in 21.11
+ rte_pci_mem_rd32;
+ rte_pci_mem_wr32;
+};
+
+INTERNAL {
+ global:
+
+ rte_pci_find_ext_capability;
rte_pci_get_sysfs_path;
rte_pci_ioport_map;
rte_pci_ioport_read;
@@ -10,22 +26,8 @@ DPDK_22 {
rte_pci_map_device;
rte_pci_read_config;
rte_pci_register;
+ rte_pci_set_bus_master;
rte_pci_unmap_device;
rte_pci_unregister;
rte_pci_write_config;
-
- local: *;
-};
-
-EXPERIMENTAL {
- global:
-
- rte_pci_find_ext_capability;
-
- # added in 21.08
- rte_pci_set_bus_master;
-
- # added in 21.11
- rte_pci_mem_rd32;
- rte_pci_mem_wr32;
};
@@ -7,7 +7,7 @@
#include <rte_alarm.h>
#include <rte_bitmap.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_byteorder.h>
#include <rte_common.h>
#include <rte_cycles.h>
@@ -11,7 +11,7 @@
#include <inttypes.h>
#include <rte_errno.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_bus_auxiliary.h>
#include "mlx5_common_utils.h"
@@ -9,7 +9,7 @@
#include <rte_errno.h>
#include <rte_class.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "mlx5_common_log.h"
#include "mlx5_common_private.h"
@@ -5,7 +5,7 @@
#ifndef _OTX2_DEV_H
#define _OTX2_DEV_H
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "otx2_common.h"
#include "otx2_irq.h"
@@ -3,7 +3,7 @@
*/
#include <rte_atomic.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <rte_spinlock.h>
@@ -4,7 +4,7 @@
#ifndef _QAT_DEVICE_H_
#define _QAT_DEVICE_H_
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "qat_common.h"
#include "qat_logs.h"
@@ -8,7 +8,7 @@
#include <rte_malloc.h>
#include <rte_memzone.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_atomic.h>
#include <rte_prefetch.h>
@@ -10,7 +10,7 @@
#ifndef _SFC_EFX_H_
#define _SFC_EFX_H_
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "efx.h"
#include "efsys.h"
@@ -5,7 +5,7 @@
#include <rte_malloc.h>
#include <rte_log.h>
#include <rte_errno.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_spinlock.h>
#include <rte_comp.h>
#include <rte_compressdev.h>
@@ -7,7 +7,7 @@
#include <unistd.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_comp.h>
#include <rte_compressdev.h>
#include <rte_compressdev_pmd.h>
@@ -6,7 +6,7 @@
#include <rte_mbuf.h>
#include <rte_hexdump.h>
#include <rte_comp.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_byteorder.h>
#include <rte_memcpy.h>
#include <rte_common.h>
@@ -10,7 +10,7 @@
#include <stdint.h>
#include <string.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_atomic.h>
#include <rte_byteorder.h>
#include <rte_io.h>
@@ -7,7 +7,7 @@
#include <stdint.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
#define PROC_MODULES "/proc/modules"
@@ -3,7 +3,7 @@
*/
#include <rte_string_fns.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_bus_vdev.h>
#include <rte_common.h>
#include <rte_cryptodev.h>
@@ -2,7 +2,7 @@
* Copyright(C) 2021 Marvell.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_crypto.h>
#include <rte_cryptodev.h>
@@ -2,7 +2,7 @@
* Copyright(C) 2021 Marvell.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_crypto.h>
#include <rte_cryptodev.h>
@@ -6,7 +6,7 @@
#include <rte_mempool.h>
#include <rte_errno.h>
#include <rte_log.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memory.h>
#include <mlx5_glue.h>
@@ -5,7 +5,7 @@
#ifndef _NITROX_DEVICE_H_
#define _NITROX_DEVICE_H_
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_cryptodev.h>
struct nitrox_sym_device;
@@ -2,7 +2,7 @@
* Copyright(c) 2018 Cavium, Inc
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_cryptodev.h>
#include <rte_cryptodev_pmd.h>
@@ -3,7 +3,7 @@
*/
#include <rte_alarm.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_cryptodev.h>
#include <rte_cryptodev_pmd.h>
#include <rte_eventdev.h>
@@ -2,7 +2,7 @@
* Copyright (C) 2019 Marvell International Ltd.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_crypto.h>
#include <rte_cryptodev.h>
@@ -7,7 +7,7 @@
#include <rte_mempool.h>
#include <rte_mbuf.h>
#include <rte_crypto_sym.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_byteorder.h>
#include "qat_sym.h"
@@ -2,7 +2,7 @@
* Copyright(c) 2015-2018 Intel Corporation
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_dev.h>
#include <rte_malloc.h>
@@ -7,7 +7,7 @@
#include <rte_common.h>
#include <rte_errno.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_cryptodev.h>
#include <rte_cryptodev_pmd.h>
#include <rte_eal.h>
@@ -9,7 +9,7 @@
#include <rte_eal_paging.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_cryptodev.h>
#include "virtio_crypto.h"
@@ -9,7 +9,7 @@
#include <rte_log.h>
#include <rte_spinlock.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_eal_paging.h>
#include "base/dlb2_hw_types.h"
@@ -25,7 +25,7 @@
#include <rte_cycles.h>
#include <rte_io.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_eventdev.h>
#include <eventdev_pmd.h>
#include <eventdev_pmd_pci.h>
@@ -7,7 +7,7 @@
#include <rte_eal.h>
#include <rte_io.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "octeontx_mbox.h"
#include "ssovf_evdev.h"
@@ -5,7 +5,7 @@
#include <rte_eal.h>
#include <rte_io.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <octeontx_mbox.h>
@@ -4,7 +4,7 @@
#include <inttypes.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_eal.h>
#include <eventdev_pmd_pci.h>
@@ -3,7 +3,7 @@
*/
#include <rte_atomic.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_devargs.h>
#include <rte_eal.h>
@@ -13,7 +13,7 @@
#include <rte_atomic.h>
#include <rte_eal.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_errno.h>
#include <rte_memory.h>
#include <rte_malloc.h>
@@ -3,7 +3,7 @@
*/
#include <rte_atomic.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_eal.h>
#include <rte_io.h>
@@ -6,7 +6,7 @@
#define __OTX2_MEMPOOL_H__
#include <rte_bitmap.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_devargs.h>
#include <rte_mempool.h>
@@ -5,7 +5,7 @@
#include <inttypes.h>
#include <rte_common.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "otx2_common.h"
#include "otx2_irq.h"
@@ -85,6 +85,7 @@ foreach subpath:subdirs
name = drv
sources = []
headers = []
+ driver_sdk_headers = [] # public headers included by drivers
objs = []
cflags = default_cflags
includes = [include_directories(drv_path)]
@@ -150,6 +151,9 @@ foreach subpath:subdirs
dpdk_extra_ldflags += pkgconfig_extra_libs
install_headers(headers)
+ if get_option('enable_driver_sdk')
+ install_headers(driver_sdk_headers)
+ endif
# generate pmdinfo sources by building a temporary
# lib and then running pmdinfogen on the contents of
@@ -6,7 +6,7 @@
#include <sys/stat.h>
#include <dlfcn.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_pci.h>
#include <rte_kvargs.h>
@@ -16,7 +16,7 @@
#include <rte_atomic.h>
#include <rte_branch_prediction.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ether.h>
#include <rte_common.h>
#include <rte_cycles.h>
@@ -16,7 +16,7 @@
#include <rte_byteorder.h>
#include <rte_spinlock.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_io.h>
#include "bnx2x_osal.h"
@@ -11,7 +11,7 @@
#include <sys/queue.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_driver.h>
#include <rte_memory.h>
#include <rte_lcore.h>
@@ -4,7 +4,7 @@
#include <rte_devargs.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_kvargs.h>
#include "rte_eth_bond.h"
@@ -8,7 +8,7 @@
#ifndef __T4_ADAPTER_H__
#define __T4_ADAPTER_H__
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_mbuf.h>
#include <rte_io.h>
#include <rte_rwlock.h>
@@ -20,7 +20,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_branch_prediction.h>
#include <rte_memory.h>
#include <rte_tailq.h>
@@ -13,7 +13,7 @@
#include <rte_byteorder.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ether.h>
#include <ethdev_driver.h>
#include <ethdev_pci.h>
@@ -18,7 +18,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memory.h>
#include <rte_memcpy.h>
#include <rte_memzone.h>
@@ -15,7 +15,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ether.h>
#include <ethdev_driver.h>
#include <ethdev_pci.h>
@@ -10,7 +10,7 @@
#include <stdarg.h>
#include <inttypes.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_interrupts.h>
#include <rte_log.h>
#include <rte_debug.h>
@@ -12,7 +12,7 @@
#include <ethdev_pci.h>
#include <rte_cycles.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_timer.h>
#include <rte_dev.h>
#include <rte_net.h>
@@ -9,7 +9,7 @@
#include <stdbool.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "enic_compat.h"
#include "vnic_resource.h"
@@ -8,7 +8,7 @@
#include <rte_dev.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_driver.h>
#include <ethdev_pci.h>
#include <rte_geneve.h>
@@ -10,7 +10,7 @@
#include <fcntl.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memzone.h>
#include <rte_malloc.h>
#include <rte_mbuf.h>
@@ -5,7 +5,7 @@
#include <stdint.h>
#include <stdio.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_dev.h>
#include <ethdev_driver.h>
@@ -3,7 +3,7 @@
*/
#include<ethdev_driver.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_hash.h>
#include <rte_jhash.h>
@@ -2,7 +2,7 @@
* Copyright(c) 2017 Huawei Technologies Co., Ltd
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "hinic_compat.h"
#include "hinic_csr.h"
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2017 Huawei Technologies Co., Ltd
*/
-#include<rte_bus_pci.h>
+#include <pci_driver.h>
#include "hinic_compat.h"
#include "hinic_pmd_hwdev.h"
@@ -3,7 +3,7 @@
*/
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_pci.h>
#include <rte_mbuf.h>
#include <rte_malloc.h>
@@ -3,7 +3,7 @@
*/
#include <rte_alarm.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_pci.h>
#include <rte_pci.h>
#include <rte_kvargs.h>
@@ -2,7 +2,7 @@
* Copyright(c) 2018-2021 HiSilicon Limited.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_cycles.h>
#include <rte_geneve.h>
@@ -15,7 +15,7 @@
#include <rte_eal.h>
#include <rte_string_fns.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ether.h>
#include <ethdev_driver.h>
#include <ethdev_pci.h>
@@ -18,7 +18,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_atomic.h>
#include <rte_branch_prediction.h>
#include <rte_memory.h>
@@ -2,7 +2,7 @@
* Copyright(c) 2018 Intel Corporation.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <rte_pci.h>
#include <rte_malloc.h>
@@ -7,7 +7,7 @@
#include <rte_string_fns.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_driver.h>
#include <ethdev_pci.h>
#include <rte_malloc.h>
@@ -8,7 +8,7 @@
#include <stdint.h>
#include <inttypes.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "ionic_dev.h"
#include "ionic_if.h"
@@ -3,7 +3,7 @@
*/
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <ethdev_driver.h>
#include <rte_malloc.h>
@@ -4,7 +4,7 @@
#include <stdint.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <rte_pci.h>
#include <rte_malloc.h>
@@ -5,7 +5,7 @@
#include <stdint.h>
#include <unistd.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <rte_pci.h>
#include <rte_malloc.h>
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <string.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_ethdev.h>
#include <rte_pci.h>
#include <rte_malloc.h>
@@ -20,7 +20,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_branch_prediction.h>
#include <rte_memory.h>
#include <rte_kvargs.h>
@@ -19,7 +19,7 @@
#include <rte_time.h>
#include <rte_hash.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_tm_driver.h>
/* need update link, bit flag */
@@ -32,7 +32,7 @@
#pragma GCC diagnostic error "-Wpedantic"
#endif
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_errno.h>
#include <ethdev_driver.h>
#include <rte_ether.h>
@@ -25,7 +25,7 @@
#include <time.h>
#include <ethdev_driver.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_mbuf.h>
#include <rte_common.h>
#include <rte_interrupts.h>
@@ -19,7 +19,7 @@
#include <ethdev_driver.h>
#include <ethdev_pci.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_bus_auxiliary.h>
#include <rte_common.h>
#include <rte_kvargs.h>
@@ -13,7 +13,7 @@
#include <rte_malloc.h>
#include <ethdev_driver.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_kvargs.h>
#include <rte_rwlock.h>
@@ -11,7 +11,7 @@
#include <errno.h>
#include <ethdev_driver.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_mbuf.h>
#include <rte_common.h>
#include <rte_interrupts.h>
@@ -13,7 +13,7 @@
#include <rte_mbuf.h>
#include <rte_malloc.h>
#include <ethdev_driver.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_eal_paging.h>
@@ -21,7 +21,7 @@
#include <rte_memory.h>
#include <rte_bus_vmbus.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_log.h>
#include <rte_string_fns.h>
#include <rte_alarm.h>
@@ -5,7 +5,7 @@
#include <string.h>
#include <rte_eal.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "../octeontx_logs.h"
#include "octeontx_io.h"
@@ -10,7 +10,7 @@
#include <rte_cycles.h>
#include <rte_malloc.h>
#include <rte_memory.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_spinlock.h>
#include "../octeontx_logs.h"
@@ -4,7 +4,7 @@
#include <inttypes.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_malloc.h>
#include "otx2_ethdev.h"
@@ -21,7 +21,7 @@
#include <rte_ether.h>
#include <rte_io.h>
#include <rte_version.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
/* Forward declaration */
struct ecore_dev;
@@ -13,7 +13,7 @@
#include <stdbool.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_driver.h>
#include <rte_kvargs.h>
#include <rte_spinlock.h>
@@ -11,7 +11,7 @@
#include <ethdev_driver.h>
#include <ethdev_pci.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_errno.h>
#include <rte_string_fns.h>
#include <rte_ether.h>
@@ -8,7 +8,7 @@
*/
#include <rte_common.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "sfc.h"
#include "sfc_log.h"
@@ -32,7 +32,7 @@
#include <rte_malloc.h>
#include <rte_random.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_tailq.h>
#include <rte_devargs.h>
#include <rte_kvargs.h>
@@ -20,7 +20,7 @@
#include <rte_ethdev_core.h>
#include <rte_hash.h>
#include <rte_hash_crc.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_tm_driver.h>
/* need update link, bit flag */
@@ -4,7 +4,7 @@
*/
#include <sys/queue.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_malloc.h>
#include <rte_flow.h>
#include <rte_flow_driver.h>
@@ -20,7 +20,7 @@
#include <rte_memcpy.h>
#include <rte_malloc.h>
#include <rte_random.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "base/txgbe.h"
#include "txgbe_ethdev.h"
@@ -9,7 +9,7 @@
#include <stdbool.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <ethdev_driver.h>
#include "virtio.h"
@@ -11,7 +11,7 @@
#include <ethdev_driver.h>
#include <ethdev_pci.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_errno.h>
#include <rte_memory.h>
@@ -19,7 +19,7 @@
#include <rte_log.h>
#include <rte_debug.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_branch_prediction.h>
#include <rte_memory.h>
#include <rte_memzone.h>
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2021 Marvell.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_dev.h>
#include <rte_eal.h>
@@ -3,7 +3,7 @@
*/
#include <string.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2021 Marvell.
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_pci.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
@@ -5,7 +5,7 @@
#ifndef _CNXK_BPHY_IRQ_
#define _CNXK_BPHY_IRQ_
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_dev.h>
#include <roc_api.h>
@@ -16,7 +16,7 @@
#include <rte_devargs.h>
#include <rte_memcpy.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_kvargs.h>
#include <rte_alarm.h>
#include <rte_interrupts.h>
@@ -3,7 +3,7 @@
*/
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
#include "rte_pmd_ifpga.h"
@@ -2,7 +2,7 @@
* Copyright(c) 2020 Intel Corporation
*/
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memzone.h>
#include <rte_devargs.h>
@@ -3,7 +3,7 @@
*/
#include <rte_cycles.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memzone.h>
#include <rte_string_fns.h>
#include <rte_rawdev_pmd.h>
@@ -13,7 +13,7 @@
#include <rte_log.h>
#include <rte_pci.h>
#include <rte_mbuf.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_memzone.h>
#include <rte_memcpy.h>
#include <rte_rawdev.h>
@@ -8,7 +8,7 @@
#include <rte_io.h>
#include <rte_eal.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
@@ -6,7 +6,7 @@
#include <unistd.h>
#include <rte_bus.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_common.h>
#include <rte_eal.h>
#include <rte_lcore.h>
@@ -8,7 +8,7 @@
#include <fcntl.h>
#include <rte_bus.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_eal.h>
#include <rte_lcore.h>
#include <rte_mempool.h>
@@ -5,7 +5,7 @@
#include <unistd.h>
#include <rte_bus.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_eal.h>
#include <rte_lcore.h>
#include <rte_mempool.h>
@@ -9,7 +9,7 @@
#include <rte_regexdev.h>
#include <rte_regexdev_core.h>
#include <rte_regexdev_driver.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <mlx5_common.h>
#include <mlx5_common_mr.h>
@@ -10,7 +10,7 @@
#include <rte_malloc.h>
#include <rte_log.h>
#include <rte_errno.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_pci.h>
#include <rte_regexdev_driver.h>
#include <rte_mbuf.h>
@@ -10,7 +10,7 @@
#include <rte_cycles.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_log.h>
#include <rte_io.h>
@@ -14,7 +14,7 @@
#include <rte_eal_paging.h>
#include <rte_malloc.h>
#include <rte_memory.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_vhost.h>
#include <rte_vdpa.h>
#include <rte_vdpa_dev.h>
@@ -12,7 +12,7 @@
#include <rte_log.h>
#include <rte_errno.h>
#include <rte_string_fns.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <mlx5_glue.h>
#include <mlx5_common.h>
@@ -8,7 +8,7 @@
#include <rte_malloc.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include <rte_config.h>
#include <ethdev_driver.h>
@@ -24,7 +24,7 @@ extern "C" {
#include <rte_eal.h>
#include <rte_lcore.h>
#include <rte_pci.h>
-#include <rte_bus_pci.h>
+#include <pci_driver.h>
#include "eventdev_pmd.h"