Skip to content

Commit b475598

Browse files
haggaierolandd
authored andcommitted
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 <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
1 parent 8605933 commit b475598

File tree

3 files changed

+8
-1
lines changed
  • drivers
    • infiniband/hw/mlx5
    • net/ethernet/mellanox/mlx5/core
  • include/linux/mlx5

3 files changed

+8
-1
lines changed

drivers/infiniband/hw/mlx5/mr.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -794,6 +794,10 @@ static struct mlx5_ib_mr *reg_umr(struct ib_pd *pd, struct ib_umem *umem,
794794
err = -EFAULT;
795795
}
796796

797+
mr->mmr.iova = virt_addr;
798+
mr->mmr.size = len;
799+
mr->mmr.pd = to_mpd(pd)->pdn;
800+
797801
unmap_dma:
798802
up(&umrc->sem);
799803
dma_unmap_single(ddev, mr->dma, size, DMA_TO_DEVICE);

drivers/net/ethernet/mellanox/mlx5/core/mr.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,11 @@ int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
8282
return mlx5_cmd_status_to_err(&lout.hdr);
8383
}
8484

85+
mr->iova = be64_to_cpu(in->seg.start_addr);
86+
mr->size = be64_to_cpu(in->seg.len);
8587
mr->key = mlx5_idx_to_mkey(be32_to_cpu(lout.mkey) & 0xffffff) | key;
88+
mr->pd = be32_to_cpu(in->seg.flags_pd) & 0xffffff;
89+
8690
mlx5_core_dbg(dev, "out 0x%x, key 0x%x, mkey 0x%x\n",
8791
be32_to_cpu(lout.mkey), key, mr->key);
8892

include/linux/mlx5/driver.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,6 @@ struct mlx5_core_mr {
427427
u64 size;
428428
u32 key;
429429
u32 pd;
430-
u32 access;
431430
};
432431

433432
struct mlx5_core_srq {

0 commit comments

Comments
 (0)