[dpdk-dev] [PATCH v5 00/17] Prepare for rte_device / rte_driver
Shreyansh Jain
shreyansh.jain at nxp.com
Wed Jun 22 11:06:19 CEST 2016
* Original patch series is from David Marchand [1], [2].
* Cover letter text has been modified to make it author agnostic
David created the original patchset based on the discussions on list [3].
Being a large piece of work, this patchset introduces first level of changes
for generalizing the driver-device relationship for supporting hotplug.
Pending work, as per discussions in thread [3]:
- Heirarchical relationship between rte_driver/device, pci_*, crypto_*
- Cleaner device init/deinit methods (probably from rte_driver onwards)
- Moving generic flags/fields from pci_* structure to rte_* structure
- Removing dependency on devargs for pdev/vdev distinction
- Device/Driver lists: discussion and decision on separate or unified lists
This patchset is based on master (34d279)
Changes since v4:
- Fix compilation issue after rebase on HEAD (913154e) in previous series
- Retain rte_eth_dev_get_port_by_name and rte_eth_dev_get_name_by_port which
were removed by previous patchset. These are being used by pdump library
Changes since v3:
- rebase over HEAD (913154e)
- Update arguments to RTE_EAL_PCI_REGISTER macro as per Jan's suggestion
- modify qede driver to use RTE_EAL_PCI_REGISTER
- Argument check in hotplug functions
Changes since v2:
- rebase over HEAD (d76c193)
- Move SYSFS_PCI_DRIVERS macro to rte_pci.h to avoid compilation issue
Changes since v1:
- rebased on HEAD, new drivers should be okay
- patches have been split into smaller pieces
- RTE_INIT macro has been added, but in the end, I am not sure it is useful
- device type has been removed from ethdev, as it was used only by hotplug
- getting rid of pmd type in eal patch (patch 5 of initial series) has been
dropped for now, we can do this once vdev drivers have been converted
[1] http://dpdk.org/ml/archives/dev/2016-January/032387.html
[2] http://dpdk.org/ml/archives/dev/2016-April/037686.html
[3] http://dpdk.org/ml/archives/dev/2016-January/031390.html
David Marchand, Shreyansh Jain (17):
pci: no need for dynamic tailq init
crypto: no need for a crypto pmd type
drivers: align pci driver definitions
eal: remove duplicate function declaration
eal: introduce init macros
crypto: export init/uninit common wrappers for pci drivers
ethdev: export init/uninit common wrappers for pci drivers
drivers: convert all pdev drivers as pci drivers
crypto: get rid of crypto driver register callback
ethdev: get rid of eth driver register callback
eal/linux: move back interrupt thread init before setting affinity
pci: add a helper for device name
pci: add a helper to update a device
ethdev: do not scan all pci devices on attach
eal: add hotplug operations for pci and vdev
ethdev: convert to eal hotplug
ethdev: get rid of device type
app/test/virtual_pmd.c | 2 +-
drivers/crypto/qat/rte_qat_cryptodev.c | 18 +-
drivers/net/af_packet/rte_eth_af_packet.c | 2 +-
drivers/net/bnx2x/bnx2x_ethdev.c | 35 +--
drivers/net/bonding/rte_eth_bond_api.c | 2 +-
drivers/net/cxgbe/cxgbe_ethdev.c | 24 +--
drivers/net/cxgbe/cxgbe_main.c | 2 +-
drivers/net/e1000/em_ethdev.c | 16 +-
drivers/net/e1000/igb_ethdev.c | 40 +---
drivers/net/ena/ena_ethdev.c | 20 +-
drivers/net/enic/enic_ethdev.c | 23 +-
drivers/net/fm10k/fm10k_ethdev.c | 23 +-
drivers/net/i40e/i40e_ethdev.c | 26 +--
drivers/net/i40e/i40e_ethdev_vf.c | 25 +--
drivers/net/ixgbe/ixgbe_ethdev.c | 47 +---
drivers/net/mlx4/mlx4.c | 22 +-
drivers/net/mlx5/mlx5.c | 21 +-
drivers/net/mpipe/mpipe_tilegx.c | 2 +-
drivers/net/nfp/nfp_net.c | 23 +-
drivers/net/null/rte_eth_null.c | 2 +-
drivers/net/pcap/rte_eth_pcap.c | 2 +-
drivers/net/qede/qede_ethdev.c | 40 +---
drivers/net/ring/rte_eth_ring.c | 2 +-
drivers/net/szedata2/rte_eth_szedata2.c | 25 +--
drivers/net/vhost/rte_eth_vhost.c | 2 +-
drivers/net/virtio/virtio_ethdev.c | 26 +--
drivers/net/vmxnet3/vmxnet3_ethdev.c | 23 +-
drivers/net/xenvirt/rte_eth_xenvirt.c | 2 +-
examples/ip_pipeline/init.c | 22 --
lib/librte_cryptodev/rte_cryptodev.c | 67 ++----
lib/librte_cryptodev/rte_cryptodev.h | 2 -
lib/librte_cryptodev/rte_cryptodev_pmd.h | 45 ++--
lib/librte_cryptodev/rte_cryptodev_version.map | 9 +-
lib/librte_eal/bsdapp/eal/eal_pci.c | 52 ++++-
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 +
lib/librte_eal/common/eal_common_dev.c | 47 ++++
lib/librte_eal/common/eal_common_pci.c | 19 +-
lib/librte_eal/common/eal_private.h | 20 +-
lib/librte_eal/common/include/rte_dev.h | 29 ++-
lib/librte_eal/common/include/rte_eal.h | 3 +
lib/librte_eal/common/include/rte_pci.h | 36 ++++
lib/librte_eal/common/include/rte_tailq.h | 4 +-
lib/librte_eal/linuxapp/eal/eal.c | 7 +-
lib/librte_eal/linuxapp/eal/eal_pci.c | 16 +-
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 +
lib/librte_ether/rte_ethdev.c | 271 ++++--------------------
lib/librte_ether/rte_ethdev.h | 40 ++--
lib/librte_ether/rte_ether_version.map | 4 +-
48 files changed, 395 insertions(+), 799 deletions(-)
--
2.7.4
More information about the dev
mailing list