X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=inline;f=drivers%2Fraw%2Fioat%2Fioat_rawdev.c;h=5396671d4f5c5f995bbbb5bfe1b6b78ba70e07e1;hb=675ba7069148c7b18f3c74a66938dd34ee8ca653;hp=dd2543c809ac56e4d6bf08967ab3596411920a29;hpb=a32e194474064877959be54c1df572f3cf6d7b37;p=dpdk.git diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c index dd2543c809..5396671d4f 100644 --- a/drivers/raw/ioat/ioat_rawdev.c +++ b/drivers/raw/ioat/ioat_rawdev.c @@ -28,7 +28,7 @@ static struct rte_pci_driver ioat_pmd_drv; #define IOAT_DEVICE_ID_BDXF 0x6f2F #define IOAT_DEVICE_ID_ICX 0x0b00 -RTE_LOG_REGISTER(ioat_pmd_logtype, rawdev.ioat, INFO); +RTE_LOG_REGISTER_DEFAULT(ioat_pmd_logtype, INFO); #define DESC_SZ sizeof(struct rte_ioat_generic_hw_desc) #define COMPLETION_SZ sizeof(__m128i) @@ -128,8 +128,6 @@ ioat_dev_close(struct rte_rawdev *dev __rte_unused) return 0; } -extern int ioat_rawdev_test(uint16_t dev_id); - static int ioat_rawdev_create(const char *name, struct rte_pci_device *dev) { @@ -167,7 +165,23 @@ ioat_rawdev_create(const char *name, struct rte_pci_device *dev) goto cleanup; } + /* Allocate memory for the primary process or else return the memory + * of primary memzone for the secondary process. + */ snprintf(mz_name, sizeof(mz_name), "rawdev%u_private", rawdev->dev_id); + if (rte_eal_process_type() == RTE_PROC_SECONDARY) { + mz = rte_memzone_lookup(mz_name); + if (mz == NULL) { + IOAT_PMD_ERR("Unable lookup memzone for private data\n"); + ret = -ENOMEM; + goto cleanup; + } + rawdev->dev_private = mz->addr; + rawdev->dev_ops = &ioat_rawdev_ops; + rawdev->device = &dev->device; + rawdev->driver_name = dev->device.driver->name; + return 0; + } mz = rte_memzone_reserve(mz_name, sizeof(struct rte_ioat_rawdev), dev->device.numa_node, RTE_MEMZONE_IOVA_CONTIG); if (mz == NULL) {