Skip to content

Commit e396ecc

Browse files
author
Saeed Mahameed
committed
Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux
* 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux: net/mlx5: kTLS, Improve TLS params layout structures net/mlx5: Avoid eswitch header inclusion in fs core layer net/mlx5: Avoid RDMA file inclusion in core driver net/mlx5: Add support in query QP, CQ and MKEY segments net/mlx5: Export resource dump interface Signed-off-by: Saeed Mahameed <[email protected]>
2 parents b08866f + 2d1b69e commit e396ecc

File tree

11 files changed

+81
-46
lines changed

11 files changed

+81
-46
lines changed

drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ static const char *const mlx5_rsc_sgmt_name[] = {
2323
MLX5_SGMT_STR_ASSING(SX_SLICE_ALL),
2424
MLX5_SGMT_STR_ASSING(RDB),
2525
MLX5_SGMT_STR_ASSING(RX_SLICE_ALL),
26+
MLX5_SGMT_STR_ASSING(PRM_QUERY_QP),
27+
MLX5_SGMT_STR_ASSING(PRM_QUERY_CQ),
28+
MLX5_SGMT_STR_ASSING(PRM_QUERY_MKEY),
2629
};
2730

2831
struct mlx5_rsc_dump {
@@ -130,11 +133,13 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
130133
cmd->mem_size = key->size;
131134
return cmd;
132135
}
136+
EXPORT_SYMBOL(mlx5_rsc_dump_cmd_create);
133137

134138
void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)
135139
{
136140
kfree(cmd);
137141
}
142+
EXPORT_SYMBOL(mlx5_rsc_dump_cmd_destroy);
138143

139144
int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
140145
struct page *page, int *size)
@@ -155,6 +160,7 @@ int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
155160

156161
return more_dump;
157162
}
163+
EXPORT_SYMBOL(mlx5_rsc_dump_next);
158164

159165
#define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff
160166
static int mlx5_rsc_dump_menu(struct mlx5_core_dev *dev)

drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,10 @@
44
#ifndef __MLX5_RSC_DUMP_H
55
#define __MLX5_RSC_DUMP_H
66

7+
#include <linux/mlx5/rsc_dump.h>
78
#include <linux/mlx5/driver.h>
89
#include "mlx5_core.h"
910

10-
enum mlx5_sgmt_type {
11-
MLX5_SGMT_TYPE_HW_CQPC,
12-
MLX5_SGMT_TYPE_HW_SQPC,
13-
MLX5_SGMT_TYPE_HW_RQPC,
14-
MLX5_SGMT_TYPE_FULL_SRQC,
15-
MLX5_SGMT_TYPE_FULL_CQC,
16-
MLX5_SGMT_TYPE_FULL_EQC,
17-
MLX5_SGMT_TYPE_FULL_QPC,
18-
MLX5_SGMT_TYPE_SND_BUFF,
19-
MLX5_SGMT_TYPE_RCV_BUFF,
20-
MLX5_SGMT_TYPE_SRQ_BUFF,
21-
MLX5_SGMT_TYPE_CQ_BUFF,
22-
MLX5_SGMT_TYPE_EQ_BUFF,
23-
MLX5_SGMT_TYPE_SX_SLICE,
24-
MLX5_SGMT_TYPE_SX_SLICE_ALL,
25-
MLX5_SGMT_TYPE_RDB,
26-
MLX5_SGMT_TYPE_RX_SLICE_ALL,
27-
MLX5_SGMT_TYPE_MENU,
28-
MLX5_SGMT_TYPE_TERMINATE,
29-
30-
MLX5_SGMT_TYPE_NUM, /* Keep last */
31-
};
32-
33-
struct mlx5_rsc_key {
34-
enum mlx5_sgmt_type rsc;
35-
int index1;
36-
int index2;
37-
int num_of_obj1;
38-
int num_of_obj2;
39-
int size;
40-
};
41-
4211
#define MLX5_RSC_DUMP_ALL 0xFFFF
4312
struct mlx5_rsc_dump_cmd;
4413
struct mlx5_rsc_dump;

drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ mlx5e_notify_hw(struct mlx5_wq_cyc *wq, u16 pc, void __iomem *uar_map,
182182

183183
static inline bool mlx5e_transport_inline_tx_wqe(struct mlx5_wqe_ctrl_seg *cseg)
184184
{
185-
return cseg && !!cseg->tisn;
185+
return cseg && !!cseg->tis_tir_num;
186186
}
187187

188188
static inline u8

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
#define MLX5E_KTLS_PROGRESS_WQE_SZ \
2121
(offsetof(struct mlx5e_tx_wqe, tls_progress_params_ctx) + \
22-
MLX5_ST_SZ_BYTES(tls_progress_params))
22+
sizeof(struct mlx5_wqe_tls_progress_params_seg))
2323
#define MLX5E_KTLS_PROGRESS_WQEBBS \
2424
(DIV_ROUND_UP(MLX5E_KTLS_PROGRESS_WQE_SZ, MLX5_SEND_WQE_BB))
2525

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ build_static_params(struct mlx5e_umr_wqe *wqe, u16 pc, u32 sqn,
6464
cseg->qpn_ds = cpu_to_be32((sqn << MLX5_WQE_CTRL_QPN_SHIFT) |
6565
STATIC_PARAMS_DS_CNT);
6666
cseg->fm_ce_se = fence ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0;
67-
cseg->tisn = cpu_to_be32(priv_tx->tisn << 8);
67+
cseg->tis_tir_num = cpu_to_be32(priv_tx->tisn << 8);
6868

6969
ucseg->flags = MLX5_UMR_INLINE;
7070
ucseg->bsf_octowords = cpu_to_be16(MLX5_ST_SZ_BYTES(tls_static_params) / 16);
@@ -75,10 +75,14 @@ build_static_params(struct mlx5e_umr_wqe *wqe, u16 pc, u32 sqn,
7575
static void
7676
fill_progress_params_ctx(void *ctx, struct mlx5e_ktls_offload_context_tx *priv_tx)
7777
{
78-
MLX5_SET(tls_progress_params, ctx, tisn, priv_tx->tisn);
79-
MLX5_SET(tls_progress_params, ctx, record_tracker_state,
78+
struct mlx5_wqe_tls_progress_params_seg *params;
79+
80+
params = ctx;
81+
82+
params->tis_tir_num = cpu_to_be32(priv_tx->tisn);
83+
MLX5_SET(tls_progress_params, params->ctx, record_tracker_state,
8084
MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_START);
81-
MLX5_SET(tls_progress_params, ctx, auth_state,
85+
MLX5_SET(tls_progress_params, params->ctx, auth_state,
8286
MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD);
8387
}
8488

@@ -284,7 +288,7 @@ tx_post_resync_dump(struct mlx5e_txqsq *sq, skb_frag_t *frag, u32 tisn, bool fir
284288

285289
cseg->opmod_idx_opcode = cpu_to_be32((sq->pc << 8) | MLX5_OPCODE_DUMP);
286290
cseg->qpn_ds = cpu_to_be32((sq->sqn << 8) | ds_cnt);
287-
cseg->tisn = cpu_to_be32(tisn << 8);
291+
cseg->tis_tir_num = cpu_to_be32(tisn << 8);
288292
cseg->fm_ce_se = first ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0;
289293

290294
fsz = skb_frag_size(frag);

drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ bool mlx5e_tls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
305305
void mlx5e_tls_handle_tx_wqe(struct mlx5e_txqsq *sq, struct mlx5_wqe_ctrl_seg *cseg,
306306
struct mlx5e_accel_tx_tls_state *state)
307307
{
308-
cseg->tisn = cpu_to_be32(state->tls_tisn << 8);
308+
cseg->tis_tir_num = cpu_to_be32(state->tls_tisn << 8);
309309
}
310310

311311
static int tls_update_resync_sn(struct net_device *netdev,

include/linux/mlx5/cq.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#ifndef MLX5_CORE_CQ_H
3434
#define MLX5_CORE_CQ_H
3535

36-
#include <rdma/ib_verbs.h>
3736
#include <linux/mlx5/driver.h>
3837
#include <linux/refcount.h>
3938

include/linux/mlx5/device.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,15 @@ enum {
458458
MLX5_OPC_MOD_TLS_TIR_PROGRESS_PARAMS = 0x2,
459459
};
460460

461+
struct mlx5_wqe_tls_static_params_seg {
462+
u8 ctx[MLX5_ST_SZ_BYTES(tls_static_params)];
463+
};
464+
465+
struct mlx5_wqe_tls_progress_params_seg {
466+
__be32 tis_tir_num;
467+
u8 ctx[MLX5_ST_SZ_BYTES(tls_progress_params)];
468+
};
469+
461470
enum {
462471
MLX5_SET_PORT_RESET_QKEY = 0,
463472
MLX5_SET_PORT_GUID0 = 16,

include/linux/mlx5/mlx5_ifc.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10640,16 +10640,13 @@ struct mlx5_ifc_tls_static_params_bits {
1064010640
};
1064110641

1064210642
struct mlx5_ifc_tls_progress_params_bits {
10643-
u8 reserved_at_0[0x8];
10644-
u8 tisn[0x18];
10645-
1064610643
u8 next_record_tcp_sn[0x20];
1064710644

1064810645
u8 hw_resync_tcp_sn[0x20];
1064910646

1065010647
u8 record_tracker_state[0x2];
1065110648
u8 auth_state[0x2];
10652-
u8 reserved_at_64[0x4];
10649+
u8 reserved_at_44[0x4];
1065310650
u8 hw_offset_record_number[0x18];
1065410651
};
1065510652

include/linux/mlx5/qp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ struct mlx5_wqe_ctrl_seg {
209209
__be32 general_id;
210210
__be32 imm;
211211
__be32 umr_mkey;
212-
__be32 tisn;
212+
__be32 tis_tir_num;
213213
};
214214
};
215215

include/linux/mlx5/rsc_dump.h

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2+
/* Copyright (c) 2020 Mellanox Technologies inc. */
3+
4+
#include <linux/mlx5/driver.h>
5+
6+
#ifndef __MLX5_RSC_DUMP
7+
#define __MLX5_RSC_DUMP
8+
9+
enum mlx5_sgmt_type {
10+
MLX5_SGMT_TYPE_HW_CQPC,
11+
MLX5_SGMT_TYPE_HW_SQPC,
12+
MLX5_SGMT_TYPE_HW_RQPC,
13+
MLX5_SGMT_TYPE_FULL_SRQC,
14+
MLX5_SGMT_TYPE_FULL_CQC,
15+
MLX5_SGMT_TYPE_FULL_EQC,
16+
MLX5_SGMT_TYPE_FULL_QPC,
17+
MLX5_SGMT_TYPE_SND_BUFF,
18+
MLX5_SGMT_TYPE_RCV_BUFF,
19+
MLX5_SGMT_TYPE_SRQ_BUFF,
20+
MLX5_SGMT_TYPE_CQ_BUFF,
21+
MLX5_SGMT_TYPE_EQ_BUFF,
22+
MLX5_SGMT_TYPE_SX_SLICE,
23+
MLX5_SGMT_TYPE_SX_SLICE_ALL,
24+
MLX5_SGMT_TYPE_RDB,
25+
MLX5_SGMT_TYPE_RX_SLICE_ALL,
26+
MLX5_SGMT_TYPE_PRM_QUERY_QP,
27+
MLX5_SGMT_TYPE_PRM_QUERY_CQ,
28+
MLX5_SGMT_TYPE_PRM_QUERY_MKEY,
29+
MLX5_SGMT_TYPE_MENU,
30+
MLX5_SGMT_TYPE_TERMINATE,
31+
32+
MLX5_SGMT_TYPE_NUM, /* Keep last */
33+
};
34+
35+
struct mlx5_rsc_key {
36+
enum mlx5_sgmt_type rsc;
37+
int index1;
38+
int index2;
39+
int num_of_obj1;
40+
int num_of_obj2;
41+
int size;
42+
};
43+
44+
struct mlx5_rsc_dump_cmd;
45+
46+
struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
47+
struct mlx5_rsc_key *key);
48+
void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
49+
int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
50+
struct page *page, int *size);
51+
#endif /* __MLX5_RSC_DUMP */

0 commit comments

Comments
 (0)