mem: add dirty malloc element support
[dpdk.git] / drivers / raw / cnxk_bphy / cnxk_bphy.c
index 6bfda71..349d551 100644 (file)
@@ -158,7 +158,7 @@ err_desc:
 static void
 bphy_rawdev_get_name(char *name, struct rte_pci_device *pci_dev)
 {
-       snprintf(name, RTE_RAWDEV_NAME_MAX_LEN, "BPHY:%x:%02x.%x",
+       snprintf(name, RTE_RAWDEV_NAME_MAX_LEN, "BPHY:%02x:%02x.%x",
                 pci_dev->addr.bus, pci_dev->addr.devid,
                 pci_dev->addr.function);
 }
@@ -341,6 +341,13 @@ bphy_rawdev_probe(struct rte_pci_driver *pci_drv,
        bphy_dev = (struct bphy_device *)bphy_rawdev->dev_private;
        bphy_dev->mem.res0 = pci_dev->mem_resource[0];
        bphy_dev->mem.res2 = pci_dev->mem_resource[2];
+       bphy_dev->bphy.pci_dev = pci_dev;
+
+       ret = roc_bphy_dev_init(&bphy_dev->bphy);
+       if (ret) {
+               rte_rawdev_pmd_release(bphy_rawdev);
+               return ret;
+       }
 
        return 0;
 }
@@ -349,6 +356,7 @@ static int
 bphy_rawdev_remove(struct rte_pci_device *pci_dev)
 {
        char name[RTE_RAWDEV_NAME_MAX_LEN];
+       struct bphy_device *bphy_dev;
        struct rte_rawdev *rawdev;
 
        if (rte_eal_process_type() != RTE_PROC_PRIMARY)
@@ -366,6 +374,9 @@ bphy_rawdev_remove(struct rte_pci_device *pci_dev)
                return -EINVAL;
        }
 
+       bphy_dev = (struct bphy_device *)rawdev->dev_private;
+       roc_bphy_dev_fini(&bphy_dev->bphy);
+
        return rte_rawdev_pmd_release(rawdev);
 }