On 21/08/2020 17:29, Bruce Richardson wrote:
When a matching device is found via PCI probe create a rawdev instance for
each queue on the hardware. Use empty self-test function for these devices
so that the overall rawdev_autotest does not report failures.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
  drivers/raw/ioat/idxd_pci.c            | 236 ++++++++++++++++++++++++-
  drivers/raw/ioat/ioat_common.c         |  61 +++++++
  drivers/raw/ioat/ioat_private.h        |  31 ++++
  drivers/raw/ioat/ioat_rawdev_test.c    |   7 +
  drivers/raw/ioat/ioat_spec.h           |  64 +++++++
  drivers/raw/ioat/meson.build           |   1 +
  drivers/raw/ioat/rte_ioat_rawdev_fns.h |  35 +++-
  7 files changed, 432 insertions(+), 3 deletions(-)
  create mode 100644 drivers/raw/ioat/ioat_common.c

<snip>


diff --git a/drivers/raw/ioat/ioat_private.h b/drivers/raw/ioat/ioat_private.h
index d87d4d055e..32c824536d 100644
--- a/drivers/raw/ioat/ioat_private.h
+++ b/drivers/raw/ioat/ioat_private.h
@@ -14,6 +14,10 @@
   * @b EXPERIMENTAL: these structures and APIs may change without prior notice
   */
+#include <rte_spinlock.h>
+#include <rte_rawdev_pmd.h>
+#include "rte_ioat_rawdev.h"
+
  extern int ioat_pmd_logtype;
#define IOAT_PMD_LOG(level, fmt, args...) rte_log(RTE_LOG_ ## level, \
@@ -24,4 +28,31 @@ extern int ioat_pmd_logtype;
  #define IOAT_PMD_ERR(fmt, args...)    IOAT_PMD_LOG(ERR, fmt, ## args)
  #define IOAT_PMD_WARN(fmt, args...)   IOAT_PMD_LOG(WARNING, fmt, ## args)
+struct idxd_pci_common {
+       rte_spinlock_t lk;
+       volatile struct rte_idxd_bar0 *regs;
+       volatile struct rte_idxd_wqcfg *wq_regs;
+       volatile struct rte_idxd_grpcfg *grp_regs;
+       volatile void *portals;
+};
+
+struct idxd_rawdev {
+       struct rte_idxd_rawdev public; /* the public members, must be first */

For C++ compatibility, we cannot use "public" since it is a reserved word in C++. Suggest renaming to "pub".


Thanks,
Kevin

Reply via email to