15/10/2018 14:01, Shreyansh Jain: > A common library, valid for dpaaX drivers, which is used to maintain > a local copy of PA->VA translations. > > In case of physical addressing mode (one of the option for FSLMC, and > only option for DPAA bus), the addresses of descriptors Rx'd are > physical. These need to be converted into equivalent VA for rte_mbuf > and other similar calls. > > Using the rte_mem_virt2iova or rte_mem_virt2phy is expensive. This > library is an attempt to reduce the overall cost associated with > this translation. > > A small table is maintained, containing continuous entries > representing a continguous physical range. Each of these entries > stores the equivalent VA, which is fed during mempool creation, or > memory allocation/deallocation callbacks. > > Signed-off-by: Shreyansh Jain <shreyansh.j...@nxp.com> > --- > config/common_base | 5 + > config/common_linuxapp | 5 + > drivers/common/Makefile | 4 + > drivers/common/dpaax/Makefile | 31 ++ > drivers/common/dpaax/dpaax_iova_table.c | 461 ++++++++++++++++++ > drivers/common/dpaax/dpaax_iova_table.h | 103 ++++ > drivers/common/dpaax/dpaax_logs.h | 39 ++ > drivers/common/dpaax/meson.build | 12 + > .../common/dpaax/rte_common_dpaax_version.map | 11 + > drivers/common/meson.build | 2 +- > 10 files changed, 672 insertions(+), 1 deletion(-)
I will add this change when applying: NXP buses M: Hemant Agrawal <hemant.agra...@nxp.com> M: Shreyansh Jain <shreyansh.j...@nxp.com> +F: drivers/common/dpaax/ F: drivers/bus/dpaa/ F: drivers/bus/fslmc/