projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx5: EQ commands via mlx5 ifc
[cascardo/linux.git]
/
drivers
/
net
/
ethernet
/
mellanox
/
mlx5
/
core
/
debugfs.c
diff --git
a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
index
5210d92
..
58e5518
100644
(file)
--- a/
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
+++ b/
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
@@
-358,32
+358,32
@@
out:
static u64 eq_read_field(struct mlx5_core_dev *dev, struct mlx5_eq *eq,
int index)
{
static u64 eq_read_field(struct mlx5_core_dev *dev, struct mlx5_eq *eq,
int index)
{
- struct mlx5_query_eq_mbox_out *out;
- struct mlx5_eq_context *ctx;
+ int outlen = MLX5_ST_SZ_BYTES(query_eq_out);
u64 param = 0;
u64 param = 0;
+ void *ctx;
+ u32 *out;
int err;
int err;
- out = kzalloc(
sizeof(*out)
, GFP_KERNEL);
+ out = kzalloc(
outlen
, GFP_KERNEL);
if (!out)
return param;
if (!out)
return param;
- ctx = &out->ctx;
-
- err = mlx5_core_eq_query(dev, eq, out, sizeof(*out));
+ err = mlx5_core_eq_query(dev, eq, out, outlen);
if (err) {
mlx5_core_warn(dev, "failed to query eq\n");
goto out;
}
if (err) {
mlx5_core_warn(dev, "failed to query eq\n");
goto out;
}
+ ctx = MLX5_ADDR_OF(query_eq_out, out, eq_context_entry);
switch (index) {
case EQ_NUM_EQES:
switch (index) {
case EQ_NUM_EQES:
- param = 1 <<
((be32_to_cpu(ctx->log_sz_usr_page) >> 24) & 0x1f
);
+ param = 1 <<
MLX5_GET(eqc, ctx, log_eq_size
);
break;
case EQ_INTR:
break;
case EQ_INTR:
- param =
ctx->intr
;
+ param =
MLX5_GET(eqc, ctx, intr)
;
break;
case EQ_LOG_PG_SZ:
break;
case EQ_LOG_PG_SZ:
- param =
(ctx->log_page_size & 0x1f
) + 12;
+ param =
MLX5_GET(eqc, ctx, log_page_size
) + 12;
break;
}
break;
}