From: Jerin Jacob <jer...@marvell.com> In order to optimize the PCI management, RTE_KDRV_NONE based device driver probing removed by not adding them to list in the scan phase.
The legacy virtio is the only consumer of RTE_KDRV_NONE based device driver probe scheme. The legacy virtio support will be available through the existing VFIO/UIO based kernel driver scheme. This patch also removes the deprecation notice for the same. Signed-off-by: Jerin Jacob <jer...@marvell.com> --- v2: - Updated "Removed Items" section in release notes(Thomas) doc/guides/rel_notes/deprecation.rst | 8 -------- doc/guides/rel_notes/release_20_08.rst | 2 ++ drivers/bus/pci/linux/pci.c | 25 +++---------------------- 3 files changed, 5 insertions(+), 30 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 0bee92425..d1034f60f 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -130,11 +130,3 @@ Deprecation Notices Python 2 support will be completely removed in 20.11. In 20.08, explicit deprecation warnings will be displayed when running scripts with Python 2. - -* pci: Remove ``RTE_KDRV_NONE`` based device driver probing. - In order to optimize the DPDK PCI enumeration management, ``RTE_KDRV_NONE`` - based device driver probing will be removed in v20.08. - The legacy virtio is the only consumer of ``RTE_KDRV_NONE`` based device - driver probe scheme. The legacy virtio support will be available through - the existing VFIO/UIO based kernel driver scheme. - More details at https://patches.dpdk.org/patch/69351/ diff --git a/doc/guides/rel_notes/release_20_08.rst b/doc/guides/rel_notes/release_20_08.rst index f5a22bc4b..c1aad0f77 100644 --- a/doc/guides/rel_notes/release_20_08.rst +++ b/doc/guides/rel_notes/release_20_08.rst @@ -81,6 +81,8 @@ Removed Items Also, make sure to start the actual text at the margin. ========================================================= +* Removed ``RTE_KDRV_NONE`` based PCI device driver probing. + API Changes ----------- diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c index da2f55b3a..a2198abf4 100644 --- a/drivers/bus/pci/linux/pci.c +++ b/drivers/bus/pci/linux/pci.c @@ -330,9 +330,10 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr) dev->kdrv = RTE_KDRV_UIO_GENERIC; else dev->kdrv = RTE_KDRV_UNKNOWN; - } else + } else { dev->kdrv = RTE_KDRV_NONE; - + return 0; + } /* device is valid, add in list (sorted) */ if (TAILQ_EMPTY(&rte_pci_bus.device_list)) { rte_pci_add_device(dev); @@ -772,11 +773,6 @@ rte_pci_ioport_map(struct rte_pci_device *dev, int bar, ret = pci_ioport_map(dev, bar, p); #else ret = pci_uio_ioport_map(dev, bar, p); -#endif - break; - case RTE_KDRV_NONE: -#if defined(RTE_ARCH_X86) - ret = pci_ioport_map(dev, bar, p); #endif break; default: @@ -805,11 +801,6 @@ rte_pci_ioport_read(struct rte_pci_ioport *p, case RTE_KDRV_UIO_GENERIC: pci_uio_ioport_read(p, data, len, offset); break; - case RTE_KDRV_NONE: -#if defined(RTE_ARCH_X86) - pci_uio_ioport_read(p, data, len, offset); -#endif - break; default: break; } @@ -831,11 +822,6 @@ rte_pci_ioport_write(struct rte_pci_ioport *p, case RTE_KDRV_UIO_GENERIC: pci_uio_ioport_write(p, data, len, offset); break; - case RTE_KDRV_NONE: -#if defined(RTE_ARCH_X86) - pci_uio_ioport_write(p, data, len, offset); -#endif - break; default: break; } @@ -861,11 +847,6 @@ rte_pci_ioport_unmap(struct rte_pci_ioport *p) ret = 0; #else ret = pci_uio_ioport_unmap(p); -#endif - break; - case RTE_KDRV_NONE: -#if defined(RTE_ARCH_X86) - ret = 0; #endif break; default: -- 2.27.0