Following the issues reported by Jerin and the discussion that emerged from it, here are fixes to restore and document the behavior of the EAL and the pci bus driver.
I pondered all the arguments and tried to have the less changes possible. I can't find a need for a flag to just announce support of physical addresses from the pmd point of view. So it ended up with something really close to what Jerin had suggested. But the problem is that this is still unfinished wrt the documentation. I will be offline for 10 days and we need this to move forward, so sending anyway. Changelog since v3: - fixed typos in patch 2, - updated patch 3 title, - moved and reworded comments in the note section in patch 4, Changelog since v2 (Jerin): - Patch 2/4 - Remove personal appeals in log messages(Anatoly) - Patch 4/4 - Added documentation (Anatoly) Changelog since v1 (Jerin): - Changed RTE_PCI_DRV_IOVA_AS_VA flag name as RTE_PCI_DRV_NEED_IOVA_AS_VA (patch 3/4) - Changed IOVA mode as VA for default case(patch 4/4) with documentation - Tested the patch series on octeontx2 platform -- David Marchand David Marchand (2): Revert "bus/pci: add Mellanox kernel driver type" eal: fix IOVA mode selection as VA for PCI drivers Jerin Jacob (2): drivers: change IOVA as VA PCI flag name eal: select IOVA as VA mode for default case doc/guides/prog_guide/env_abstraction_layer.rst | 49 +++++++++++++++++++++++++ drivers/bus/pci/linux/pci.c | 24 +++--------- drivers/bus/pci/pci_common.c | 30 ++++++++++++--- drivers/bus/pci/rte_bus_pci.h | 4 +- drivers/event/octeontx/timvf_probe.c | 2 +- drivers/event/octeontx2/otx2_evdev.c | 2 +- drivers/mempool/octeontx/octeontx_fpavf.c | 2 +- drivers/mempool/octeontx2/otx2_mempool.c | 2 +- drivers/net/atlantic/atl_ethdev.c | 3 +- drivers/net/bnxt/bnxt_ethdev.c | 3 +- drivers/net/e1000/em_ethdev.c | 3 +- drivers/net/e1000/igb_ethdev.c | 5 +-- drivers/net/enic/enic_ethdev.c | 3 +- drivers/net/fm10k/fm10k_ethdev.c | 3 +- drivers/net/i40e/i40e_ethdev.c | 3 +- drivers/net/i40e/i40e_ethdev_vf.c | 2 +- drivers/net/iavf/iavf_ethdev.c | 3 +- drivers/net/ice/ice_ethdev.c | 3 +- drivers/net/ixgbe/ixgbe_ethdev.c | 5 +-- drivers/net/mlx4/mlx4.c | 3 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/net/nfp/nfp_net.c | 6 +-- drivers/net/octeontx2/otx2_ethdev.c | 7 +--- drivers/net/qede/qede_ethdev.c | 6 +-- drivers/raw/ioat/ioat_rawdev.c | 3 +- drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 2 +- lib/librte_eal/common/eal_common_bus.c | 30 +++++++++++++-- lib/librte_eal/common/include/rte_dev.h | 1 - lib/librte_eal/linux/eal/eal.c | 6 +-- 29 files changed, 136 insertions(+), 81 deletions(-) -- 1.8.3.1