aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormajd@mellanox.com <majd@mellanox.com>2016-01-14 12:12:59 -0500
committerDoug Ledford <dledford@redhat.com>2016-01-21 12:01:08 -0500
commit8d7f9ecb371a15e48754fa816e3f716517df7b13 (patch)
treec35a948b59d32d0d7fc2e2d2241a4e770ff75fe0
parentf72300c56c3bedac5fdb22cdc90f6633dc858c84 (diff)
net/mlx5_core: Export transport objects
To be used by mlx5_ib in the following patches for implementing RAW PACKET QP. Add mlx5_core_ prefix to alloc and delloc transport_domain since they are exposed now. Signed-off-by: Majd Dibbiny <majd@mellanox.com> Reviewed-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en.h2
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_main.c6
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/srq.c2
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/transobj.c14
-rw-r--r--include/linux/mlx5/transobj.h (renamed from drivers/net/ethernet/mellanox/mlx5/core/transobj.h)6
5 files changed, 20 insertions, 10 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h
index 22e72bf1ae48..034ccab6d9a8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
@@ -36,8 +36,8 @@
36#include <linux/mlx5/qp.h> 36#include <linux/mlx5/qp.h>
37#include <linux/mlx5/cq.h> 37#include <linux/mlx5/cq.h>
38#include <linux/mlx5/vport.h> 38#include <linux/mlx5/vport.h>
39#include <linux/mlx5/transobj.h>
39#include "wq.h" 40#include "wq.h"
40#include "transobj.h"
41#include "mlx5_core.h" 41#include "mlx5_core.h"
42 42
43#define MLX5E_MAX_NUM_TC 8 43#define MLX5E_MAX_NUM_TC 8
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 1e52db32c73d..7eb373564ad4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -2129,7 +2129,7 @@ static void *mlx5e_create_netdev(struct mlx5_core_dev *mdev)
2129 goto err_unmap_free_uar; 2129 goto err_unmap_free_uar;
2130 } 2130 }
2131 2131
2132 err = mlx5_alloc_transport_domain(mdev, &priv->tdn); 2132 err = mlx5_core_alloc_transport_domain(mdev, &priv->tdn);
2133 if (err) { 2133 if (err) {
2134 mlx5_core_err(mdev, "alloc td failed, %d\n", err); 2134 mlx5_core_err(mdev, "alloc td failed, %d\n", err);
2135 goto err_dealloc_pd; 2135 goto err_dealloc_pd;
@@ -2212,7 +2212,7 @@ err_destroy_mkey:
2212 mlx5_core_destroy_mkey(mdev, &priv->mr); 2212 mlx5_core_destroy_mkey(mdev, &priv->mr);
2213 2213
2214err_dealloc_transport_domain: 2214err_dealloc_transport_domain:
2215 mlx5_dealloc_transport_domain(mdev, priv->tdn); 2215 mlx5_core_dealloc_transport_domain(mdev, priv->tdn);
2216 2216
2217err_dealloc_pd: 2217err_dealloc_pd:
2218 mlx5_core_dealloc_pd(mdev, priv->pdn); 2218 mlx5_core_dealloc_pd(mdev, priv->pdn);
@@ -2244,7 +2244,7 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
2244 mlx5e_close_drop_rq(priv); 2244 mlx5e_close_drop_rq(priv);
2245 mlx5e_destroy_tises(priv); 2245 mlx5e_destroy_tises(priv);
2246 mlx5_core_destroy_mkey(priv->mdev, &priv->mr); 2246 mlx5_core_destroy_mkey(priv->mdev, &priv->mr);
2247 mlx5_dealloc_transport_domain(priv->mdev, priv->tdn); 2247 mlx5_core_dealloc_transport_domain(priv->mdev, priv->tdn);
2248 mlx5_core_dealloc_pd(priv->mdev, priv->pdn); 2248 mlx5_core_dealloc_pd(priv->mdev, priv->pdn);
2249 mlx5_unmap_free_uar(priv->mdev, &priv->cq_uar); 2249 mlx5_unmap_free_uar(priv->mdev, &priv->cq_uar);
2250 free_netdev(netdev); 2250 free_netdev(netdev);
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/srq.c b/drivers/net/ethernet/mellanox/mlx5/core/srq.c
index ec5f901cfcfe..04bc522605a0 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/srq.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/srq.c
@@ -37,7 +37,7 @@
37#include <linux/mlx5/srq.h> 37#include <linux/mlx5/srq.h>
38#include <rdma/ib_verbs.h> 38#include <rdma/ib_verbs.h>
39#include "mlx5_core.h" 39#include "mlx5_core.h"
40#include "transobj.h" 40#include <linux/mlx5/transobj.h>
41 41
42void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type) 42void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type)
43{ 43{
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/transobj.c b/drivers/net/ethernet/mellanox/mlx5/core/transobj.c
index d7068f54e800..91ea2780e412 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/transobj.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/transobj.c
@@ -32,9 +32,9 @@
32 32
33#include <linux/mlx5/driver.h> 33#include <linux/mlx5/driver.h>
34#include "mlx5_core.h" 34#include "mlx5_core.h"
35#include "transobj.h" 35#include <linux/mlx5/transobj.h>
36 36
37int mlx5_alloc_transport_domain(struct mlx5_core_dev *dev, u32 *tdn) 37int mlx5_core_alloc_transport_domain(struct mlx5_core_dev *dev, u32 *tdn)
38{ 38{
39 u32 in[MLX5_ST_SZ_DW(alloc_transport_domain_in)]; 39 u32 in[MLX5_ST_SZ_DW(alloc_transport_domain_in)];
40 u32 out[MLX5_ST_SZ_DW(alloc_transport_domain_out)]; 40 u32 out[MLX5_ST_SZ_DW(alloc_transport_domain_out)];
@@ -53,8 +53,9 @@ int mlx5_alloc_transport_domain(struct mlx5_core_dev *dev, u32 *tdn)
53 53
54 return err; 54 return err;
55} 55}
56EXPORT_SYMBOL(mlx5_core_alloc_transport_domain);
56 57
57void mlx5_dealloc_transport_domain(struct mlx5_core_dev *dev, u32 tdn) 58void mlx5_core_dealloc_transport_domain(struct mlx5_core_dev *dev, u32 tdn)
58{ 59{
59 u32 in[MLX5_ST_SZ_DW(dealloc_transport_domain_in)]; 60 u32 in[MLX5_ST_SZ_DW(dealloc_transport_domain_in)];
60 u32 out[MLX5_ST_SZ_DW(dealloc_transport_domain_out)]; 61 u32 out[MLX5_ST_SZ_DW(dealloc_transport_domain_out)];
@@ -68,6 +69,7 @@ void mlx5_dealloc_transport_domain(struct mlx5_core_dev *dev, u32 tdn)
68 69
69 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out)); 70 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out));
70} 71}
72EXPORT_SYMBOL(mlx5_core_dealloc_transport_domain);
71 73
72int mlx5_core_create_rq(struct mlx5_core_dev *dev, u32 *in, int inlen, u32 *rqn) 74int mlx5_core_create_rq(struct mlx5_core_dev *dev, u32 *in, int inlen, u32 *rqn)
73{ 75{
@@ -94,6 +96,7 @@ int mlx5_core_modify_rq(struct mlx5_core_dev *dev, u32 rqn, u32 *in, int inlen)
94 memset(out, 0, sizeof(out)); 96 memset(out, 0, sizeof(out));
95 return mlx5_cmd_exec_check_status(dev, in, inlen, out, sizeof(out)); 97 return mlx5_cmd_exec_check_status(dev, in, inlen, out, sizeof(out));
96} 98}
99EXPORT_SYMBOL(mlx5_core_modify_rq);
97 100
98void mlx5_core_destroy_rq(struct mlx5_core_dev *dev, u32 rqn) 101void mlx5_core_destroy_rq(struct mlx5_core_dev *dev, u32 rqn)
99{ 102{
@@ -133,6 +136,7 @@ int mlx5_core_modify_sq(struct mlx5_core_dev *dev, u32 sqn, u32 *in, int inlen)
133 memset(out, 0, sizeof(out)); 136 memset(out, 0, sizeof(out));
134 return mlx5_cmd_exec_check_status(dev, in, inlen, out, sizeof(out)); 137 return mlx5_cmd_exec_check_status(dev, in, inlen, out, sizeof(out));
135} 138}
139EXPORT_SYMBOL(mlx5_core_modify_sq);
136 140
137void mlx5_core_destroy_sq(struct mlx5_core_dev *dev, u32 sqn) 141void mlx5_core_destroy_sq(struct mlx5_core_dev *dev, u32 sqn)
138{ 142{
@@ -162,6 +166,7 @@ int mlx5_core_create_tir(struct mlx5_core_dev *dev, u32 *in, int inlen,
162 166
163 return err; 167 return err;
164} 168}
169EXPORT_SYMBOL(mlx5_core_create_tir);
165 170
166int mlx5_core_modify_tir(struct mlx5_core_dev *dev, u32 tirn, u32 *in, 171int mlx5_core_modify_tir(struct mlx5_core_dev *dev, u32 tirn, u32 *in,
167 int inlen) 172 int inlen)
@@ -187,6 +192,7 @@ void mlx5_core_destroy_tir(struct mlx5_core_dev *dev, u32 tirn)
187 192
188 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out)); 193 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out));
189} 194}
195EXPORT_SYMBOL(mlx5_core_destroy_tir);
190 196
191int mlx5_core_create_tis(struct mlx5_core_dev *dev, u32 *in, int inlen, 197int mlx5_core_create_tis(struct mlx5_core_dev *dev, u32 *in, int inlen,
192 u32 *tisn) 198 u32 *tisn)
@@ -203,6 +209,7 @@ int mlx5_core_create_tis(struct mlx5_core_dev *dev, u32 *in, int inlen,
203 209
204 return err; 210 return err;
205} 211}
212EXPORT_SYMBOL(mlx5_core_create_tis);
206 213
207void mlx5_core_destroy_tis(struct mlx5_core_dev *dev, u32 tisn) 214void mlx5_core_destroy_tis(struct mlx5_core_dev *dev, u32 tisn)
208{ 215{
@@ -216,6 +223,7 @@ void mlx5_core_destroy_tis(struct mlx5_core_dev *dev, u32 tisn)
216 223
217 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out)); 224 mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out));
218} 225}
226EXPORT_SYMBOL(mlx5_core_destroy_tis);
219 227
220int mlx5_core_create_rmp(struct mlx5_core_dev *dev, u32 *in, int inlen, 228int mlx5_core_create_rmp(struct mlx5_core_dev *dev, u32 *in, int inlen,
221 u32 *rmpn) 229 u32 *rmpn)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/transobj.h b/include/linux/mlx5/transobj.h
index 74cae51436e4..376229f09499 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/transobj.h
+++ b/include/linux/mlx5/transobj.h
@@ -33,8 +33,10 @@
33#ifndef __TRANSOBJ_H__ 33#ifndef __TRANSOBJ_H__
34#define __TRANSOBJ_H__ 34#define __TRANSOBJ_H__
35 35
36int mlx5_alloc_transport_domain(struct mlx5_core_dev *dev, u32 *tdn); 36#include <linux/mlx5/driver.h>
37void mlx5_dealloc_transport_domain(struct mlx5_core_dev *dev, u32 tdn); 37
38int mlx5_core_alloc_transport_domain(struct mlx5_core_dev *dev, u32 *tdn);
39void mlx5_core_dealloc_transport_domain(struct mlx5_core_dev *dev, u32 tdn);
38int mlx5_core_create_rq(struct mlx5_core_dev *dev, u32 *in, int inlen, 40int mlx5_core_create_rq(struct mlx5_core_dev *dev, u32 *in, int inlen,
39 u32 *rqn); 41 u32 *rqn);
40int mlx5_core_modify_rq(struct mlx5_core_dev *dev, u32 rqn, u32 *in, int inlen); 42int mlx5_core_modify_rq(struct mlx5_core_dev *dev, u32 rqn, u32 *in, int inlen);