#include <rte_kvargs.h>
#include <rte_alarm.h>
#include <rte_string_fns.h>
+#include <rte_debug.h>
#include "rte_rawdev.h"
#include "rte_rawdev_pmd.h"
#include "ifpga_logs.h"
#include "ifpga_common.h"
-int ifpga_bus_logtype;
-
/* Forward declaration to access Intel FPGA bus
* on which iFPGA devices are connected
*/
return NULL;
}
+struct rte_afu_device *
+rte_ifpga_find_afu_by_name(const char *name)
+{
+ struct rte_afu_device *afu_dev = NULL;
+
+ TAILQ_FOREACH(afu_dev, &ifpga_afu_dev_list, next) {
+ if (afu_dev &&
+ !strcmp(afu_dev->device.name, name))
+ return afu_dev;
+ }
+ return NULL;
+}
+
static const char * const valid_args[] = {
#define IFPGA_ARG_NAME "ifpga"
IFPGA_ARG_NAME,
afu_dev->id.port = afu_pr_conf.afu_id.port;
if (rawdev->dev_ops && rawdev->dev_ops->dev_info_get)
- rawdev->dev_ops->dev_info_get(rawdev, afu_dev);
+ rawdev->dev_ops->dev_info_get(rawdev, afu_dev, sizeof(*afu_dev));
if (rawdev->dev_ops &&
rawdev->dev_ops->dev_start &&
}
TAILQ_FOREACH(drv, &ifpga_afu_drv_list, next) {
- if (ifpga_probe_one_driver(drv, afu_dev)) {
- ret = -1;
- break;
- }
+ ret = ifpga_probe_one_driver(drv, afu_dev);
+ if (ret < 0)
+ /* negative value is an error */
+ return ret;
+ if (ret > 0)
+ /* positive value means driver doesn't support it */
+ continue;
+ return 0;
}
- return ret;
+ if ((ret > 0) && (afu_dev->driver == NULL))
+ return 0;
+ else
+ return ret;
}
/*
};
RTE_REGISTER_BUS(IFPGA_BUS_NAME, rte_ifpga_bus);
-
-RTE_INIT(ifpga_init_log)
-{
- ifpga_bus_logtype = rte_log_register("bus.ifpga");
- if (ifpga_bus_logtype >= 0)
- rte_log_set_level(ifpga_bus_logtype, RTE_LOG_NOTICE);
-}
+RTE_LOG_REGISTER(ifpga_bus_logtype, bus.ifpga, NOTICE);