common/dpaax: add library for PA/VA translation table
authorShreyansh Jain <shreyansh.jain@nxp.com>
Mon, 15 Oct 2018 12:01:54 +0000 (17:31 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 16 Oct 2018 12:54:25 +0000 (14:54 +0200)
commit2f3d633aa593c89c86dfb0e7df75e49ee05ad808
tree5337d456a745ff5bfc960e6773a462f9fa380de7
parente74a15694ef1b5744d0a7cc937e23021926741f3
common/dpaax: add library for PA/VA translation table

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.jain@nxp.com>
MAINTAINERS
config/common_base
config/common_linuxapp
drivers/common/Makefile
drivers/common/dpaax/Makefile [new file with mode: 0644]
drivers/common/dpaax/dpaax_iova_table.c [new file with mode: 0644]
drivers/common/dpaax/dpaax_iova_table.h [new file with mode: 0644]
drivers/common/dpaax/dpaax_logs.h [new file with mode: 0644]
drivers/common/dpaax/meson.build [new file with mode: 0644]
drivers/common/dpaax/rte_common_dpaax_version.map [new file with mode: 0644]
drivers/common/meson.build