[dpdk-dev] [PATCH v2 0/7] Removal of PCI bus ABIs
Chenbo Xia
chenbo.xia at intel.com
Sat Sep 18 04:24:36 CEST 2021
As announced in the deprecation notice, most ABIs in PCI bus will be removed.
As there exist some applications that want to access PCI memory resource,
two new APIs are defined in Patch 1 and corresponding changes are applied
to testpmd in Patch 2.
Patch 3-4 clean up the unnecessary usage of PCI bus header in examples.
Patch 5-6 clean up the unused PCI related structure in kni library and related
tests and examples.
Patch 7 finally removes most of ABIs in PCI bus.
---
v2:
- Add check on call of port_id_pci_reg_write (Xiaoyun)
- Combine two clean-up patches in test and example, and backport (David)
Chenbo Xia (7):
bus/pci: add new memory resource access APIs
app/testpmd: use PCI memory resource access APIs
examples/ethtool: use PCI library API to get PCI address
examples/kni: remove unused PCI bus header
kni: remove unused PCI info from test and example
kni: replace unused variable definition with reserved bytes
bus/pci: remove ABIs in PCI bus
app/test-pmd/config.c | 50 +--
app/test-pmd/testpmd.h | 54 +--
app/test/test_kni.c | 57 ---
app/test/virtual_pmd.c | 2 +-
doc/guides/rel_notes/release_21_11.rst | 8 +
drivers/baseband/acc100/rte_acc100_pmd.c | 2 +-
.../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 2 +-
drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 2 +-
drivers/bus/pci/bsd/pci.c | 1 -
drivers/bus/pci/linux/pci.c | 1 -
drivers/bus/pci/linux/pci_uio.c | 1 -
drivers/bus/pci/linux/pci_vfio.c | 1 -
drivers/bus/pci/meson.build | 4 +
drivers/bus/pci/pci_common.c | 78 ++++
drivers/bus/pci/pci_common_uio.c | 1 -
drivers/bus/pci/pci_driver.h | 402 ++++++++++++++++++
drivers/bus/pci/pci_params.c | 1 -
drivers/bus/pci/private.h | 3 +-
drivers/bus/pci/rte_bus_pci.h | 387 ++---------------
drivers/bus/pci/version.map | 28 +-
drivers/common/cnxk/roc_platform.h | 2 +-
drivers/common/mlx5/linux/mlx5_common_verbs.c | 2 +-
drivers/common/mlx5/mlx5_common_pci.c | 2 +-
drivers/common/octeontx2/otx2_dev.h | 2 +-
drivers/common/octeontx2/otx2_sec_idev.c | 2 +-
drivers/common/qat/qat_device.h | 2 +-
drivers/common/qat/qat_qp.c | 2 +-
drivers/common/sfc_efx/sfc_efx.h | 2 +-
drivers/compress/mlx5/mlx5_compress.c | 2 +-
drivers/compress/octeontx/otx_zip.h | 2 +-
drivers/compress/qat/qat_comp.c | 2 +-
drivers/crypto/ccp/ccp_dev.h | 2 +-
drivers/crypto/ccp/ccp_pci.h | 2 +-
drivers/crypto/ccp/rte_ccp_pmd.c | 2 +-
drivers/crypto/cnxk/cn10k_cryptodev.c | 2 +-
drivers/crypto/cnxk/cn9k_cryptodev.c | 2 +-
drivers/crypto/mlx5/mlx5_crypto.c | 2 +-
drivers/crypto/nitrox/nitrox_device.h | 2 +-
drivers/crypto/octeontx/otx_cryptodev.c | 2 +-
drivers/crypto/octeontx/otx_cryptodev_ops.c | 2 +-
drivers/crypto/octeontx2/otx2_cryptodev.c | 2 +-
drivers/crypto/qat/qat_sym.c | 2 +-
drivers/crypto/qat/qat_sym_pmd.c | 2 +-
drivers/crypto/virtio/virtio_cryptodev.c | 2 +-
drivers/crypto/virtio/virtio_pci.h | 2 +-
drivers/event/dlb2/pf/dlb2_main.h | 2 +-
drivers/event/dlb2/pf/dlb2_pf.c | 2 +-
drivers/event/octeontx/ssovf_probe.c | 2 +-
drivers/event/octeontx/timvf_probe.c | 2 +-
drivers/event/octeontx2/otx2_evdev.c | 2 +-
drivers/mempool/cnxk/cnxk_mempool.c | 2 +-
drivers/mempool/octeontx/octeontx_fpavf.c | 2 +-
drivers/mempool/octeontx2/otx2_mempool.c | 2 +-
drivers/mempool/octeontx2/otx2_mempool.h | 2 +-
drivers/mempool/octeontx2/otx2_mempool_irq.c | 2 +-
drivers/meson.build | 4 +
drivers/net/ark/ark_ethdev.c | 2 +-
drivers/net/avp/avp_ethdev.c | 2 +-
drivers/net/bnx2x/bnx2x.h | 2 +-
drivers/net/bnxt/bnxt.h | 2 +-
drivers/net/bonding/rte_eth_bond_args.c | 2 +-
drivers/net/cxgbe/base/adapter.h | 2 +-
drivers/net/cxgbe/cxgbe_ethdev.c | 2 +-
drivers/net/e1000/em_ethdev.c | 2 +-
drivers/net/e1000/em_rxtx.c | 2 +-
drivers/net/e1000/igb_ethdev.c | 2 +-
drivers/net/e1000/igb_pf.c | 2 +-
drivers/net/ena/ena_ethdev.h | 2 +-
drivers/net/enic/base/vnic_dev.h | 2 +-
drivers/net/enic/enic_ethdev.c | 2 +-
drivers/net/enic/enic_main.c | 2 +-
drivers/net/enic/enic_vf_representor.c | 2 +-
drivers/net/hinic/base/hinic_pmd_hwdev.c | 2 +-
drivers/net/hinic/base/hinic_pmd_hwif.c | 2 +-
drivers/net/hinic/base/hinic_pmd_nicio.c | 2 +-
drivers/net/hinic/hinic_pmd_ethdev.c | 2 +-
drivers/net/hns3/hns3_ethdev.c | 2 +-
drivers/net/hns3/hns3_rxtx.c | 2 +-
drivers/net/i40e/i40e_ethdev.c | 2 +-
drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
drivers/net/i40e/i40e_vf_representor.c | 2 +-
drivers/net/igc/igc_ethdev.c | 2 +-
drivers/net/ionic/ionic.h | 2 +-
drivers/net/ionic/ionic_ethdev.c | 2 +-
drivers/net/ipn3ke/ipn3ke_ethdev.c | 2 +-
drivers/net/ipn3ke/ipn3ke_representor.c | 2 +-
drivers/net/ipn3ke/ipn3ke_tm.c | 2 +-
drivers/net/ixgbe/ixgbe_ethdev.c | 2 +-
drivers/net/ixgbe/ixgbe_ethdev.h | 2 +-
drivers/net/mlx4/mlx4_ethdev.c | 2 +-
drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
drivers/net/mlx5/linux/mlx5_os.c | 2 +-
drivers/net/mlx5/mlx5.c | 2 +-
drivers/net/mlx5/mlx5_ethdev.c | 2 +-
drivers/net/mlx5/mlx5_txq.c | 2 +-
drivers/net/netvsc/hn_vf.c | 2 +-
drivers/net/octeontx/base/octeontx_pkivf.c | 2 +-
drivers/net/octeontx/base/octeontx_pkovf.c | 2 +-
drivers/net/octeontx2/otx2_ethdev_irq.c | 2 +-
drivers/net/qede/base/bcm_osal.h | 2 +-
drivers/net/sfc/sfc.h | 2 +-
drivers/net/sfc/sfc_ethdev.c | 2 +-
drivers/net/sfc/sfc_sriov.c | 2 +-
drivers/net/thunderx/nicvf_ethdev.c | 2 +-
drivers/net/txgbe/txgbe_ethdev.h | 2 +-
drivers/net/txgbe/txgbe_flow.c | 2 +-
drivers/net/txgbe/txgbe_pf.c | 2 +-
drivers/net/virtio/virtio_pci.h | 2 +-
drivers/net/virtio/virtio_pci_ethdev.c | 2 +-
drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 +-
drivers/raw/cnxk_bphy/cnxk_bphy.c | 2 +-
drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c | 2 +-
drivers/raw/cnxk_bphy/cnxk_bphy_irq.c | 2 +-
drivers/raw/cnxk_bphy/cnxk_bphy_irq.h | 2 +-
drivers/raw/ifpga/ifpga_rawdev.c | 2 +-
drivers/raw/ifpga/rte_pmd_ifpga.c | 2 +-
drivers/raw/ioat/idxd_pci.c | 2 +-
drivers/raw/ioat/ioat_rawdev.c | 2 +-
drivers/raw/ntb/ntb.c | 2 +-
drivers/raw/ntb/ntb_hw_intel.c | 2 +-
drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 2 +-
drivers/raw/octeontx2_ep/otx2_ep_enqdeq.c | 2 +-
drivers/raw/octeontx2_ep/otx2_ep_rawdev.c | 2 +-
drivers/regex/mlx5/mlx5_regex.c | 2 +-
drivers/regex/mlx5/mlx5_regex_fastpath.c | 2 +-
drivers/vdpa/ifc/base/ifcvf_osdep.h | 2 +-
drivers/vdpa/ifc/ifcvf_vdpa.c | 2 +-
drivers/vdpa/mlx5/mlx5_vdpa.c | 2 +-
examples/ethtool/lib/rte_ethtool.c | 14 +-
examples/ethtool/meson.build | 2 +-
examples/ip_pipeline/kni.c | 16 -
examples/kni/main.c | 1 -
lib/ethdev/ethdev_pci.h | 2 +-
lib/eventdev/eventdev_pmd_pci.h | 2 +-
lib/kni/rte_kni.h | 4 +-
135 files changed, 711 insertions(+), 633 deletions(-)
create mode 100644 drivers/bus/pci/pci_driver.h
--
2.17.1
More information about the dev
mailing list