RE: [PATCH rdma-next 2/5] RDMA/CMA: add rdma_iw_cm_id() and rdma_res_to_id() helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-rdma-owner@xxxxxxxxxxxxxxx [mailto:linux-rdma-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Steve Wise
> Sent: Tuesday, May 08, 2018 9:09 AM
> To: Jason Gunthorpe <jgg@xxxxxxxxxxxx>; dledford@xxxxxxxxxx
> Cc: leon@xxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx
> Subject: [PATCH rdma-next 2/5] RDMA/CMA: add rdma_iw_cm_id() and
> rdma_res_to_id() helpers
> 
> Add a helper function for iwarp drivers to be able to map an rdma_cm_id to an
> iw_cm_id.  This is useful for dumping driver specific NLDEV/RESTRACK
> connection state.
> 
> Add a helper to return the rdma_cm_id pointer from the rdma_restack pointer.
> This is needed for rdma drivers to map a res entry back to the public rdma_cm_id
> struct.
> 
> Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/cma.c | 20 ++++++++++++++++++++
>  include/rdma/rdma_cm.h        | 12 ++++++++++++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index
> 8c85b24..15e78b00 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -146,6 +146,26 @@ const void *rdma_consumer_reject_data(struct
> rdma_cm_id *id,  }  EXPORT_SYMBOL(rdma_consumer_reject_data);
> 
> +struct iw_cm_id *rdma_iw_cm_id(struct rdma_cm_id *id) {
> +	struct rdma_id_private *id_priv;
> +
> +	id_priv = container_of(id, struct rdma_id_private, id);
> +	if (id->device->node_type == RDMA_NODE_RNIC)
> +		return id_priv->cm_id.iw;
> +	return NULL;
> +}
> +EXPORT_SYMBOL(rdma_iw_cm_id);
> +
> +struct rdma_cm_id *rdma_res_to_id(struct rdma_restrack_entry *res) {
> +	struct rdma_id_private *id_priv =
> +		container_of(res, struct rdma_id_private, res);
> +
> +	return &id_priv->id;
> +}
> +EXPORT_SYMBOL(rdma_res_to_id);
> +
>  static void cma_add_one(struct ib_device *device);  static void
> cma_remove_one(struct ib_device *device, void *client_data);
> 
> diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index
> 6909347..e36d971 100644
> --- a/include/rdma/rdma_cm.h
> +++ b/include/rdma/rdma_cm.h
> @@ -420,4 +420,16 @@ const void *rdma_consumer_reject_data(struct
> rdma_cm_id *id,  void rdma_read_gids(struct rdma_cm_id *cm_id, union ib_gid
> *sgid,
>  		    union ib_gid *dgid);
> 
> +/**
> + * rdma_iw_cm_id() - return the iw_cm_id pointer for this cm_id.
> + * @id: Communication Identifier
> + */
> +struct iw_cm_id *rdma_iw_cm_id(struct rdma_cm_id *cm_id);
> +
> +/**
> + * rdma_res_to_id() - return the rdma_cm_id pointer for this restrack.
> + * @res: rdma resource tracking entry pointer  */ struct rdma_cm_id
> +*rdma_res_to_id(struct rdma_restrack_entry *res);
> +
Lately kdoc documentation is usually along with definitions unless it is static inline function in header file.
Can you please move it to C file for this new additions?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux