• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/infiniband/hw/ipath/

Lines Matching defs: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 memcpy(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);
229 static int recv_subn_get_portinfo(struct ib_smp *smp,
234 struct ib_port_info *pip = (struct ib_port_info *)smp->data;
240 if (be32_to_cpu(smp->attr_mod) > ibdev->phys_port_cnt) {
241 smp->status |= IB_SMP_INVALID_FIELD;
242 ret = reply(smp);
250 memset(smp->data, 0, sizeof(smp->data));
253 if (smp->method == IB_MGMT_METHOD_SET || dev->mkey == smp->mkey ||
333 ret = reply(smp);
354 static int recv_subn_get_pkeytable(struct ib_smp *smp,
357 u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff);
358 u16 *p = (u16 *) smp->data;
359 __be16 *q = (__be16 *) smp->data;
363 memset(smp->data, 0, sizeof(smp->data));
373 smp->status |= IB_SMP_INVALID_FIELD;
375 return reply(smp);
378 static int recv_subn_set_guidinfo(struct ib_smp *smp,
382 return recv_subn_get_guidinfo(smp, ibdev);
405 * @smp: the incoming SM packet
411 static int recv_subn_set_portinfo(struct ib_smp *smp,
414 struct ib_port_info *pip = (struct ib_port_info *)smp->data;
427 if (be32_to_cpu(smp->attr_mod) > ibdev->phys_port_cnt)
605 ret = recv_subn_get_portinfo(smp, ibdev, port);
613 smp->status |= IB_SMP_INVALID_FIELD;
614 ret = recv_subn_get_portinfo(smp, ibdev, port);
767 static int recv_subn_set_pkeytable(struct ib_smp *smp,
770 u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff);
771 __be16 *p = (__be16 *) smp->data;
772 u16 *q = (u16 *) smp->data;
780 smp->status |= IB_SMP_INVALID_FIELD;
782 return recv_subn_get_pkeytable(smp, ibdev);
1382 struct ib_smp *smp = (struct ib_smp *)out_mad;
1387 if (smp->class_version != 1) {
1388 smp->status |= IB_SMP_UNSUP_VERSION;
1389 ret = reply(smp);
1406 dev->mkey != smp->mkey &&
1407 (smp->method == IB_MGMT_METHOD_SET ||
1408 (smp->method == IB_MGMT_METHOD_GET &&
1426 switch (smp->method) {
1428 switch (smp->attr_id) {
1430 ret = recv_subn_get_nodedescription(smp, ibdev);
1433 ret = recv_subn_get_nodeinfo(smp, ibdev, port_num);
1436 ret = recv_subn_get_guidinfo(smp, ibdev);
1439 ret = recv_subn_get_portinfo(smp, ibdev, port_num);
1442 ret = recv_subn_get_pkeytable(smp, ibdev);
1456 smp->status |= IB_SMP_UNSUP_METH_ATTR;
1457 ret = reply(smp);
1462 switch (smp->attr_id) {
1464 ret = recv_subn_set_guidinfo(smp, ibdev);
1467 ret = recv_subn_set_portinfo(smp, ibdev, port_num);
1470 ret = recv_subn_set_pkeytable(smp, ibdev);
1484 smp->status |= IB_SMP_UNSUP_METH_ATTR;
1485 ret = reply(smp);
1502 smp->status |= IB_SMP_UNSUP_METHOD;
1503 ret = reply(smp);