linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Junxian Huang <huangjunxian6@hisilicon.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
	Yishai Hadas <yishaih@nvidia.com>,
	Bernard Metzler <bmt@zurich.ibm.com>,
	Bryan Tan <bryan-bt.tan@broadcom.com>,
	Chengchang Tang <tangchengchang@huawei.com>,
	Cheng Xu <chengyou@linux.alibaba.com>,
	Christian Benvenuti <benve@cisco.com>,
	Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
	Edward Srouji <edwards@nvidia.com>,
	Kai Shen <kaishen@linux.alibaba.com>,
	Kalesh AP <kalesh-anakkur.purayil@broadcom.com>,
	Konstantin Taranov <kotaranov@microsoft.com>,
	linux-rdma@vger.kernel.org, Long Li <longli@microsoft.com>,
	Michael Margolin <mrgolin@amazon.com>,
	Michal Kalderon <mkalderon@marvell.com>,
	Mustafa Ismail <mustafa.ismail@intel.com>,
	Nelson Escobar <neescoba@cisco.com>,
	Potnuri Bharat Teja <bharat@chelsio.com>,
	Selvin Xavier <selvin.xavier@broadcom.com>,
	Tatyana Nikolova <tatyana.e.nikolova@intel.com>,
	Vishnu Dasa <vishnu.dasa@broadcom.com>,
	Zhu Yanjun <zyjzyj2000@gmail.com>
Subject: Re: [PATCH rdma-next 7/8] IB: Extend UVERBS_METHOD_REG_MR to get DMAH
Date: Tue, 8 Jul 2025 08:50:24 +0300	[thread overview]
Message-ID: <20250708055024.GC592765@unreal> (raw)
In-Reply-To: <4e151293-76f5-b44d-5045-d699e16a316d@hisilicon.com>

On Tue, Jul 08, 2025 at 10:27:42AM +0800, Junxian Huang wrote:
> 
> 
> On 2025/7/8 1:03, Leon Romanovsky wrote:
> > From: Yishai Hadas <yishaih@nvidia.com>
> > 
> > Extend UVERBS_METHOD_REG_MR to get DMAH and pass it to all drivers.
> > 
> > It will be used in mlx5 driver as part of the next patch from the
> > series.
> > 
> > Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
> > Reviewed-by: Edward Srouji <edwards@nvidia.com>
> > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > ---
> >  drivers/infiniband/core/uverbs_cmd.c          |  2 +-
> >  drivers/infiniband/core/uverbs_std_types_mr.c | 21 ++++++++++++++++---
> >  drivers/infiniband/core/verbs.c               |  5 ++++-
> >  drivers/infiniband/hw/bnxt_re/ib_verbs.c      |  8 +++++++
> >  drivers/infiniband/hw/bnxt_re/ib_verbs.h      |  2 ++
> >  drivers/infiniband/hw/cxgb4/iw_cxgb4.h        |  1 +
> >  drivers/infiniband/hw/cxgb4/mem.c             |  6 +++++-
> >  drivers/infiniband/hw/efa/efa.h               |  2 ++
> >  drivers/infiniband/hw/efa/efa_verbs.c         |  8 +++++++
> >  drivers/infiniband/hw/erdma/erdma_verbs.c     |  6 +++++-
> >  drivers/infiniband/hw/erdma/erdma_verbs.h     |  3 ++-
> >  drivers/infiniband/hw/hns/hns_roce_device.h   |  1 +
> >  drivers/infiniband/hw/hns/hns_roce_mr.c       |  4 ++++
> >  drivers/infiniband/hw/irdma/verbs.c           |  9 ++++++++
> >  drivers/infiniband/hw/mana/mana_ib.h          |  2 ++
> >  drivers/infiniband/hw/mana/mr.c               |  8 +++++++
> >  drivers/infiniband/hw/mlx4/mlx4_ib.h          |  1 +
> >  drivers/infiniband/hw/mlx4/mr.c               |  4 ++++
> >  drivers/infiniband/hw/mlx5/mlx5_ib.h          |  2 ++
> >  drivers/infiniband/hw/mlx5/mr.c               |  8 ++++---
> >  drivers/infiniband/hw/mthca/mthca_provider.c  |  6 +++++-
> >  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c   |  6 +++++-
> >  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h   |  3 ++-
> >  drivers/infiniband/hw/qedr/verbs.c            |  6 +++++-
> >  drivers/infiniband/hw/qedr/verbs.h            |  3 ++-
> >  drivers/infiniband/hw/usnic/usnic_ib_verbs.c  |  4 ++++
> >  drivers/infiniband/hw/usnic/usnic_ib_verbs.h  |  1 +
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c  |  5 +++++
> >  .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h   |  1 +
> >  drivers/infiniband/sw/rdmavt/mr.c             |  5 +++++
> >  drivers/infiniband/sw/rdmavt/mr.h             |  1 +
> >  drivers/infiniband/sw/rxe/rxe_verbs.c         |  4 ++++
> >  drivers/infiniband/sw/siw/siw_verbs.c         |  7 ++++++-
> >  drivers/infiniband/sw/siw/siw_verbs.h         |  3 ++-
> >  include/rdma/ib_verbs.h                       |  3 +++
> >  include/uapi/rdma/ib_user_ioctl_cmds.h        |  1 +
> >  36 files changed, 144 insertions(+), 18 deletions(-)
> > 
> > diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
> > index 25f77b1fa773..78ee04a48a74 100644
> > --- a/drivers/infiniband/hw/hns/hns_roce_device.h
> > +++ b/drivers/infiniband/hw/hns/hns_roce_device.h
> > @@ -1219,6 +1219,7 @@ int hns_roce_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata);
> >  struct ib_mr *hns_roce_get_dma_mr(struct ib_pd *pd, int acc);
> >  struct ib_mr *hns_roce_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
> >  				   u64 virt_addr, int access_flags,
> > +				   struct ib_dmah *dmah,
> >  				   struct ib_udata *udata);
> >  struct ib_mr *hns_roce_rereg_user_mr(struct ib_mr *mr, int flags, u64 start,
> >  				     u64 length, u64 virt_addr,
> > diff --git a/drivers/infiniband/hw/hns/hns_roce_mr.c b/drivers/infiniband/hw/hns/hns_roce_mr.c
> > index ebef93559225..03af842dd9d3 100644
> > --- a/drivers/infiniband/hw/hns/hns_roce_mr.c
> > +++ b/drivers/infiniband/hw/hns/hns_roce_mr.c
> > @@ -231,12 +231,16 @@ struct ib_mr *hns_roce_get_dma_mr(struct ib_pd *pd, int acc)
> >  
> >  struct ib_mr *hns_roce_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
> >  				   u64 virt_addr, int access_flags,
> > +				   struct ib_dmah *dmah,
> >  				   struct ib_udata *udata)
> >  {
> >  	struct hns_roce_dev *hr_dev = to_hr_dev(pd->device);
> >  	struct hns_roce_mr *mr;
> >  	int ret;
> >  
> > +	if (dmah)
> > +		return ERR_PTR(-EOPNOTSUPP);
> > +
> 
> Could you change hns part as below? We have an error counter in the err_out label.

Of course, I will do it.

> 
> Thanks
> Junxian
> 
> diff --git a/drivers/infiniband/hw/hns/hns_roce_mr.c b/drivers/infiniband/hw/hns/hns_roce_mr.c
> index ebef93559225..e6ad6de97f10 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_mr.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_mr.c
> @@ -237,6 +237,11 @@ struct ib_mr *hns_roce_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
>         struct hns_roce_mr *mr;
>         int ret;
> 
> +       if (dmah) {
> +               ret = -EOPNOTSUPP;
> +               goto err_out;
> +       }
> +
>         mr = kzalloc(sizeof(*mr), GFP_KERNEL);
>         if (!mr) {
>                 ret = -ENOMEM;
> 
> >  	mr = kzalloc(sizeof(*mr), GFP_KERNEL);
> >  	if (!mr) {
> >  		ret = -ENOMEM;

  reply	other threads:[~2025-07-08  5:50 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-07 17:03 [PATCH rdma-next 0/8] RDMA support for DMA handle Leon Romanovsky
2025-07-07 17:03 ` [PATCH mlx5-next 2/8] net/mlx5: Expose IFC bits for TPH Leon Romanovsky
2025-07-07 17:03 ` [PATCH mlx5-next 3/8] net/mlx5: Add support for device steering tag Leon Romanovsky
2025-07-08  5:51   ` Leon Romanovsky
2025-07-07 17:03 ` [PATCH rdma-next 4/8] IB/core: Add UVERBS_METHOD_REG_MR on the MR object Leon Romanovsky
2025-07-07 17:03 ` [PATCH rdma-next 5/8] RDMA/core: Introduce a DMAH object and its alloc/free APIs Leon Romanovsky
2025-07-07 17:03 ` [PATCH rdma-next 6/8] RDMA/mlx5: Add DMAH object support Leon Romanovsky
2025-07-07 17:03 ` [PATCH rdma-next 7/8] IB: Extend UVERBS_METHOD_REG_MR to get DMAH Leon Romanovsky
2025-07-08  2:27   ` Junxian Huang
2025-07-08  5:50     ` Leon Romanovsky [this message]
2025-07-08  6:03     ` Gal Pressman
2025-07-08 12:29       ` Jason Gunthorpe
2025-07-08 13:12         ` Gal Pressman
2025-07-08 13:13           ` Jason Gunthorpe
2025-07-08 13:57             ` Margolin, Michael
2025-07-08 14:02               ` Jason Gunthorpe
2025-07-07 17:03 ` [PATCH rdma-next 8/8] RDMA/mlx5: Add DMAH support for reg_user_mr/reg_user_dmabuf_mr Leon Romanovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250708055024.GC592765@unreal \
    --to=leon@kernel.org \
    --cc=benve@cisco.com \
    --cc=bharat@chelsio.com \
    --cc=bmt@zurich.ibm.com \
    --cc=bryan-bt.tan@broadcom.com \
    --cc=chengyou@linux.alibaba.com \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=edwards@nvidia.com \
    --cc=huangjunxian6@hisilicon.com \
    --cc=jgg@nvidia.com \
    --cc=kaishen@linux.alibaba.com \
    --cc=kalesh-anakkur.purayil@broadcom.com \
    --cc=kotaranov@microsoft.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=longli@microsoft.com \
    --cc=mkalderon@marvell.com \
    --cc=mrgolin@amazon.com \
    --cc=mustafa.ismail@intel.com \
    --cc=neescoba@cisco.com \
    --cc=selvin.xavier@broadcom.com \
    --cc=tangchengchang@huawei.com \
    --cc=tatyana.e.nikolova@intel.com \
    --cc=vishnu.dasa@broadcom.com \
    --cc=yishaih@nvidia.com \
    --cc=zyjzyj2000@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).