From 051ae3af3ebadc29f15b444f43d3bae6cb6f7996 Mon Sep 17 00:00:00 2001 From: Hemant Agrawal Date: Fri, 15 May 2020 15:17:50 +0530 Subject: [PATCH] bus/dpaa: add accessor for netcfg This patch changes the export of fman port config as function call instead of direct variable access. This is in control path, so it will not impact perf. Signed-off-by: Hemant Agrawal Acked-by: Ray Kinsella --- drivers/bus/dpaa/dpaa_bus.c | 6 ++++++ drivers/bus/dpaa/rte_bus_dpaa_version.map | 2 +- drivers/bus/dpaa/rte_dpaa_bus.h | 6 +++--- drivers/net/dpaa/dpaa_ethdev.c | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c index 41d42b0c30..d53fe6083a 100644 --- a/drivers/bus/dpaa/dpaa_bus.c +++ b/drivers/bus/dpaa/dpaa_bus.c @@ -57,6 +57,12 @@ unsigned int dpaa_svr_family; RTE_DEFINE_PER_LCORE(bool, dpaa_io); RTE_DEFINE_PER_LCORE(struct dpaa_portal_dqrr, held_bufs); +struct fm_eth_port_cfg * +dpaa_get_eth_port_cfg(int dev_id) +{ + return &dpaa_netcfg->port_cfg[dev_id]; +} + static int compare_dpaa_devices(struct rte_dpaa_device *dev1, struct rte_dpaa_device *dev2) diff --git a/drivers/bus/dpaa/rte_bus_dpaa_version.map b/drivers/bus/dpaa/rte_bus_dpaa_version.map index 808e80eef8..46d42f7d64 100644 --- a/drivers/bus/dpaa/rte_bus_dpaa_version.map +++ b/drivers/bus/dpaa/rte_bus_dpaa_version.map @@ -12,9 +12,9 @@ INTERNAL { bman_query_free_buffers; bman_release; bman_thread_irq; + dpaa_get_eth_port_cfg; dpaa_get_qm_channel_caam; dpaa_get_qm_channel_pool; - dpaa_netcfg; dpaa_svr_family; fman_dealloc_bufs_mask_hi; fman_dealloc_bufs_mask_lo; diff --git a/drivers/bus/dpaa/rte_dpaa_bus.h b/drivers/bus/dpaa/rte_dpaa_bus.h index d4aee132ef..2a186d83fb 100644 --- a/drivers/bus/dpaa/rte_dpaa_bus.h +++ b/drivers/bus/dpaa/rte_dpaa_bus.h @@ -44,9 +44,6 @@ struct rte_dpaa_driver; TAILQ_HEAD(rte_dpaa_device_list, rte_dpaa_device); TAILQ_HEAD(rte_dpaa_driver_list, rte_dpaa_driver); -/* Configuration variables exported from DPAA bus */ -extern struct netcfg_info *dpaa_netcfg; - enum rte_dpaa_type { FSL_DPAA_ETH = 1, FSL_DPAA_CRYPTO, @@ -217,6 +214,9 @@ RTE_DECLARE_PER_LCORE(struct dpaa_portal_dqrr, held_bufs); #define DPAA_PER_LCORE_DQRR_HELD RTE_PER_LCORE(held_bufs).dqrr_held #define DPAA_PER_LCORE_DQRR_MBUF(i) RTE_PER_LCORE(held_bufs).mbuf[i] +__rte_internal +struct fm_eth_port_cfg *dpaa_get_eth_port_cfg(int dev_id); + #ifdef __cplusplus } #endif diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index c97f3042be..13d1c6a1fc 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -1332,7 +1332,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev) dpaa_device = DEV_TO_DPAA_DEVICE(eth_dev->device); dev_id = dpaa_device->id.dev_id; dpaa_intf = eth_dev->data->dev_private; - cfg = &dpaa_netcfg->port_cfg[dev_id]; + cfg = dpaa_get_eth_port_cfg(dev_id); fman_intf = cfg->fman_if; dpaa_intf->name = dpaa_device->name; -- 2.20.1