#include <rte_malloc.h>
#include <rte_devargs.h>
#include <rte_memcpy.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
+#include <rte_mbuf_dyn.h>
#include <rte_fslmc.h>
#include <fslmc_vfio.h>
#include <dpaax_iova_table.h>
-int dpaa2_logtype_bus;
-
#define VFIO_IOMMU_GROUP_PATH "/sys/kernel/iommu_groups"
#define FSLMC_BUS_NAME fslmc
struct rte_fslmc_bus rte_fslmc_bus;
uint8_t dpaa2_virt_mode;
+#define DPAA2_SEQN_DYNFIELD_NAME "dpaa2_seqn_dynfield"
+int dpaa2_seqn_dynfield_offset = -1;
+
uint32_t
rte_fslmc_get_device_count(enum rte_dpaa2_dev_type device_type)
{
return rte_fslmc_bus.device_count[device_type];
}
-RTE_DEFINE_PER_LCORE(struct dpaa2_portal_dqrr, dpaa2_held_bufs);
-
static void
cleanup_fslmc_device_list(void)
{
struct rte_dpaa2_device *dev;
struct rte_dpaa2_driver *drv;
+ static const struct rte_mbuf_dynfield dpaa2_seqn_dynfield_desc = {
+ .name = DPAA2_SEQN_DYNFIELD_NAME,
+ .size = sizeof(dpaa2_seqn_t),
+ .align = __alignof__(dpaa2_seqn_t),
+ };
+
if (TAILQ_EMPTY(&rte_fslmc_bus.device_list))
return 0;
+ dpaa2_seqn_dynfield_offset =
+ rte_mbuf_dynfield_register(&dpaa2_seqn_dynfield_desc);
+ if (dpaa2_seqn_dynfield_offset < 0) {
+ DPAA2_BUS_ERR("Failed to register mbuf field for dpaa sequence number");
+ return 0;
+ }
+
ret = fslmc_vfio_setup_group();
if (ret) {
DPAA2_BUS_ERR("Unable to setup VFIO %d", ret);
return 0;
}
- probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_WHITELIST;
+ probe_all = rte_fslmc_bus.bus.conf.scan_mode != RTE_BUS_SCAN_ALLOWLIST;
/* In case of PA, the FD addresses returned by qbman APIs are physical
* addresses, which need conversion into equivalent VA address for
continue;
if (dev->device.devargs &&
- dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {
- DPAA2_BUS_LOG(DEBUG, "%s Blacklisted, skipping",
+ dev->device.devargs->policy == RTE_DEV_BLOCKED) {
+ DPAA2_BUS_LOG(DEBUG, "%s Blocked, skipping",
dev->device.name);
continue;
}
if (probe_all ||
(dev->device.devargs &&
- dev->device.devargs->policy ==
- RTE_DEV_WHITELISTED)) {
+ dev->device.devargs->policy == RTE_DEV_ALLOWED)) {
ret = drv->probe(drv, dev);
if (ret) {
DPAA2_BUS_ERR("Unable to probe");
};
RTE_REGISTER_BUS(FSLMC_BUS_NAME, rte_fslmc_bus.bus);
-
-RTE_INIT(fslmc_init_log)
-{
- /* Bus level logs */
- dpaa2_logtype_bus = rte_log_register("bus.fslmc");
- if (dpaa2_logtype_bus >= 0)
- rte_log_set_level(dpaa2_logtype_bus, RTE_LOG_NOTICE);
-}
+RTE_LOG_REGISTER_DEFAULT(dpaa2_logtype_bus, NOTICE);