[dpdk-dev] [PATCH v4 00/23] Decouple ethdev from PCI device
Jan Blunck
jblunck at infradead.org
Wed Dec 21 16:09:23 CET 2016
This is a partial merge of Stephens and my patches to make the rte_eth_dev
independent of the rte_pci_device.
Changes between v4 and v3:
- broken out refactorings of drivers similar to Stephens example
- use inline function instead of macro
- fix build issues with bnx2x and mlx4/5
Changes between v3 and v2:
- converted PCI device users I've missed in previous version
Jan Blunck (17):
eal: define container_of macro
eal: Allow passing const rte_intr_handle
virtio: Don't fill dev_info->driver_name
virtio: Add vtpci_intr_handle() helper to get rte_intr_handle
virtio: Don't depend on struct rte_eth_dev's pci_dev
bnx2x: localize mapping from eth_dev to pci
fm10k: localize mapping from eth_dev to pci
qede: localize mapping of eth_dev to pci
szedata2: localize handling of pci resources
nfp: localize rte_pci_device handling
vmxnet3: use eth_dev->data->drv_name instead of pci_drv name
ethdev: Helper to map to struct rte_pci_device
drivers: Replace per-PMD macros with rte_eth_dev_to_pci() helper
drivers: Use rte_eth_dev_to_pci() helper
ethdev: Move filling of rte_eth_dev_info->pci_dev to dev_infos_get()
ethdev: Decouple interrupt handling from PCI device
ethdev: Decouple struct rte_eth_dev from struct rte_pci_device
Stephen Hemminger (6):
rte_device: make driver pointer const
pmd: remove useless reset of dev_info->dev_pci
e1000: localize mapping from eth_dev to pci
ixgbe: localize mapping from eth_dev to pci_device
i40e: localize mapping of eth_dev to pci
broadcom: localize mapping from eth_dev to pci
app/test/virtual_pmd.c | 5 +-
drivers/net/af_packet/rte_eth_af_packet.c | 1 -
drivers/net/bnx2x/bnx2x_ethdev.c | 15 +--
drivers/net/bnxt/bnxt_ethdev.c | 24 +++--
drivers/net/bnxt/bnxt_ring.c | 16 ++--
drivers/net/bonding/rte_eth_bond_args.c | 12 ++-
drivers/net/bonding/rte_eth_bond_pmd.c | 1 -
drivers/net/cxgbe/cxgbe_ethdev.c | 4 +-
drivers/net/cxgbe/cxgbe_main.c | 4 +-
drivers/net/e1000/em_ethdev.c | 50 +++++-----
drivers/net/e1000/igb_ethdev.c | 100 +++++++++++---------
drivers/net/e1000/igb_pf.c | 4 +-
drivers/net/ena/ena_ethdev.c | 4 +-
drivers/net/enic/enic_ethdev.c | 3 +-
drivers/net/fm10k/fm10k_ethdev.c | 84 +++++++++--------
drivers/net/i40e/i40e_ethdev.c | 78 ++++++++++------
drivers/net/i40e/i40e_ethdev_vf.c | 59 +++++++-----
drivers/net/ixgbe/ixgbe_ethdev.c | 122 ++++++++++++++-----------
drivers/net/ixgbe/ixgbe_pf.c | 4 +-
drivers/net/mlx4/mlx4.c | 4 +-
drivers/net/mlx5/mlx5.c | 2 +-
drivers/net/mlx5/mlx5_ethdev.c | 2 +
drivers/net/nfp/nfp_net.c | 19 ++--
drivers/net/null/rte_eth_null.c | 1 -
drivers/net/pcap/rte_eth_pcap.c | 1 -
drivers/net/qede/qede_ethdev.c | 19 ++--
drivers/net/ring/rte_eth_ring.c | 1 -
drivers/net/szedata2/rte_eth_szedata2.c | 73 +++++++++------
drivers/net/szedata2/rte_eth_szedata2.h | 58 +++++-------
drivers/net/thunderx/nicvf_ethdev.c | 7 +-
drivers/net/virtio/virtio_ethdev.c | 41 ++++-----
drivers/net/virtio/virtio_pci.h | 6 ++
drivers/net/virtio/virtio_user_ethdev.c | 1 -
drivers/net/vmxnet3/vmxnet3_ethdev.c | 8 +-
drivers/net/xenvirt/rte_eth_xenvirt.c | 1 -
lib/librte_eal/common/include/rte_common.h | 20 ++++
lib/librte_eal/common/include/rte_dev.h | 2 +-
lib/librte_eal/common/include/rte_interrupts.h | 8 +-
lib/librte_eal/common/include/rte_pci.h | 6 ++
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 62 +++++++++----
lib/librte_ether/rte_ethdev.c | 25 +++--
lib/librte_ether/rte_ethdev.h | 13 ++-
42 files changed, 577 insertions(+), 393 deletions(-)
--
2.7.4
More information about the dev
mailing list