summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/mr.c
diff options
context:
space:
mode:
authorHaggai Eran <haggaie@mellanox.com>2014-05-22 14:50:10 +0300
committerRoland Dreier <roland@purestorage.com>2014-05-27 11:53:06 -0700
commitb475598aec63f2efbc78f0ff1895d917d2370846 (patch)
treea4c0b13aa5cbe15a1ac5fb50bddc2c9208a0c193 /drivers/net/ethernet/mellanox/mlx5/core/mr.c
parent8605933a22796243982e7ed838deca5549c64c62 (diff)
downloadlinux-stable-b475598aec63f2efbc78f0ff1895d917d2370846.tar.gz
linux-stable-b475598aec63f2efbc78f0ff1895d917d2370846.tar.bz2
linux-stable-b475598aec63f2efbc78f0ff1895d917d2370846.zip
mlx5_core: Store MR attributes in mlx5_mr_core during creation and after UMR
The patch stores iova, pd and size during mr creation and after UMRs that modify them. It removes the unused access flags field. Signed-off-by: Haggai Eran <haggaie@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/mr.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/mr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/mr.c b/drivers/net/ethernet/mellanox/mlx5/core/mr.c
index 4cc927649404..ac52a0fe2d3a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/mr.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/mr.c
@@ -82,7 +82,11 @@ int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
return mlx5_cmd_status_to_err(&lout.hdr);
}
+ mr->iova = be64_to_cpu(in->seg.start_addr);
+ mr->size = be64_to_cpu(in->seg.len);
mr->key = mlx5_idx_to_mkey(be32_to_cpu(lout.mkey) & 0xffffff) | key;
+ mr->pd = be32_to_cpu(in->seg.flags_pd) & 0xffffff;
+
mlx5_core_dbg(dev, "out 0x%x, key 0x%x, mkey 0x%x\n",
be32_to_cpu(lout.mkey), key, mr->key);