[dpdk-dev] [PATCH v13 0/7] rte_bus_pci
Stephen Hemminger
stephen at networkplumber.org
Wed Apr 12 18:09:31 CEST 2017
On Tue, 11 Apr 2017 13:07:27 +0200
Gaetan Rivet <gaetan.rivet at 6wind.com> wrote:
> I have rebased the work done by Shreyansh and Thomas to follow
> the bus abstraction introduced in v17.02 for the PCI bus
> implementation.
> This series is only a partial version of the previous one, because
> some of the patches have already been integrated, and others still
> need rework.
>
> Additionally, Jan Blunck sent this RFC:
>
> [RFC] eal: use busname and devargs to attach devices
>
> That has not been considered for this version as it had not yet spawned
> a discussion.
>
> changes in v13:
> - Removed the PCI tests. They cannot follow the bus implementation
> anymore, and it is an opportunity to update their original design.
> - Changed the rte_pci_match function semantic to match its name.
> - Made the rte_pci_match function private.
> - Made the rte_bus_list private
> - Made rte_eal_pci_add_device,
> rte_eal_pci_insert_device,
> rte_eal_pci_remove_device,
> functions private.
>
> Additional work is needed:
> - The PCI bus should be moved to the relevant bus sub-directory.
> - The documentation must be updated.
>
> But this version should allow for the PCI bus implementation to be
> integrated in v17.05-rc2.
>
> Gaetan Rivet (1):
> test: remove pci tests
>
> Shreyansh Jain (6):
> pci: split match and probe
> pci: remove loop over drivers in device detach
> pci: add bus driver
> pci: use bus driver for scan/probe
> pci: use bus driver for attach/detach
> doc: remove deprecation notice for rte_bus
>
> MAINTAINERS | 2 -
> doc/guides/rel_notes/release_17_02.rst | 2 +-
> lib/librte_eal/bsdapp/eal/Makefile | 2 +-
> lib/librte_eal/bsdapp/eal/eal.c | 14 -
> lib/librte_eal/bsdapp/eal/eal_pci.c | 34 +-
> lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 -
> lib/librte_eal/common/eal_bus.h | 45 +++
> lib/librte_eal/common/eal_common_dev.c | 57 +++-
> lib/librte_eal/common/eal_common_pci.c | 362 +++++++++++++--------
> lib/librte_eal/common/eal_private.h | 41 ++-
> lib/librte_eal/common/include/rte_bus.h | 29 ++
> lib/librte_eal/common/include/rte_pci.h | 94 ++++--
> lib/librte_eal/linuxapp/eal/Makefile | 2 +-
> lib/librte_eal/linuxapp/eal/eal.c | 14 -
> lib/librte_eal/linuxapp/eal/eal_pci.c | 38 +--
> lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 -
> test/test/Makefile | 2 -
> test/test/test.h | 3 -
> test/test/test_mp_secondary.c | 17 -
> test/test/test_pci.c | 322 ------------------
> .../bus/pci/devices/0000:01:00.0/class | 1 -
> .../bus/pci/devices/0000:01:00.0/config | Bin 64 -> 0 bytes
> .../devices/0000:01:00.0/consistent_dma_mask_bits | 1 -
> .../bus/pci/devices/0000:01:00.0/device | 1 -
> .../bus/pci/devices/0000:01:00.0/dma_mask_bits | 1 -
> .../bus/pci/devices/0000:01:00.0/enable | 1 -
> .../bus/pci/devices/0000:01:00.0/irq | 1 -
> .../bus/pci/devices/0000:01:00.0/modalias | 1 -
> .../bus/pci/devices/0000:01:00.0/msi_bus | 1 -
> .../bus/pci/devices/0000:01:00.0/numa_node | 1 -
> .../bus/pci/devices/0000:01:00.0/resource | 13 -
> .../bus/pci/devices/0000:01:00.0/sriov_numvfs | 1 -
> .../bus/pci/devices/0000:01:00.0/sriov_totalvfs | 1 -
> .../bus/pci/devices/0000:01:00.0/subsystem_device | 1 -
> .../bus/pci/devices/0000:01:00.0/subsystem_vendor | 1 -
> .../bus/pci/devices/0000:01:00.0/uevent | 6 -
> .../bus/pci/devices/0000:01:00.0/vendor | 1 -
> .../bus/pci/devices/0000:01:02.0/class | 1 -
> .../bus/pci/devices/0000:01:02.0/device | 1 -
> .../bus/pci/devices/0000:01:02.0/resource | 13 -
> .../bus/pci/devices/0000:01:02.0/subsystem_device | 1 -
> .../bus/pci/devices/0000:01:02.0/subsystem_vendor | 1 -
> .../bus/pci/devices/0000:01:02.0/vendor | 1 -
> .../bus/pci/devices/0000:02:ab.0/class | 1 -
> .../bus/pci/devices/0000:02:ab.0/device | 1 -
> .../bus/pci/devices/0000:02:ab.0/resource | 13 -
> .../bus/pci/devices/0000:02:ab.0/subsystem_device | 1 -
> .../bus/pci/devices/0000:02:ab.0/subsystem_vendor | 1 -
> .../bus/pci/devices/0000:02:ab.0/vendor | 1 -
> 49 files changed, 478 insertions(+), 675 deletions(-)
> create mode 100644 lib/librte_eal/common/eal_bus.h
> delete mode 100644 test/test/test_pci.c
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/class
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/config
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/consistent_dma_mask_bits
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/dma_mask_bits
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/enable
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/irq
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/modalias
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/msi_bus
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/numa_node
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/resource
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_numvfs
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_totalvfs
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_vendor
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/uevent
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/vendor
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/class
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/resource
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_vendor
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/vendor
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/class
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/resource
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_device
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_vendor
> delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/vendor
>
Looks good. Removing dependencies on PCI is part of the roadblocks in supporting Hyper-V/VMBUS
and Xen netfront properly.
Acked-by: Stephen Hemminger <stephen at networkplumber.org>
More information about the dev
mailing list