projects
/
platform
/
kernel
/
linux-rpi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IB/mlx5: Add support to dropless RQ
[platform/kernel/linux-rpi.git]
/
drivers
/
infiniband
/
hw
/
mlx5
/
mlx5_ib.h
diff --git
a/drivers/infiniband/hw/mlx5/mlx5_ib.h
b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index
f0682f3
..
097f12d
100644
(file)
--- a/
drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/
drivers/infiniband/hw/mlx5/mlx5_ib.h
@@
-247,6
+247,10
@@
struct mlx5_ib_wq {
void *qend;
};
void *qend;
};
+enum mlx5_ib_wq_flags {
+ MLX5_IB_WQ_FLAGS_DELAY_DROP = 0x1,
+};
+
struct mlx5_ib_rwq {
struct ib_wq ibwq;
struct mlx5_core_qp core_qp;
struct mlx5_ib_rwq {
struct ib_wq ibwq;
struct mlx5_core_qp core_qp;
@@
-264,6
+268,7
@@
struct mlx5_ib_rwq {
u32 wqe_count;
u32 wqe_shift;
int wq_sig;
u32 wqe_count;
u32 wqe_shift;
int wq_sig;
+ u32 create_flags; /* Use enum mlx5_ib_wq_flags */
};
enum {
};
enum {
@@
-652,6
+657,19
@@
struct mlx5_ib_dbg_cc_params {
struct mlx5_ib_dbg_param params[MLX5_IB_DBG_CC_MAX];
};
struct mlx5_ib_dbg_param params[MLX5_IB_DBG_CC_MAX];
};
+enum {
+ MLX5_MAX_DELAY_DROP_TIMEOUT_MS = 100,
+};
+
+struct mlx5_ib_delay_drop {
+ struct mlx5_ib_dev *dev;
+ struct work_struct delay_drop_work;
+ /* serialize setting of delay drop */
+ struct mutex lock;
+ u32 timeout;
+ bool activate;
+};
+
struct mlx5_ib_dev {
struct ib_device ib_dev;
struct mlx5_core_dev *mdev;
struct mlx5_ib_dev {
struct ib_device ib_dev;
struct mlx5_core_dev *mdev;
@@
-688,6
+706,7
@@
struct mlx5_ib_dev {
struct mlx5_ib_port *port;
struct mlx5_sq_bfreg bfreg;
struct mlx5_sq_bfreg fp_bfreg;
struct mlx5_ib_port *port;
struct mlx5_sq_bfreg bfreg;
struct mlx5_sq_bfreg fp_bfreg;
+ struct mlx5_ib_delay_drop delay_drop;
struct mlx5_ib_dbg_cc_params *dbg_cc_params;
/* protect the user_td */
struct mlx5_ib_dbg_cc_params *dbg_cc_params;
/* protect the user_td */