bus/fslmc: make driver-only headers private

The fslmc bus interface is for drivers only.
Mark as internal and move the header in the driver headers list.

While at it, cleanup internal structures:
- remove unneeded reference to bus specific singleton object,
- remove unneeded list head structure type,
- reorder the definitions and macro manipulating the bus singleton object,
- remove inclusion of rte_bus.h and update code that relied on it,

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
David Marchand 2022-07-28 17:26:27 +02:00
parent a2f1da7da8
commit b4f22ca5cb
20 changed files with 50 additions and 52 deletions

View File

@ -4,8 +4,8 @@
*
*/
#ifndef _RTE_FSLMC_H_
#define _RTE_FSLMC_H_
#ifndef BUS_FSLMC_DRIVER_H
#define BUS_FSLMC_DRIVER_H
/**
* @file
@ -26,10 +26,10 @@ extern "C" {
#include <inttypes.h>
#include <linux/vfio.h>
#include <rte_compat.h>
#include <rte_debug.h>
#include <rte_interrupts.h>
#include <rte_dev.h>
#include <rte_bus.h>
#include <rte_tailq.h>
#include <rte_devargs.h>
#include <rte_mbuf.h>
@ -69,15 +69,9 @@ dpaa2_seqn(struct rte_mbuf *mbuf)
struct rte_dpaa2_driver;
/* DPAA2 Device and Driver lists for FSLMC bus */
TAILQ_HEAD(rte_fslmc_device_list, rte_dpaa2_device);
TAILQ_HEAD(rte_fslmc_driver_list, rte_dpaa2_driver);
#define RTE_DEV_TO_FSLMC_CONST(ptr) \
container_of(ptr, const struct rte_dpaa2_device, device)
extern struct rte_fslmc_bus rte_fslmc_bus;
enum rte_dpaa2_dev_type {
/* Devices backed by DPDK driver */
DPAA2_ETH, /**< DPNI type device*/
@ -146,26 +140,12 @@ typedef int (*rte_dpaa2_remove_t)(struct rte_dpaa2_device *dpaa2_dev);
struct rte_dpaa2_driver {
TAILQ_ENTRY(rte_dpaa2_driver) next; /**< Next in list. */
struct rte_driver driver; /**< Inherit core driver. */
struct rte_fslmc_bus *fslmc_bus; /**< FSLMC bus reference */
uint32_t drv_flags; /**< Flags for controlling device.*/
enum rte_dpaa2_dev_type drv_type; /**< Driver Type */
rte_dpaa2_probe_t probe;
rte_dpaa2_remove_t remove;
};
/*
* FSLMC bus
*/
struct rte_fslmc_bus {
struct rte_bus bus; /**< Generic Bus object */
struct rte_fslmc_device_list device_list;
/**< FSLMC DPAA2 Device list */
struct rte_fslmc_driver_list driver_list;
/**< FSLMC DPAA2 Driver list */
int device_count[DPAA2_DEVTYPE_MAX];
/**< Count of all devices scanned */
};
/**
* Register a DPAA2 driver.
*
@ -230,4 +210,4 @@ RTE_PMD_EXPORT_NAME(nm, __COUNTER__)
}
#endif
#endif /* _RTE_FSLMC_H_ */
#endif /* BUS_FSLMC_DRIVER_H */

View File

@ -16,7 +16,7 @@
#include <ethdev_driver.h>
#include <rte_mbuf_dyn.h>
#include <rte_fslmc.h>
#include "private.h"
#include <fslmc_vfio.h>
#include "fslmc_logs.h"
@ -530,27 +530,19 @@ rte_fslmc_driver_register(struct rte_dpaa2_driver *driver)
RTE_VERIFY(driver);
TAILQ_INSERT_TAIL(&rte_fslmc_bus.driver_list, driver, next);
/* Update Bus references */
driver->fslmc_bus = &rte_fslmc_bus;
}
/*un-register a fslmc bus based dpaa2 driver */
void
rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver)
{
struct rte_fslmc_bus *fslmc_bus;
fslmc_bus = driver->fslmc_bus;
/* Cleanup the PA->VA Translation table; From wherever this function
* is called from.
*/
if (rte_eal_iova_mode() == RTE_IOVA_PA)
dpaax_iova_table_depopulate();
TAILQ_REMOVE(&fslmc_bus->driver_list, driver, next);
/* Update Bus references */
driver->fslmc_bus = NULL;
TAILQ_REMOVE(&rte_fslmc_bus.driver_list, driver, next);
}
/*

View File

@ -29,10 +29,9 @@
#include <rte_cycles.h>
#include <rte_kvargs.h>
#include <rte_dev.h>
#include <rte_bus.h>
#include <rte_eal_memconfig.h>
#include "rte_fslmc.h"
#include "private.h"
#include "fslmc_vfio.h"
#include "fslmc_logs.h"
#include <mc/fsl_dpmng.h>

View File

@ -23,7 +23,7 @@
#include <rte_mbuf_pool_ops.h>
#include <fslmc_logs.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <mc/fsl_dpbp.h>
#include "portal/dpaa2_hw_pvt.h"
#include "portal/dpaa2_hw_dpio.h"

View File

@ -21,7 +21,7 @@
#include <ethdev_driver.h>
#include <fslmc_logs.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <mc/fsl_dpci.h>
#include "portal/dpaa2_hw_pvt.h"
#include "portal/dpaa2_hw_dpio.h"

View File

@ -33,7 +33,7 @@
#include <rte_dev.h>
#include <fslmc_logs.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include "dpaa2_hw_pvt.h"
#include "dpaa2_hw_dpio.h"
#include <mc/fsl_dpmng.h>

View File

@ -12,8 +12,8 @@
#include <rte_malloc.h>
#include <rte_dev.h>
#include "private.h"
#include <fslmc_logs.h>
#include <rte_fslmc.h>
#include <mc/fsl_dprc.h>
#include "portal/dpaa2_hw_pvt.h"

View File

@ -0,0 +1,27 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright 2016,2021 NXP
*/
#ifndef BUS_FSLMC_PRIVATE_H
#define BUS_FSLMC_PRIVATE_H
#include <rte_bus.h>
#include <bus_fslmc_driver.h>
/*
* FSLMC bus
*/
struct rte_fslmc_bus {
struct rte_bus bus; /**< Generic Bus object */
TAILQ_HEAD(, rte_dpaa2_device) device_list;
/**< FSLMC DPAA2 Device list */
TAILQ_HEAD(, rte_dpaa2_driver) driver_list;
/**< FSLMC DPAA2 Driver list */
int device_count[DPAA2_DEVTYPE_MAX];
/**< Count of all devices scanned */
};
extern struct rte_fslmc_bus rte_fslmc_bus;
#endif /* BUS_FSLMC_PRIVATE_H */

View File

@ -20,7 +20,7 @@
#include <rte_dev.h>
#include <cryptodev_pmd.h>
#include <rte_common.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <fslmc_vfio.h>
#include <dpaa2_hw_pvt.h>
#include <dpaa2_hw_dpio.h>

View File

@ -3,7 +3,7 @@
*/
#include <cryptodev_pmd.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <fslmc_vfio.h>
#include <dpaa2_hw_pvt.h>
#include <dpaa2_hw_dpio.h>

View File

@ -3,7 +3,7 @@
*/
#include <rte_eal.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <rte_dmadev.h>
#include <rte_dmadev_pmd.h>
#include <rte_kvargs.h>

View File

@ -16,7 +16,7 @@
#include <rte_debug.h>
#include <rte_dev.h>
#include <rte_eal.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <rte_lcore.h>
#include <rte_log.h>
#include <rte_malloc.h>

View File

@ -19,7 +19,7 @@
#include <rte_random.h>
#include <rte_bus_vdev.h>
#include <rte_test.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include "dpaa2_eventdev.h"
#include "dpaa2_eventdev_logs.h"

View File

@ -20,7 +20,7 @@
#include <rte_dev.h>
#include <ethdev_driver.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <mc/fsl_dpcon.h>
#include <portal/dpaa2_hw_pvt.h>
#include "dpaa2_eventdev.h"

View File

@ -16,7 +16,7 @@
#include <rte_cycles.h>
#include <rte_kvargs.h>
#include <rte_dev.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <rte_flow_driver.h>
#include "rte_dpaa2_mempool.h"

View File

@ -11,7 +11,7 @@
#include <rte_event_eth_rx_adapter.h>
#include <rte_pmd_dpaa2.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <dpaa2_hw_pvt.h>
#include "dpaa2_tm.h"

View File

@ -16,7 +16,7 @@
#include <rte_flow_driver.h>
#include <rte_tailq.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <fsl_dpdmux.h>
#include <fsl_dpkg.h>

View File

@ -16,7 +16,7 @@
#include <rte_malloc.h>
#include <rte_time.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <fsl_dprtc.h>
#include <fsl_dpkg.h>

View File

@ -15,7 +15,7 @@
#include <rte_cycles.h>
#include <rte_kvargs.h>
#include <rte_dev.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <rte_flow_driver.h>
#include "dpaa2_pmd_logs.h"

View File

@ -16,7 +16,7 @@
#include <rte_dev.h>
#include <rte_hexdump.h>
#include <rte_fslmc.h>
#include <bus_fslmc_driver.h>
#include <fslmc_vfio.h>
#include <dpaa2_hw_pvt.h>
#include <dpaa2_hw_dpio.h>