All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Wang <yun.wang@profitbricks.com>
To: Roland Dreier <roland@kernel.org>,
	Sean Hefty <sean.hefty@intel.com>,
	Hal Rosenstock <hal.rosenstock@gmail.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Tom Tucker <tom@opengridcomputing.com>,
	Steve Wise <swise@opengridcomputing.com>,
	Hoang-Nam Nguyen <hnguyen@de.ibm.com>,
	Christoph Raisch <raisch@de.ibm.com>,
	Mike Marciniszyn <infinipath@intel.com>,
	Eli Cohen <eli@mellanox.com>,
	Faisal Latif <faisal.latif@intel.com>,
	Jack Morgenstein <jackm@dev.mellanox.co.il>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Haggai Eran <haggaie@mellanox.com>,
	Ira Weiny <ira.weiny@intel.com>, Tom Talpey <tom@talpey.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Doug Ledford <dledford@redhat.com>,
	Michael Wang <yun.wang@profitbricks.com>
Subject: [PATCH v3 21/28] IB/Verbs: Use management helper cap_ib_mcast()
Date: Mon, 13 Apr 2015 14:33:20 +0200	[thread overview]
Message-ID: <552BB790.20409@profitbricks.com> (raw)
In-Reply-To: <552BB470.4090407@profitbricks.com>


Introduce helper cap_ib_mcast() to help us check if the port of an
IB device support Infiniband Multicast.

Cc: Steve Wise <swise@opengridcomputing.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Doug Ledford <dledford@redhat.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
---
 drivers/infiniband/core/cma.c       |  6 +++---
 drivers/infiniband/core/multicast.c |  6 +++---
 include/rdma/ib_verbs.h             | 15 +++++++++++++++
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 013930c..4ed582e 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1029,7 +1029,7 @@ static void cma_leave_mc_groups(struct rdma_id_private *id_priv)
 		mc = container_of(id_priv->mc_list.next,
 				  struct cma_multicast, list);
 		list_del(&mc->list);
-		if (rdma_tech_ib(id_priv->cma_dev->device,
+		if (cap_ib_mcast(id_priv->cma_dev->device,
 				      id_priv->id.port_num)) {
 			ib_sa_free_multicast(mc->multicast.ib);
 			kfree(mc);
@@ -3345,7 +3345,7 @@ int rdma_join_multicast(struct rdma_cm_id *id, struct sockaddr *addr,
 	if (rdma_tech_iboe(id->device, id->port_num)) {
 		kref_init(&mc->mcref);
 		ret = cma_iboe_join_multicast(id_priv, mc);
-	} else if (rdma_tech_ib(id->device, id->port_num))
+	} else if (cap_ib_mcast(id->device, id->port_num))
 		ret = cma_join_ib_multicast(id_priv, mc);
 	else
 		ret = -ENOSYS;
@@ -3379,7 +3379,7 @@ void rdma_leave_multicast(struct rdma_cm_id *id, struct sockaddr *addr)
 
 			BUG_ON(id_priv->cma_dev->device != id->device);
 
-			if (rdma_tech_ib(id->device, id->port_num)) {
+			if (cap_ib_mcast(id->device, id->port_num)) {
 				ib_sa_free_multicast(mc->multicast.ib);
 				kfree(mc);
 			} else if (rdma_tech_iboe(id->device,
diff --git a/drivers/infiniband/core/multicast.c b/drivers/infiniband/core/multicast.c
index 24d93f5..bdc1880 100644
--- a/drivers/infiniband/core/multicast.c
+++ b/drivers/infiniband/core/multicast.c
@@ -780,7 +780,7 @@ static void mcast_event_handler(struct ib_event_handler *handler,
 	int index;
 
 	dev = container_of(handler, struct mcast_device, event_handler);
-	if (WARN_ON(!rdma_tech_ib(dev->device, event->element.port_num)))
+	if (WARN_ON(!cap_ib_mcast(dev->device, event->element.port_num)))
 		return;
 
 	index = event->element.port_num - dev->start_port;
@@ -820,7 +820,7 @@ static void mcast_add_one(struct ib_device *device)
 	}
 
 	for (i = 0; i <= dev->end_port - dev->start_port; i++) {
-		if (!rdma_tech_ib(device, dev->start_port + i))
+		if (!cap_ib_mcast(device, dev->start_port + i))
 			continue;
 		port = &dev->port[i];
 		port->dev = dev;
@@ -858,7 +858,7 @@ static void mcast_remove_one(struct ib_device *device)
 	flush_workqueue(mcast_wq);
 
 	for (i = 0; i <= dev->end_port - dev->start_port; i++) {
-		if (rdma_tech_ib(device, dev->start_port + i)) {
+		if (cap_ib_mcast(device, dev->start_port + i)) {
 			port = &dev->port[i];
 			deref_port(port);
 			wait_for_completion(&port->comp);
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 3bfdf81..b2cee8d 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1848,6 +1848,21 @@ static inline int cap_ib_sa(struct ib_device *device, u8 port_num)
 	return rdma_tech_ib(device, port_num);
 }
 
+/**
+ * cap_ib_mcast - Check if the port of device has the capability Infiniband
+ * Multicast.
+ *
+ * @device: Device to be checked
+ * @port_num: Port number of the device
+ *
+ * Return 0 when port of the device don't support Infiniband
+ * Multicast.
+ */
+static inline int cap_ib_mcast(struct ib_device *device, u8 port_num)
+{
+	return cap_ib_sa(device, port_num);
+}
+
 int ib_query_gid(struct ib_device *device,
 		 u8 port_num, int index, union ib_gid *gid);
 
-- 
2.1.0

  parent reply	other threads:[~2015-04-13 12:33 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-13 12:20 [PATCH v3 00/28] IB/Verbs: IB Management Helpers Michael Wang
2015-04-13 12:23 ` [PATCH v3 04/28] IB/Verbs: Reform IB-core cm Michael Wang
     [not found]   ` <552BB552.1030905-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:12     ` ira.weiny
2015-04-13 18:12       ` ira.weiny
     [not found]       ` <20150413181248.GA2464-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 18:40         ` Hefty, Sean
2015-04-13 18:40           ` Hefty, Sean
     [not found]           ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A3A-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:29             ` Jason Gunthorpe
2015-04-13 19:29               ` Jason Gunthorpe
     [not found]               ` <20150413192930.GA18587-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-13 19:52                 ` ira.weiny
2015-04-13 19:52                   ` ira.weiny
2015-04-14  7:57                 ` Michael Wang
2015-04-14  7:57                   ` Michael Wang
2015-04-14  7:50         ` Michael Wang
2015-04-14  7:50           ` Michael Wang
2015-04-13 12:24 ` [PATCH v3 05/28] IB/Verbs: Reform IB-core sa_query Michael Wang
     [not found]   ` <552BB572.4040300-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:14     ` ira.weiny
2015-04-13 18:14       ` ira.weiny
2015-04-13 18:45   ` Hefty, Sean
2015-04-13 18:45     ` Hefty, Sean
     [not found]     ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A58-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14  8:03       ` Michael Wang
2015-04-14  8:03         ` Michael Wang
     [not found] ` <552BB470.4090407-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 12:22   ` [PATCH v3 01/28] IB/Verbs: Implement new callback query_transport() Michael Wang
2015-04-13 12:22     ` Michael Wang
2015-04-15 18:36     ` Hal Rosenstock
     [not found]       ` <552EAF9D.8050400-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-15 19:29         ` Hefty, Sean
2015-04-15 19:29           ` Hefty, Sean
     [not found]           ` <1828884A29C6694DAF28B7E6B8A82373A8FC1C7C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-15 20:39             ` ira.weiny
2015-04-15 20:39               ` ira.weiny
2015-04-15 20:33         ` ira.weiny
2015-04-15 20:33           ` ira.weiny
     [not found]           ` <20150415203332.GA15877-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-16 11:40             ` Hal Rosenstock
2015-04-16 11:40               ` Hal Rosenstock
2015-04-16  7:30         ` Michael Wang
2015-04-16  7:30           ` Michael Wang
2015-04-13 12:22   ` [PATCH v3 02/28] IB/Verbs: Implement raw management helpers Michael Wang
2015-04-13 12:22     ` Michael Wang
2015-04-13 12:23   ` [PATCH v3 03/28] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-04-13 12:23     ` Michael Wang
2015-04-13 12:24   ` [PATCH v3 06/28] IB/Verbs: Reform IB-core multicast Michael Wang
2015-04-13 12:24     ` Michael Wang
2015-04-13 12:25   ` [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-04-13 12:25     ` Michael Wang
     [not found]     ` <552BB5AC.6050101-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:16       ` ira.weiny
2015-04-13 18:16         ` ira.weiny
2015-04-13 19:27     ` Jason Gunthorpe
2015-04-13 19:46       ` ira.weiny
     [not found]         ` <20150413194602.GA21467-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 20:01           ` Jason Gunthorpe
2015-04-13 20:01             ` Jason Gunthorpe
     [not found]             ` <20150413200138.GC19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 14:18               ` ira.weiny
2015-04-14 14:18                 ` ira.weiny
     [not found]                 ` <20150414141806.GA7354-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 14:32                   ` Michael Wang
2015-04-14 14:32                     ` Michael Wang
     [not found]                     ` <552D2519.6000500-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:40                       ` ira.weiny
2015-04-14 15:40                         ` ira.weiny
     [not found]                         ` <20150414154012.GA13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:51                           ` Michael Wang
2015-04-14 15:51                             ` Michael Wang
2015-04-14 17:09                           ` Hefty, Sean
2015-04-14 17:09                             ` Hefty, Sean
2015-04-14 17:25                   ` Jason Gunthorpe
2015-04-14 17:25                     ` Jason Gunthorpe
     [not found]                     ` <20150414172514.GB7682-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 17:43                       ` ira.weiny
2015-04-14 17:43                         ` ira.weiny
     [not found]                         ` <20150414174311.GA28111-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 17:59                           ` Jason Gunthorpe
2015-04-14 17:59                             ` Jason Gunthorpe
     [not found]                             ` <20150414175904.GB13896-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 18:02                               ` Hefty, Sean
2015-04-14 18:02                                 ` Hefty, Sean
     [not found]                                 ` <1828884A29C6694DAF28B7E6B8A82373A8FC127C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14 18:21                                   ` Jason Gunthorpe
2015-04-14 18:21                                     ` Jason Gunthorpe
2015-04-15  7:58                                     ` Michael Wang
     [not found]                                       ` <552E1A1A.4090704-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:44                                         ` Jason Gunthorpe
2015-04-16 16:44                                           ` Jason Gunthorpe
     [not found]                                           ` <20150416164418.GC22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 17:02                                             ` Roland Dreier
2015-04-16 17:02                                               ` Roland Dreier
     [not found]                                               ` <CAG4TOxPMaRAR_B69J1_SHaHh8YMW2Unx786t2FbrA8g=05BAgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 17:21                                                 ` Hefty, Sean
2015-04-16 17:21                                                   ` Hefty, Sean
2015-04-16 17:45                                                 ` Jason Gunthorpe
2015-04-16 17:45                                                   ` Jason Gunthorpe
2015-04-17  7:35                                                 ` Michael Wang
2015-04-17  7:35                                                   ` Michael Wang
2015-04-16 17:05                                             ` Weiny, Ira
2015-04-16 17:05                                               ` Weiny, Ira
     [not found]                                               ` <2807E5FD2F6FDA4886F6618EAC48510E0CC8BFFA-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-17  7:40                                                 ` Michael Wang
2015-04-17  7:40                                                   ` Michael Wang
     [not found]       ` <20150413192701.GA19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14  8:08         ` Michael Wang
2015-04-14  8:08           ` Michael Wang
2015-04-13 12:26   ` [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma Michael Wang
2015-04-13 12:26     ` Michael Wang
     [not found]     ` <552BB60F.60109-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 19:25       ` Hefty, Sean
2015-04-13 19:25         ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:50           ` Jason Gunthorpe
2015-04-13 19:50             ` Jason Gunthorpe
2015-04-13 20:31             ` Hefty, Sean
     [not found]             ` <20150413195040.GB19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-15 18:36               ` Hal Rosenstock
2015-04-15 18:36                 ` Hal Rosenstock
2015-04-14  8:35         ` Michael Wang
     [not found]           ` <552CD156.9060709-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:50             ` ira.weiny
2015-04-14 15:50               ` ira.weiny
     [not found]               ` <20150414155033.GB13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:58                 ` Michael Wang
2015-04-14 15:58                   ` Michael Wang
2015-04-13 12:27   ` [PATCH v3 11/28] IB/Verbs: Reform route " Michael Wang
2015-04-13 12:27     ` Michael Wang
2015-04-13 12:28   ` [PATCH v3 12/28] IB/Verbs: Reform mcast " Michael Wang
2015-04-13 12:28     ` Michael Wang
2015-04-13 12:28   ` [PATCH v3 13/28] IB/Verbs: Reserve legacy transport type in 'dev_addr' Michael Wang
2015-04-13 12:28     ` Michael Wang
2015-04-13 12:30   ` [PATCH v3 16/28] IB/Verbs: Use management helper cap_ib_mad() Michael Wang
2015-04-13 12:30     ` Michael Wang
2015-04-13 12:31   ` [PATCH v3 18/28] IB/Verbs: Use management helper cap_ib_cm() Michael Wang
2015-04-13 12:31     ` Michael Wang
2015-04-13 12:32   ` [PATCH v3 19/28] IB/Verbs: Use management helper cap_iw_cm() Michael Wang
2015-04-13 12:32     ` Michael Wang
2015-04-13 12:34   ` [PATCH v3 24/28] IB/Verbs: Use management helper cap_ib_cm_dev() Michael Wang
2015-04-13 12:34     ` Michael Wang
2015-04-13 12:25 ` [PATCH v3 08/28] IB/Verbs: Reform IB-ulp xprtrdma Michael Wang
2015-04-13 12:26 ` [PATCH v3 09/28] IB/Verbs: Reform IB-core verbs/uverbs_cmd/sysfs Michael Wang
2015-04-13 12:29 ` [PATCH v3 14/28] IB/Verbs: Reform cma_acquire_dev() Michael Wang
2015-04-13 12:29 ` [PATCH v3 15/28] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-04-13 12:30 ` [PATCH v3 17/28] IB/Verbs: Use management helper cap_ib_smi() Michael Wang
2015-04-13 12:32 ` [PATCH v3 20/28] IB/Verbs: Use management helper cap_ib_sa() Michael Wang
2015-04-13 12:33 ` Michael Wang [this message]
2015-04-13 12:33 ` [PATCH v3 22/28] IB/Verbs: Use management helper cap_ipoib() Michael Wang
2015-04-13 12:34 ` [PATCH v3 23/28] IB/Verbs: Use management helper cap_read_multi_sge() Michael Wang
2015-04-13 12:35 ` [PATCH v3 25/28] IB/Verbs: Use management helper cap_af_ib() Michael Wang
     [not found]   ` <552BB801.2010506-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:57     ` Or Gerlitz
2015-04-16 13:57       ` Or Gerlitz
     [not found]       ` <CAJ3xEMiEoosZzHhpoJOLdxmdhRrjOfB=HV6bHhus7E=QmHiwPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 14:16         ` Hal Rosenstock
2015-04-16 14:16           ` Hal Rosenstock
     [not found]           ` <552FC441.5070500-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 15:09             ` Hefty, Sean
2015-04-16 15:09               ` Hefty, Sean
     [not found]               ` <1828884A29C6694DAF28B7E6B8A82373A8FC23BF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-16 15:28                 ` Michael Wang
2015-04-16 15:28                   ` Michael Wang
2015-04-13 12:35 ` [PATCH v3 26/28] IB/Verbs: Use management helper cap_eth_ah() Michael Wang
2015-04-13 12:36 ` [PATCH v3 27/28] IB/Verbs: Clean up rdma_ib_or_iboe() Michael Wang
     [not found]   ` <552BB85D.7010400-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 20:33     ` Jason Gunthorpe
2015-04-13 20:33       ` Jason Gunthorpe
     [not found]       ` <20150413203350.GA20611-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14  9:13         ` Michael Wang
2015-04-14  9:13           ` Michael Wang
     [not found]           ` <552CDA1F.4050609-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:43             ` Jason Gunthorpe
2015-04-16 16:43               ` Jason Gunthorpe
     [not found]               ` <20150416164311.GB22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 18:07                 ` Steve Wise
2015-04-16 18:07                   ` Steve Wise
2015-04-17  8:04                   ` Michael Wang
2015-04-17  8:04                     ` Michael Wang
2015-04-17  8:00                 ` Michael Wang
2015-04-17  8:00                   ` Michael Wang
2015-04-13 12:37 ` [PATCH v3 28/28] IB/Verbs: Cleanup rdma_node_get_transport() Michael Wang

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=552BB790.20409@profitbricks.com \
    --to=yun.wang@profitbricks.com \
    --cc=dledford@redhat.com \
    --cc=eli@mellanox.com \
    --cc=faisal.latif@intel.com \
    --cc=haggaie@mellanox.com \
    --cc=hal.rosenstock@gmail.com \
    --cc=hnguyen@de.ibm.com \
    --cc=infinipath@intel.com \
    --cc=ira.weiny@intel.com \
    --cc=jackm@dev.mellanox.co.il \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=raisch@de.ibm.com \
    --cc=roland@kernel.org \
    --cc=sean.hefty@intel.com \
    --cc=swise@opengridcomputing.com \
    --cc=tom@opengridcomputing.com \
    --cc=tom@talpey.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.