Lines Matching refs:pmp
1149 static int pma_get_classportinfo(struct ib_pma_mad *pmp, in pma_get_classportinfo() argument
1153 (struct ib_class_port_info *)pmp->data; in pma_get_classportinfo()
1156 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_classportinfo()
1158 if (pmp->mad_hdr.attr_mod != 0) in pma_get_classportinfo()
1159 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_classportinfo()
1175 return reply((struct ib_smp *) pmp); in pma_get_classportinfo()
1178 static int pma_get_portsamplescontrol(struct ib_pma_mad *pmp, in pma_get_portsamplescontrol() argument
1182 (struct ib_pma_portsamplescontrol *)pmp->data; in pma_get_portsamplescontrol()
1190 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplescontrol()
1193 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) { in pma_get_portsamplescontrol()
1194 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portsamplescontrol()
1213 return reply((struct ib_smp *) pmp); in pma_get_portsamplescontrol()
1216 static int pma_set_portsamplescontrol(struct ib_pma_mad *pmp, in pma_set_portsamplescontrol() argument
1220 (struct ib_pma_portsamplescontrol *)pmp->data; in pma_set_portsamplescontrol()
1229 if (pmp->mad_hdr.attr_mod != 0 || p->port_select != port) { in pma_set_portsamplescontrol()
1230 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_set_portsamplescontrol()
1231 ret = reply((struct ib_smp *) pmp); in pma_set_portsamplescontrol()
1257 ret = pma_get_portsamplescontrol(pmp, ibdev, port); in pma_set_portsamplescontrol()
1345 static int pma_get_portsamplesresult(struct ib_pma_mad *pmp, in pma_get_portsamplesresult() argument
1349 (struct ib_pma_portsamplesresult *)pmp->data; in pma_get_portsamplesresult()
1358 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplesresult()
1381 return reply((struct ib_smp *) pmp); in pma_get_portsamplesresult()
1384 static int pma_get_portsamplesresult_ext(struct ib_pma_mad *pmp, in pma_get_portsamplesresult_ext() argument
1388 (struct ib_pma_portsamplesresult_ext *)pmp->data; in pma_get_portsamplesresult_ext()
1398 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portsamplesresult_ext()
1423 return reply((struct ib_smp *) pmp); in pma_get_portsamplesresult_ext()
1426 static int pma_get_portcounters(struct ib_pma_mad *pmp, in pma_get_portcounters() argument
1430 pmp->data; in pma_get_portcounters()
1457 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portcounters()
1460 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) in pma_get_portcounters()
1461 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters()
1521 return reply((struct ib_smp *) pmp); in pma_get_portcounters()
1524 static int pma_get_portcounters_cong(struct ib_pma_mad *pmp, in pma_get_portcounters_cong() argument
1529 (struct ib_pma_portcounters_cong *)pmp->reserved; in pma_get_portcounters_cong()
1534 u32 port_select = be32_to_cpu(pmp->mad_hdr.attr_mod) & 0xFF; in pma_get_portcounters_cong()
1543 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in pma_get_portcounters_cong()
1545 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters_cong()
1572 memset(pmp->reserved, 0, sizeof(pmp->reserved) + in pma_get_portcounters_cong()
1573 sizeof(pmp->data)); in pma_get_portcounters_cong()
1634 return reply((struct ib_smp *)pmp); in pma_get_portcounters_cong()
1654 static int pma_get_portcounters_ext(struct ib_pma_mad *pmp, in pma_get_portcounters_ext() argument
1658 (struct ib_pma_portcounters_ext *)pmp->data; in pma_get_portcounters_ext()
1665 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_portcounters_ext()
1668 if (pmp->mad_hdr.attr_mod != 0 || port_select != port) { in pma_get_portcounters_ext()
1669 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_portcounters_ext()
1698 return reply((struct ib_smp *) pmp); in pma_get_portcounters_ext()
1701 static int pma_set_portcounters(struct ib_pma_mad *pmp, in pma_set_portcounters() argument
1705 pmp->data; in pma_set_portcounters()
1761 return pma_get_portcounters(pmp, ibdev, port); in pma_set_portcounters()
1764 static int pma_set_portcounters_cong(struct ib_pma_mad *pmp, in pma_set_portcounters_cong() argument
1771 u32 counter_select = (be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24) & 0xFF; in pma_set_portcounters_cong()
1777 ret = pma_get_portcounters_cong(pmp, ibdev, port); in pma_set_portcounters_cong()
1815 static int pma_set_portcounters_ext(struct ib_pma_mad *pmp, in pma_set_portcounters_ext() argument
1819 pmp->data; in pma_set_portcounters_ext()
1853 return pma_get_portcounters_ext(pmp, ibdev, port); in pma_set_portcounters_ext()
2012 struct ib_pma_mad *pmp = (struct ib_pma_mad *)out_mad; in process_perf() local
2016 if (pmp->mad_hdr.class_version != 1) { in process_perf()
2017 pmp->mad_hdr.status |= IB_SMP_UNSUP_VERSION; in process_perf()
2018 ret = reply((struct ib_smp *) pmp); in process_perf()
2022 switch (pmp->mad_hdr.method) { in process_perf()
2024 switch (pmp->mad_hdr.attr_id) { in process_perf()
2026 ret = pma_get_classportinfo(pmp, ibdev); in process_perf()
2029 ret = pma_get_portsamplescontrol(pmp, ibdev, port); in process_perf()
2032 ret = pma_get_portsamplesresult(pmp, ibdev, port); in process_perf()
2035 ret = pma_get_portsamplesresult_ext(pmp, ibdev, port); in process_perf()
2038 ret = pma_get_portcounters(pmp, ibdev, port); in process_perf()
2041 ret = pma_get_portcounters_ext(pmp, ibdev, port); in process_perf()
2044 ret = pma_get_portcounters_cong(pmp, ibdev, port); in process_perf()
2047 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
2048 ret = reply((struct ib_smp *) pmp); in process_perf()
2053 switch (pmp->mad_hdr.attr_id) { in process_perf()
2055 ret = pma_set_portsamplescontrol(pmp, ibdev, port); in process_perf()
2058 ret = pma_set_portcounters(pmp, ibdev, port); in process_perf()
2061 ret = pma_set_portcounters_ext(pmp, ibdev, port); in process_perf()
2064 ret = pma_set_portcounters_cong(pmp, ibdev, port); in process_perf()
2067 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
2068 ret = reply((struct ib_smp *) pmp); in process_perf()
2083 pmp->mad_hdr.status |= IB_SMP_UNSUP_METHOD; in process_perf()
2084 ret = reply((struct ib_smp *) pmp); in process_perf()