path: root/drivers/net/mlx5/mlx5_ethdev.c
diff options
authorYongseok Koh <>2019-04-10 11:41:17 -0700
committerFerruh Yigit <>2019-04-12 11:02:02 +0200
commit120dc4a7dcd3bf8b9c85522ea559c3219b132e2d (patch)
treea0745358915e35b5d4af29626ced9ad119516898 /drivers/net/mlx5/mlx5_ethdev.c
parentd5c900d1dd8584db0c2af9156d9555586ce37e1e (diff)
net/mlx5: remove device register remap
UAR (User Access Region) register does not need to be remapped for primary process but it should be remapped only for secondary process. UAR register table is in the process private structure in rte_eth_devices[], (struct mlx5_proc_priv *)rte_eth_devices[port_id].process_private The actual UAR table follows the data structure and the table is used for both Tx and Rx. For Tx, BlueFlame in UAR is used to ring the doorbell. MLX5_TX_BFREG(txq) is defined to get a register for the txq. Processes access its own private data to acquire the register from the UAR table. For Rx, the doorbell in UAR is required in arming CQ event. However, it is a known issue that the register isn't remapped for secondary process. Signed-off-by: Yongseok Koh <>
Diffstat (limited to 'drivers/net/mlx5/mlx5_ethdev.c')
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 1e6fe19..3992918 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -450,6 +450,9 @@ mlx5_dev_configure(struct rte_eth_dev *dev)
if (++j == rxqs_n)
j = 0;
+ ret = mlx5_proc_priv_init(dev);
+ if (ret)
+ return ret;
return 0;