Lines Matching refs:pmp
1150 static int pma_get_classportinfo(struct ib_pma_mad *pmp, in pma_get_classportinfo() argument
1154 (struct ib_class_port_info *)pmp->data; in pma_get_classportinfo()
1157 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_classportinfo()
1159 if (pmp->mad_hdr.attr_mod != 0) in pma_get_classportinfo()
1160 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_classportinfo()
1176 return reply((struct ib_smp *) pmp); in pma_get_classportinfo()
1179 static int pma_get_portsamplescontrol(struct ib_pma_mad *pmp, in pma_get_portsamplescontrol() argument
1183 (struct ib_pma_portsamplescontrol *)pmp->data; in pma_get_portsamplescontrol()
1191 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplescontrol()
1194 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) { in pma_get_portsamplescontrol()
1195 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portsamplescontrol()
1214 return reply((struct ib_smp *) pmp); in pma_get_portsamplescontrol()
1217 static int pma_set_portsamplescontrol(struct ib_pma_mad *pmp, in pma_set_portsamplescontrol() argument
1221 (struct ib_pma_portsamplescontrol *)pmp->data; in pma_set_portsamplescontrol()
1230 if (pmp->mad_hdr.attr_mod != 0 || p->port_select != port) { in pma_set_portsamplescontrol()
1231 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_set_portsamplescontrol()
1232 ret = reply((struct ib_smp *) pmp); in pma_set_portsamplescontrol()
1258 ret = pma_get_portsamplescontrol(pmp, ibdev, port); in pma_set_portsamplescontrol()
1346 static int pma_get_portsamplesresult(struct ib_pma_mad *pmp, in pma_get_portsamplesresult() argument
1350 (struct ib_pma_portsamplesresult *)pmp->data; in pma_get_portsamplesresult()
1359 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplesresult()
1382 return reply((struct ib_smp *) pmp); in pma_get_portsamplesresult()
1385 static int pma_get_portsamplesresult_ext(struct ib_pma_mad *pmp, in pma_get_portsamplesresult_ext() argument
1389 (struct ib_pma_portsamplesresult_ext *)pmp->data; in pma_get_portsamplesresult_ext()
1399 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplesresult_ext()
1424 return reply((struct ib_smp *) pmp); in pma_get_portsamplesresult_ext()
1427 static int pma_get_portcounters(struct ib_pma_mad *pmp, in pma_get_portcounters() argument
1431 pmp->data; in pma_get_portcounters()
1458 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portcounters()
1461 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) in pma_get_portcounters()
1462 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters()
1522 return reply((struct ib_smp *) pmp); in pma_get_portcounters()
1525 static int pma_get_portcounters_cong(struct ib_pma_mad *pmp, in pma_get_portcounters_cong() argument
1530 (struct ib_pma_portcounters_cong *)pmp->reserved; in pma_get_portcounters_cong()
1535 u32 port_select = be32_to_cpu(pmp->mad_hdr.attr_mod) & 0xFF; in pma_get_portcounters_cong()
1544 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in pma_get_portcounters_cong()
1546 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters_cong()
1573 memset(pmp->reserved, 0, sizeof(pmp->reserved) + in pma_get_portcounters_cong()
1574 sizeof(pmp->data)); in pma_get_portcounters_cong()
1635 return reply((struct ib_smp *)pmp); in pma_get_portcounters_cong()
1655 static int pma_get_portcounters_ext(struct ib_pma_mad *pmp, in pma_get_portcounters_ext() argument
1659 (struct ib_pma_portcounters_ext *)pmp->data; in pma_get_portcounters_ext()
1666 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portcounters_ext()
1669 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) { in pma_get_portcounters_ext()
1670 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters_ext()
1699 return reply((struct ib_smp *) pmp); in pma_get_portcounters_ext()
1702 static int pma_set_portcounters(struct ib_pma_mad *pmp, in pma_set_portcounters() argument
1706 pmp->data; in pma_set_portcounters()
1762 return pma_get_portcounters(pmp, ibdev, port); in pma_set_portcounters()
1765 static int pma_set_portcounters_cong(struct ib_pma_mad *pmp, in pma_set_portcounters_cong() argument
1772 u32 counter_select = (be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24) & 0xFF; in pma_set_portcounters_cong()
1778 ret = pma_get_portcounters_cong(pmp, ibdev, port); in pma_set_portcounters_cong()
1816 static int pma_set_portcounters_ext(struct ib_pma_mad *pmp, in pma_set_portcounters_ext() argument
1820 pmp->data; in pma_set_portcounters_ext()
1854 return pma_get_portcounters_ext(pmp, ibdev, port); in pma_set_portcounters_ext()
2013 struct ib_pma_mad *pmp = (struct ib_pma_mad *)out_mad; in process_perf() local
2017 if (pmp->mad_hdr.class_version != 1) { in process_perf()
2018 pmp->mad_hdr.status |= IB_SMP_UNSUP_VERSION; in process_perf()
2019 ret = reply((struct ib_smp *) pmp); in process_perf()
2023 switch (pmp->mad_hdr.method) { in process_perf()
2025 switch (pmp->mad_hdr.attr_id) { in process_perf()
2027 ret = pma_get_classportinfo(pmp, ibdev); in process_perf()
2030 ret = pma_get_portsamplescontrol(pmp, ibdev, port); in process_perf()
2033 ret = pma_get_portsamplesresult(pmp, ibdev, port); in process_perf()
2036 ret = pma_get_portsamplesresult_ext(pmp, ibdev, port); in process_perf()
2039 ret = pma_get_portcounters(pmp, ibdev, port); in process_perf()
2042 ret = pma_get_portcounters_ext(pmp, ibdev, port); in process_perf()
2045 ret = pma_get_portcounters_cong(pmp, ibdev, port); in process_perf()
2048 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
2049 ret = reply((struct ib_smp *) pmp); in process_perf()
2054 switch (pmp->mad_hdr.attr_id) { in process_perf()
2056 ret = pma_set_portsamplescontrol(pmp, ibdev, port); in process_perf()
2059 ret = pma_set_portcounters(pmp, ibdev, port); in process_perf()
2062 ret = pma_set_portcounters_ext(pmp, ibdev, port); in process_perf()
2065 ret = pma_set_portcounters_cong(pmp, ibdev, port); in process_perf()
2068 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
2069 ret = reply((struct ib_smp *) pmp); in process_perf()
2084 pmp->mad_hdr.status |= IB_SMP_UNSUP_METHOD; in process_perf()
2085 ret = reply((struct ib_smp *) pmp); in process_perf()