• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/infiniband/hw/ipath/

Lines Matching refs:smp

45 static int reply(struct ib_smp *smp)
51 smp->method = IB_MGMT_METHOD_GET_RESP;
52 if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
53 smp->status |= IB_SMP_DIRECTION;
57 static int recv_subn_get_nodedescription(struct ib_smp *smp,
60 if (smp->attr_mod)
61 smp->status |= IB_SMP_INVALID_FIELD;
63 strncpy(smp->data, ibdev->node_desc, sizeof(smp->data));
65 return reply(smp);
83 static int recv_subn_get_nodeinfo(struct ib_smp *smp,
86 struct nodeinfo *nip = (struct nodeinfo *)&smp->data;
91 if (smp->attr_mod || (dd->ipath_guid == 0))
92 smp->status |= IB_SMP_INVALID_FIELD;
113 return reply(smp);
116 static int recv_subn_get_guidinfo(struct ib_smp *smp,
119 u32 startgx = 8 * be32_to_cpu(smp->attr_mod);
120 __be64 *p = (__be64 *) smp->data;
124 memset(smp->data, 0, sizeof(smp->data));
134 smp->status |= IB_SMP_INVALID_FIELD;
139 smp->status |= IB_SMP_INVALID_FIELD;
141 return reply(smp);
220 static int recv_subn_get_portinfo(struct ib_smp *smp,
224 struct ib_port_info *pip = (struct ib_port_info *)smp->data;
230 if (be32_to_cpu(smp->attr_mod) > ibdev->phys_port_cnt) {
231 smp->status |= IB_SMP_INVALID_FIELD;
232 ret = reply(smp);
239 memset(smp->data, 0, sizeof(smp->data));
242 if (smp->method == IB_MGMT_METHOD_SET || dev->mkey == smp->mkey ||
311 ret = reply(smp);
331 static int recv_subn_get_pkeytable(struct ib_smp *smp,
334 u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff);
335 u16 *p = (u16 *) smp->data;
336 __be16 *q = (__be16 *) smp->data;
340 memset(smp->data, 0, sizeof(smp->data));
350 smp->status |= IB_SMP_INVALID_FIELD;
352 return reply(smp);
355 static int recv_subn_set_guidinfo(struct ib_smp *smp,
359 return recv_subn_get_guidinfo(smp, ibdev);
382 * @smp: the incoming SM packet
388 static int recv_subn_set_portinfo(struct ib_smp *smp,
391 struct ib_port_info *pip = (struct ib_port_info *)smp->data;
404 if (be32_to_cpu(smp->attr_mod) > ibdev->phys_port_cnt)
584 ret = recv_subn_get_portinfo(smp, ibdev, port);
592 smp->status |= IB_SMP_INVALID_FIELD;
593 ret = recv_subn_get_portinfo(smp, ibdev, port);
745 static int recv_subn_set_pkeytable(struct ib_smp *smp,
748 u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff);
749 __be16 *p = (__be16 *) smp->data;
750 u16 *q = (u16 *) smp->data;
758 smp->status |= IB_SMP_INVALID_FIELD;
760 return recv_subn_get_pkeytable(smp, ibdev);
1325 struct ib_smp *smp = (struct ib_smp *)out_mad;
1330 if (smp->class_version != 1) {
1331 smp->status |= IB_SMP_UNSUP_VERSION;
1332 ret = reply(smp);
1348 dev->mkey != smp->mkey &&
1349 (smp->method == IB_MGMT_METHOD_SET ||
1350 (smp->method == IB_MGMT_METHOD_GET &&
1368 switch (smp->method) {
1370 switch (smp->attr_id) {
1372 ret = recv_subn_get_nodedescription(smp, ibdev);
1375 ret = recv_subn_get_nodeinfo(smp, ibdev, port_num);
1378 ret = recv_subn_get_guidinfo(smp, ibdev);
1381 ret = recv_subn_get_portinfo(smp, ibdev, port_num);
1384 ret = recv_subn_get_pkeytable(smp, ibdev);
1398 smp->status |= IB_SMP_UNSUP_METH_ATTR;
1399 ret = reply(smp);
1404 switch (smp->attr_id) {
1406 ret = recv_subn_set_guidinfo(smp, ibdev);
1409 ret = recv_subn_set_portinfo(smp, ibdev, port_num);
1412 ret = recv_subn_set_pkeytable(smp, ibdev);
1426 smp->status |= IB_SMP_UNSUP_METH_ATTR;
1427 ret = reply(smp);
1440 smp->status |= IB_SMP_UNSUP_METHOD;
1441 ret = reply(smp);