common/octeontx2: handle intra device operations
authorJerin Jacob <jerinj@marvell.com>
Sat, 22 Jun 2019 13:23:59 +0000 (18:53 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 25 Jun 2019 21:35:57 +0000 (23:35 +0200)
commit0e9734fe41d43cc9889c834b2fa82734a5c95c2d
treee222ae399027d72877e4d5c8c38d77e40327e6a2
parent5868ccdbf1192a02dede85cf5368ac1dd35624a1
common/octeontx2: handle intra device operations

The mempool device(NPA) may be provisioned as a standalone device or
it can be part of ethdev/eventdev device. In order to address
mempool as standalone or integrated with ethdev/eventdev device,
An intra device structure being introduced.

When the _first_ ethdev/eventdev PCIe device or standalone mempool(NPA)
devices get probed by the eal PCI subsystem,
The NPA object(struct otx2_npa_lf) stored in otx2_dev base class.
Once it is accomplished, the other consumer drivers like
ethdev driver or eventdev driver use otx2_npa_* API to operate on
shared NPA object.

The similar concept followed for SSO object, Which needs to share between
PCIe devices.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
drivers/common/octeontx2/otx2_common.c
drivers/common/octeontx2/otx2_common.h
drivers/common/octeontx2/otx2_dev.c
drivers/common/octeontx2/otx2_dev.h
drivers/common/octeontx2/rte_common_octeontx2_version.map