X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx4%2Fmlx4.c;h=71061a720f3918ae151829558d0a9aa1facb9c61;hb=8716f9942a408a79a114ac0496e4e7d55bc9944c;hp=8e298788af081058a53d119af4b996d41cc7af16;hpb=a6e7cd81fa41a9938d4d056e0b6c18adc0b67546;p=dpdk.git diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 8e298788af..71061a720f 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -49,6 +49,10 @@ #include "mlx4_rxtx.h" #include "mlx4_utils.h" +#ifdef MLX4_GLUE +const struct mlx4_glue *mlx4_glue; +#endif + static const char *MZ_MLX4_PMD_SHARED_DATA = "mlx4_pmd_shared_data"; /* Shared memory between primary and secondary processes. */ @@ -60,9 +64,6 @@ static rte_spinlock_t mlx4_shared_data_lock = RTE_SPINLOCK_INITIALIZER; /* Process local data for secondary processes. */ static struct mlx4_local_data mlx4_local_data; -/** Driver-specific log messages type. */ -int mlx4_logtype; - /** Configuration structure for device arguments. */ struct mlx4_conf { struct { @@ -488,7 +489,6 @@ mlx4_ibv_device_to_pci_addr(const struct ibv_device *device, &pci_addr->bus, &pci_addr->devid, &pci_addr->function) == 4) { - ret = 0; break; } } @@ -1029,10 +1029,9 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) eth_dev->device = &pci_dev->device; rte_eth_copy_pci_info(eth_dev, pci_dev); /* Initialize local interrupt handle for current port. */ - priv->intr_handle = (struct rte_intr_handle){ - .fd = -1, - .type = RTE_INTR_HANDLE_EXT, - }; + memset(&priv->intr_handle, 0, sizeof(struct rte_intr_handle)); + priv->intr_handle.fd = -1; + priv->intr_handle.type = RTE_INTR_HANDLE_EXT; /* * Override ethdev interrupt handle pointer with private * handle instead of that of the parent PCI device used by @@ -1050,14 +1049,13 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) eth_dev->dev_ops = &mlx4_dev_ops; #ifdef HAVE_IBV_MLX4_BUF_ALLOCATORS /* Hint libmlx4 to use PMD allocator for data plane resources */ - struct mlx4dv_ctx_allocators alctr = { - .alloc = &mlx4_alloc_verbs_buf, - .free = &mlx4_free_verbs_buf, - .data = priv, - }; err = mlx4_glue->dv_set_context_attr (ctx, MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS, - (void *)((uintptr_t)&alctr)); + (void *)((uintptr_t)&(struct mlx4dv_ctx_allocators){ + .alloc = &mlx4_alloc_verbs_buf, + .free = &mlx4_free_verbs_buf, + .data = priv, + })); if (err) WARN("Verbs external allocator is not supported"); else @@ -1277,16 +1275,14 @@ glue_error: #endif +/* Initialize driver log type. */ +RTE_LOG_REGISTER(mlx4_logtype, pmd.net.mlx4, NOTICE) + /** * Driver initialization routine. */ RTE_INIT(rte_mlx4_pmd_init) { - /* Initialize driver log type. */ - mlx4_logtype = rte_log_register("pmd.net.mlx4"); - if (mlx4_logtype >= 0) - rte_log_set_level(mlx4_logtype, RTE_LOG_NOTICE); - /* * MLX4_DEVICE_FATAL_CLEANUP tells ibv_destroy functions we * want to get success errno value in case of calling them