All of lore.kernel.org
 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: 21+ 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 rdma-next 1/8] pci/tph: Expose pcie_tph_get_st_table_size() Leon Romanovsky
2025-07-07 19:40   ` Bjorn Helgaas
2025-07-07 19:59     ` Leon Romanovsky
2025-07-07 22:46       ` Bjorn Helgaas
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.