From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH v2 0/3] eal: allow hotplug to skip an already probed device Date: Fri, 28 Sep 2018 18:40:36 +0200 Message-ID: <20180928164039.2380-1-thomas@monjalon.net> References: <20180907230958.21402-1-thomas@monjalon.net> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: gaetan.rivet@6wind.com, ophirmu@mellanox.com, qi.z.zhang@intel.com, ferruh.yigit@intel.com To: dev@dpdk.org Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 1FA1B1B39A for ; Fri, 28 Sep 2018 18:40:48 +0200 (CEST) In-Reply-To: <20180907230958.21402-1-thomas@monjalon.net> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This is a follow-up of an idea presented at Dublin during the "hotplug talk". The idea is to ease probing of range of ports attached to the same rte_device. I becomes possible to allow probing again the same device but with a bigger range of ports in the devargs. Instead of adding a parameter to the hotplug functions, as in the RFC, the check of an already probed device is moved to the PMDs. It gives flexibility to drivers for managing range of ports. This series is based on top of https://patches.dpdk.org/project/dpdk/list/?series=1579 Depends on: project/dpdk/list/?series=1579 (proposed syntax for dependencies) Thomas Monjalon (3): drivers/bus: move driver assignment to end of probing eal: add function to query device status eal: allow probing a device again drivers/bus/dpaa/dpaa_bus.c | 3 +++ drivers/bus/fslmc/fslmc_bus.c | 3 +++ drivers/bus/ifpga/ifpga_bus.c | 22 +++++++++-------- drivers/bus/pci/pci_common.c | 20 +++++++++------- drivers/bus/pci/rte_bus_pci.h | 2 +- drivers/bus/vdev/vdev.c | 12 ++++++---- drivers/bus/vmbus/vmbus_common.c | 28 ++++++++++++---------- drivers/common/qat/Makefile | 3 ++- drivers/common/qat/meson.build | 1 + drivers/common/qat/qat_device.c | 3 +++ drivers/compress/octeontx/otx_zip_pmd.c | 3 +++ drivers/crypto/virtio/Makefile | 1 + drivers/crypto/virtio/meson.build | 1 + drivers/crypto/virtio/virtio_cryptodev.c | 3 +++ drivers/event/octeontx/ssovf_probe.c | 6 +++++ drivers/event/skeleton/Makefile | 1 + drivers/event/skeleton/meson.build | 1 + drivers/mempool/octeontx/Makefile | 1 + drivers/mempool/octeontx/meson.build | 2 ++ drivers/mempool/octeontx/octeontx_fpavf.c | 3 +++ drivers/net/ark/Makefile | 1 + drivers/net/ark/meson.build | 1 + drivers/net/avf/Makefile | 1 + drivers/net/avp/Makefile | 1 + drivers/net/avp/meson.build | 1 + drivers/net/axgbe/Makefile | 1 + drivers/net/axgbe/meson.build | 2 ++ drivers/net/bnx2x/Makefile | 1 + drivers/net/bnx2x/meson.build | 1 + drivers/net/bnxt/Makefile | 1 + drivers/net/bnxt/meson.build | 1 + drivers/net/cxgbe/Makefile | 1 + drivers/net/cxgbe/meson.build | 2 ++ drivers/net/e1000/Makefile | 1 + drivers/net/e1000/meson.build | 2 ++ drivers/net/enic/Makefile | 1 + drivers/net/enic/meson.build | 2 ++ drivers/net/fm10k/Makefile | 1 + drivers/net/fm10k/meson.build | 2 ++ drivers/net/i40e/i40e_ethdev.c | 3 +++ drivers/net/i40e/i40e_vf_representor.c | 3 --- drivers/net/ifc/ifcvf_vdpa.c | 3 +++ drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++ drivers/net/liquidio/Makefile | 1 + drivers/net/liquidio/meson.build | 1 + drivers/net/mlx4/mlx4.c | 5 +++- drivers/net/mlx5/mlx5.c | 5 +++- drivers/net/netvsc/hn_ethdev.c | 9 ++++--- drivers/net/nfp/Makefile | 1 + drivers/net/nfp/meson.build | 1 + drivers/net/nfp/nfp_net.c | 3 +++ drivers/net/octeontx/Makefile | 3 +-- drivers/net/octeontx/base/meson.build | 2 +- drivers/net/octeontx/base/octeontx_pkivf.c | 3 +++ drivers/net/octeontx/base/octeontx_pkovf.c | 3 +++ drivers/net/qede/Makefile | 1 + drivers/net/qede/meson.build | 2 ++ drivers/net/szedata2/Makefile | 1 + drivers/net/szedata2/meson.build | 1 + drivers/net/szedata2/rte_eth_szedata2.c | 3 +++ drivers/net/thunderx/Makefile | 1 + drivers/net/thunderx/meson.build | 2 ++ drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 3 +++ lib/librte_eal/common/eal_common_dev.c | 12 ++++++---- lib/librte_eal/common/include/rte_dev.h | 18 ++++++++++++-- lib/librte_eal/rte_eal_version.map | 1 + lib/librte_ethdev/rte_ethdev_pci.h | 3 +++ lib/librte_eventdev/rte_eventdev_pmd_pci.h | 3 +++ 68 files changed, 187 insertions(+), 56 deletions(-) -- 2.19.0