The dpaa 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.march...@redhat.com> Acked-by: Hemant Agrawal <hemant.agra...@nxp.com> --- Changes since RFC v2: - squashed cleanup for this bus code from other patches, - updated release notes, --- drivers/bus/dpaa/base/qbman/qman.c | 2 +- .../{rte_dpaa_bus.h => bus_dpaa_driver.h} | 25 ++++++------------- drivers/bus/dpaa/dpaa_bus.c | 20 +++++++-------- drivers/crypto/dpaa_sec/dpaa_sec.c | 2 +- drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c | 2 +- drivers/dma/dpaa/dpaa_qdma.c | 2 +- drivers/event/dpaa/dpaa_eventdev.c | 2 +- drivers/mempool/dpaa/dpaa_mempool.h | 2 +- drivers/net/dpaa/dpaa_ethdev.c | 2 +- drivers/net/dpaa/dpaa_rxtx.c | 2 +- 10 files changed, 26 insertions(+), 35 deletions(-) rename drivers/bus/dpaa/{rte_dpaa_bus.h => bus_dpaa_driver.h} (92%) diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c index 447c091770..3949bf8712 100644 --- a/drivers/bus/dpaa/base/qbman/qman.c +++ b/drivers/bus/dpaa/base/qbman/qman.c @@ -7,7 +7,7 @@ #include "qman.h" #include <rte_branch_prediction.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_eventdev.h> #include <rte_byteorder.h> diff --git a/drivers/bus/dpaa/rte_dpaa_bus.h b/drivers/bus/dpaa/bus_dpaa_driver.h similarity index 92% rename from drivers/bus/dpaa/rte_dpaa_bus.h rename to drivers/bus/dpaa/bus_dpaa_driver.h index 1f04d9ebd3..cf66fc0c53 100644 --- a/drivers/bus/dpaa/rte_dpaa_bus.h +++ b/drivers/bus/dpaa/bus_dpaa_driver.h @@ -3,12 +3,14 @@ * Copyright 2017-2022 NXP * */ -#ifndef __RTE_DPAA_BUS_H__ -#define __RTE_DPAA_BUS_H__ +#ifndef BUS_DPAA_DRIVER_H +#define BUS_DPAA_DRIVER_H -#include <rte_bus.h> +#include <rte_compat.h> +#include <rte_dev.h> #include <rte_mbuf_dyn.h> #include <rte_mempool.h> + #include <dpaax_iova_table.h> #include <dpaa_of.h> @@ -73,24 +75,12 @@ extern unsigned int dpaa_svr_family; struct rte_dpaa_device; struct rte_dpaa_driver; -/* DPAA Device and Driver lists for DPAA bus */ -TAILQ_HEAD(rte_dpaa_device_list, rte_dpaa_device); -TAILQ_HEAD(rte_dpaa_driver_list, rte_dpaa_driver); - enum rte_dpaa_type { FSL_DPAA_ETH = 1, FSL_DPAA_CRYPTO, FSL_DPAA_QDMA }; -struct rte_dpaa_bus { - struct rte_bus bus; - struct rte_dpaa_device_list device_list; - struct rte_dpaa_driver_list driver_list; - int device_count; - int detected; -}; - struct dpaa_device_id { uint8_t fman_id; /**< Fman interface ID, for ETH type device */ uint8_t mac_id; /**< Fman MAC interface ID, for ETH type device */ @@ -119,7 +109,6 @@ typedef int (*rte_dpaa_remove_t)(struct rte_dpaa_device *dpaa_dev); struct rte_dpaa_driver { TAILQ_ENTRY(rte_dpaa_driver) next; struct rte_driver driver; - struct rte_dpaa_bus *dpaa_bus; enum rte_dpaa_type drv_type; rte_dpaa_probe_t probe; rte_dpaa_remove_t remove; @@ -166,6 +155,7 @@ extern struct dpaa_memseg_list rte_dpaa_memsegs; /* Either iterate over the list of internal memseg references or fallback to * EAL memseg based iova2virt. */ +__rte_internal static inline void *rte_dpaa_mem_ptov(phys_addr_t paddr) { struct dpaa_memseg *ms; @@ -192,6 +182,7 @@ static inline void *rte_dpaa_mem_ptov(phys_addr_t paddr) return va; } +__rte_internal static inline rte_iova_t rte_dpaa_mem_vtop(void *vaddr) { @@ -263,4 +254,4 @@ struct fm_eth_port_cfg *dpaa_get_eth_port_cfg(int dev_id); } #endif -#endif /* __RTE_DPAA_BUS_H__ */ +#endif /* BUS_DPAA_DRIVER_H */ diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c index e442bc4c33..1ac6aa314f 100644 --- a/drivers/bus/dpaa/dpaa_bus.c +++ b/drivers/bus/dpaa/dpaa_bus.c @@ -34,7 +34,7 @@ #include <rte_mbuf_dyn.h> #include <dpaa_of.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_dpaa_logs.h> #include <dpaax_iova_table.h> @@ -43,6 +43,14 @@ #include <fsl_bman.h> #include <netcfg.h> +struct rte_dpaa_bus { + struct rte_bus bus; + TAILQ_HEAD(, rte_dpaa_device) device_list; + TAILQ_HEAD(, rte_dpaa_driver) driver_list; + int device_count; + int detected; +}; + static struct rte_dpaa_bus rte_dpaa_bus; struct netcfg_info *dpaa_netcfg; @@ -520,23 +528,15 @@ rte_dpaa_driver_register(struct rte_dpaa_driver *driver) BUS_INIT_FUNC_TRACE(); TAILQ_INSERT_TAIL(&rte_dpaa_bus.driver_list, driver, next); - /* Update Bus references */ - driver->dpaa_bus = &rte_dpaa_bus; } /* un-register a dpaa bus based dpaa driver */ void rte_dpaa_driver_unregister(struct rte_dpaa_driver *driver) { - struct rte_dpaa_bus *dpaa_bus; - BUS_INIT_FUNC_TRACE(); - dpaa_bus = driver->dpaa_bus; - - TAILQ_REMOVE(&dpaa_bus->driver_list, driver, next); - /* Update Bus references */ - driver->dpaa_bus = NULL; + TAILQ_REMOVE(&rte_dpaa_bus.driver_list, driver, next); } static int diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c index 05415dbf3b..7e554cb2b1 100644 --- a/drivers/crypto/dpaa_sec/dpaa_sec.c +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c @@ -41,7 +41,7 @@ #include <desc/pdcp.h> #include <desc/sdap.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <dpaa_sec.h> #include <dpaa_sec_event.h> #include <dpaa_sec_log.h> diff --git a/drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c b/drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c index d081953e26..29c5935739 100644 --- a/drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c +++ b/drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c @@ -15,7 +15,7 @@ #include <desc/algo.h> #include <desc/ipsec.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <dpaa_sec.h> #include <dpaa_sec_log.h> diff --git a/drivers/dma/dpaa/dpaa_qdma.c b/drivers/dma/dpaa/dpaa_qdma.c index 9386fe5698..10e65ef1d7 100644 --- a/drivers/dma/dpaa/dpaa_qdma.c +++ b/drivers/dma/dpaa/dpaa_qdma.c @@ -2,7 +2,7 @@ * Copyright 2021 NXP */ -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_dmadev_pmd.h> #include "dpaa_qdma.h" diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c index ff6cc0be18..aa403f9e06 100644 --- a/drivers/event/dpaa/dpaa_eventdev.c +++ b/drivers/event/dpaa/dpaa_eventdev.c @@ -29,7 +29,7 @@ #include <rte_event_eth_rx_adapter.h> #include <rte_event_eth_tx_adapter.h> #include <cryptodev_pmd.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_dpaa_logs.h> #include <rte_cycles.h> #include <rte_kvargs.h> diff --git a/drivers/mempool/dpaa/dpaa_mempool.h b/drivers/mempool/dpaa/dpaa_mempool.h index dc0058e6dd..3f0eafa7dd 100644 --- a/drivers/mempool/dpaa/dpaa_mempool.h +++ b/drivers/mempool/dpaa/dpaa_mempool.h @@ -14,7 +14,7 @@ #include <rte_mempool.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_dpaa_logs.h> #include <fsl_usd.h> diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index e5a072cf49..f21cbba0d9 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -33,7 +33,7 @@ #include <rte_malloc.h> #include <rte_ring.h> -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <rte_dpaa_logs.h> #include <dpaa_mempool.h> diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index 956fe946fa..20b75efb63 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -37,7 +37,7 @@ #include "dpaa_ethdev.h" #include "dpaa_rxtx.h" -#include <rte_dpaa_bus.h> +#include <bus_dpaa_driver.h> #include <dpaa_mempool.h> #include <qman.h> -- 2.37.2