From: Jan Blunck <jblunck@infradead.org>
To: dev@dpdk.org
Cc: shreyansh.jain@nxp.com, david.marchand@6wind.com,
stephen@networkplumber.org
Subject: [dpdk-dev] [PATCH v5 00/20] Decouple ethdev from PCI device
Date: Fri, 23 Dec 2016 16:57:51 +0100 [thread overview]
Message-ID: <1482508691-11408-1-git-send-email-jblunck@infradead.org> (raw)
In-Reply-To: <1482332986-7599-1-git-send-email-jblunck@infradead.org>
This repost addresses the review comments of Thomas Monjalon to completely
remove the ethdev helper to further decrease the coupling of the ethdev and
the eal layers. This required me to squash together all patches using the
rte_eth_dev_to_pci() helper into "Decouple from PCI device" patch. As
discussed privately I'll keep the PCI information in rte_eth_dev_info
untouched.
Changes between v5 and v4:
- Removed ethdev helper rte_eth_dev_to_pci()
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 (14):
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: Decouple interrupt handling from PCI device
ethdev: Move dev_info filling of PCI information into drivers
ethdev: Decouple from 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/e1000_ethdev.h | 2 +
drivers/net/e1000/em_ethdev.c | 51 ++++++-----
drivers/net/e1000/igb_ethdev.c | 101 +++++++++++---------
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.h | 3 +
drivers/net/i40e/i40e_ethdev_vf.c | 59 +++++++-----
drivers/net/ixgbe/ixgbe_ethdev.c | 122 ++++++++++++++-----------
drivers/net/ixgbe/ixgbe_ethdev.h | 3 +
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 | 44 ++++-----
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/bsdapp/eal/eal_interrupts.c | 24 +++--
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 | 3 +-
46 files changed, 594 insertions(+), 403 deletions(-)
--
2.7.4
next prev parent reply other threads:[~2016-12-23 15:58 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-21 15:09 [dpdk-dev] [PATCH v4 00/23] " Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 01/23] eal: define container_of macro Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 02/23] eal: Allow passing const rte_intr_handle Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 03/23] rte_device: make driver pointer const Jan Blunck
2016-12-22 7:18 ` Shreyansh Jain
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 04/23] pmd: remove useless reset of dev_info->dev_pci Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 05/23] e1000: localize mapping from eth_dev to pci Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 06/23] ixgbe: localize mapping from eth_dev to pci_device Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 07/23] i40e: localize mapping of eth_dev to pci Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 08/23] broadcom: localize mapping from " Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 09/23] virtio: Don't fill dev_info->driver_name Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 10/23] virtio: Add vtpci_intr_handle() helper to get rte_intr_handle Jan Blunck
2016-12-21 20:08 ` Stephen Hemminger
2016-12-23 11:04 ` Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 11/23] virtio: Don't depend on struct rte_eth_dev's pci_dev Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 12/23] bnx2x: localize mapping from eth_dev to pci Jan Blunck
2016-12-21 16:35 ` Harish Patil
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 13/23] fm10k: " Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 14/23] qede: localize mapping of " Jan Blunck
2016-12-21 16:35 ` Harish Patil
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 15/23] szedata2: localize handling of pci resources Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 16/23] nfp: localize rte_pci_device handling Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 17/23] vmxnet3: use eth_dev->data->drv_name instead of pci_drv name Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 18/23] ethdev: Helper to map to struct rte_pci_device Jan Blunck
2016-12-22 15:21 ` Thomas Monjalon
2016-12-22 18:13 ` Jan Blunck
2016-12-23 8:30 ` Thomas Monjalon
2016-12-23 10:27 ` Jan Blunck
2016-12-23 12:47 ` Thomas Monjalon
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 19/23] drivers: Replace per-PMD macros with rte_eth_dev_to_pci() helper Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 20/23] drivers: Use " Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 21/23] ethdev: Move filling of rte_eth_dev_info->pci_dev to dev_infos_get() Jan Blunck
2016-12-21 20:09 ` Stephen Hemminger
2016-12-22 8:11 ` Shreyansh Jain
2016-12-23 10:50 ` Jan Blunck
2016-12-23 11:11 ` Shreyansh Jain
[not found] ` <CALe+Z005ByAFq03su4VO_=sH299zS_zAQWjyfyW8jQ3sD7zPrw@mail.gmail.com>
2016-12-23 11:39 ` Shreyansh Jain
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 22/23] ethdev: Decouple interrupt handling from PCI device Jan Blunck
2016-12-22 15:13 ` Thomas Monjalon
2016-12-22 18:26 ` Jan Blunck
2016-12-21 15:09 ` [dpdk-dev] [PATCH v4 23/23] ethdev: Decouple struct rte_eth_dev from struct rte_pci_device Jan Blunck
2016-12-22 15:22 ` Thomas Monjalon
2016-12-22 15:26 ` [dpdk-dev] [PATCH v4 00/23] Decouple ethdev from PCI device Thomas Monjalon
2016-12-23 14:28 ` Thomas Monjalon
2016-12-23 15:57 ` Jan Blunck [this message]
2016-12-25 22:33 ` [dpdk-dev] [PATCH v5 00/20] " Thomas Monjalon
2017-01-03 12:20 ` Ferruh Yigit
2017-01-06 10:07 ` Andrew Rybchenko
2017-01-03 12:24 ` Ferruh Yigit
2017-01-03 14:06 ` Thomas Monjalon
2017-01-03 14:40 ` Ferruh Yigit
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 01/20] eal: define container_of macro Jan Blunck
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 02/20] eal: Allow passing const rte_intr_handle Jan Blunck
2017-01-17 4:42 ` Tan, Jianfeng
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 03/20] rte_device: make driver pointer const Jan Blunck
2016-12-23 16:19 ` Thomas Monjalon
2016-12-23 22:08 ` Stephen Hemminger
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 04/20] pmd: remove useless reset of dev_info->dev_pci Jan Blunck
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 05/20] e1000: localize mapping from eth_dev to pci Jan Blunck
2016-12-23 16:20 ` Thomas Monjalon
2016-12-23 22:06 ` Stephen Hemminger
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 06/20] ixgbe: localize mapping from eth_dev to pci_device Jan Blunck
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 07/20] i40e: localize mapping of eth_dev to pci Jan Blunck
2016-12-23 15:57 ` [dpdk-dev] [PATCH v5 08/20] broadcom: localize mapping from " Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 09/20] virtio: Don't fill dev_info->driver_name Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 10/20] virtio: Add vtpci_intr_handle() helper to get rte_intr_handle Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 11/20] virtio: Don't depend on struct rte_eth_dev's pci_dev Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 12/20] bnx2x: localize mapping from eth_dev to pci Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 13/20] fm10k: " Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 14/20] qede: localize mapping of " Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 15/20] szedata2: localize handling of pci resources Jan Blunck
2016-12-23 18:31 ` Thomas Monjalon
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 16/20] nfp: localize rte_pci_device handling Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 17/20] vmxnet3: use eth_dev->data->drv_name instead of pci_drv name Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 18/20] ethdev: Decouple interrupt handling from PCI device Jan Blunck
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 19/20] ethdev: Move dev_info filling of PCI information into drivers Jan Blunck
2016-12-23 18:45 ` Thomas Monjalon
2016-12-23 15:58 ` [dpdk-dev] [PATCH v5 20/20] ethdev: Decouple from PCI device Jan Blunck
2016-12-23 16:17 ` Thomas Monjalon
2016-12-23 16:20 ` Jan Blunck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1482508691-11408-1-git-send-email-jblunck@infradead.org \
--to=jblunck@infradead.org \
--cc=david.marchand@6wind.com \
--cc=dev@dpdk.org \
--cc=shreyansh.jain@nxp.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).