Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1474650
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH for-next 01/10] IB/hns: Register HNS RoCE Driver get_netdev() with IB Core |
| Date | 2016-09-01 23:30 +0200 |
| Message-ID | <scHIC-79t-33@gated-at.bofh.it> (permalink) |
| References | <scHIB-79t-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Lijun Ou <oulijun@huawei.com>
This patch adds get_netdev() function to the IB device. This shall be
used to fetch netdev corresponding to the port number. This function
would be called by IB core(Generic CM Agent) for example, when the
RDMA connection is being established.
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Reviewed-by: Wei Hu <xavier.huwei@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
---
drivers/infiniband/hw/hns/hns_roce_main.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
index f64f0dd..39e69c3 100644
--- a/drivers/infiniband/hw/hns/hns_roce_main.c
+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
@@ -372,6 +372,25 @@ static int hns_roce_query_device(struct ib_device *ib_dev,
return 0;
}
+static struct net_device *hns_roce_get_netdev(struct ib_device *ib_dev,
+ u8 port_num)
+{
+ struct hns_roce_dev *hr_dev = to_hr_dev(ib_dev);
+ struct net_device *ndev;
+
+ if (port_num < 1 || port_num > hr_dev->caps.num_ports)
+ return NULL;
+
+ rcu_read_lock();
+
+ ndev = hr_dev->iboe.netdevs[port_num - 1];
+ if (ndev)
+ dev_hold(ndev);
+
+ rcu_read_unlock();
+ return ndev;
+}
+
static int hns_roce_query_port(struct ib_device *ib_dev, u8 port_num,
struct ib_port_attr *props)
{
@@ -618,6 +637,7 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
ib_dev->query_port = hns_roce_query_port;
ib_dev->modify_port = hns_roce_modify_port;
ib_dev->get_link_layer = hns_roce_get_link_layer;
+ ib_dev->get_netdev = hns_roce_get_netdev;
ib_dev->query_gid = hns_roce_query_gid;
ib_dev->query_pkey = hns_roce_query_pkey;
ib_dev->alloc_ucontext = hns_roce_alloc_ucontext;
--
1.7.9.5
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH for-next 00/10] Add CM(Connection Manager) Support to HNS RoCe Driver Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 10/10] IB/hns: Add node_guid definition to the bindings document Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 01/10] IB/hns: Register HNS RoCE Driver get_netdev() with IB Core Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 07/10] IB/hns: Change the logic for allocating uar registers Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 08/10] IB/hns: Fix the bug of rdma cm connecting on user mode Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 09/10] IB/hns: Fix two bugs for rdma cm connecting Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 04/10] IB/hns: Fix the value of device_cap_flags Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 05/10] IB/hns: Fix two possible bugs for rdma cm Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200 [PATCH for-next 06/10] IB/hns: Add phy_port for computing GSI/QPN Salil Mehta <salil.mehta@huawei.com> - 2016-09-01 23:30 +0200
csiph-web