Lines Matching refs:pmp
2602 static int pma_get_opa_classportinfo(struct opa_pma_mad *pmp, in pma_get_opa_classportinfo() argument
2606 (struct opa_class_port_info *)pmp->data; in pma_get_opa_classportinfo()
2608 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_opa_classportinfo()
2610 if (pmp->mad_hdr.attr_mod != 0) in pma_get_opa_classportinfo()
2611 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_classportinfo()
2623 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_classportinfo()
2723 static int pma_get_opa_portstatus(struct opa_pma_mad *pmp, in pma_get_opa_portstatus() argument
2728 (struct opa_port_status_req *)pmp->data; in pma_get_opa_portstatus()
2734 u32 nports = be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24; in pma_get_opa_portstatus()
2746 if (response_data_size > sizeof(pmp->data)) { in pma_get_opa_portstatus()
2747 pmp->mad_hdr.status |= OPA_PM_STATUS_REQUEST_TOO_LARGE; in pma_get_opa_portstatus()
2748 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_portstatus()
2753 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_portstatus()
2754 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_portstatus()
2757 memset(pmp->data, 0, sizeof(pmp->data)); in pma_get_opa_portstatus()
2759 rsp = (struct opa_port_status_rsp *)pmp->data; in pma_get_opa_portstatus()
2888 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_portstatus()
2974 static int pma_get_opa_datacounters(struct opa_pma_mad *pmp, in pma_get_opa_datacounters() argument
2979 (struct opa_port_data_counters_msg *)pmp->data; in pma_get_opa_datacounters()
2997 num_ports = be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24; in pma_get_opa_datacounters()
3006 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_datacounters()
3007 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_datacounters()
3013 if (response_data_size > sizeof(pmp->data)) { in pma_get_opa_datacounters()
3014 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_datacounters()
3015 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_datacounters()
3027 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_datacounters()
3028 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_datacounters()
3122 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_datacounters()
3125 static int pma_get_ib_portcounters_ext(struct ib_pma_mad *pmp, in pma_get_ib_portcounters_ext() argument
3129 pmp->data; in pma_get_ib_portcounters_ext()
3132 if (pmp->mad_hdr.attr_mod != 0 || p->port_select != port) { in pma_get_ib_portcounters_ext()
3133 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_ib_portcounters_ext()
3150 return reply((struct ib_mad_hdr *)pmp); in pma_get_ib_portcounters_ext()
3195 static int pma_get_opa_porterrors(struct opa_pma_mad *pmp, in pma_get_opa_porterrors() argument
3215 req = (struct opa_port_error_counters64_msg *)pmp->data; in pma_get_opa_porterrors()
3217 num_ports = be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24; in pma_get_opa_porterrors()
3223 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_porterrors()
3224 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_porterrors()
3229 if (response_data_size > sizeof(pmp->data)) { in pma_get_opa_porterrors()
3230 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_porterrors()
3231 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_porterrors()
3242 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_porterrors()
3243 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_porterrors()
3282 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_porterrors()
3285 static int pma_get_ib_portcounters(struct ib_pma_mad *pmp, in pma_get_ib_portcounters() argument
3289 pmp->data; in pma_get_ib_portcounters()
3298 if (pmp->mad_hdr.attr_mod != 0 || p->port_select != port) { in pma_get_ib_portcounters()
3299 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_ib_portcounters()
3367 return reply((struct ib_mad_hdr *)pmp); in pma_get_ib_portcounters()
3370 static int pma_get_opa_errorinfo(struct opa_pma_mad *pmp, in pma_get_opa_errorinfo() argument
3384 req = (struct opa_port_error_info_msg *)pmp->data; in pma_get_opa_errorinfo()
3387 num_ports = OPA_AM_NPORT(be32_to_cpu(pmp->mad_hdr.attr_mod)); in pma_get_opa_errorinfo()
3393 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_errorinfo()
3394 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_errorinfo()
3400 if (response_data_size > sizeof(pmp->data)) { in pma_get_opa_errorinfo()
3401 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_errorinfo()
3402 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_errorinfo()
3414 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_get_opa_errorinfo()
3415 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_errorinfo()
3466 return reply((struct ib_mad_hdr *)pmp); in pma_get_opa_errorinfo()
3469 static int pma_set_opa_portstatus(struct opa_pma_mad *pmp, in pma_set_opa_portstatus() argument
3474 (struct opa_clear_port_status *)pmp->data; in pma_set_opa_portstatus()
3478 u32 nports = be32_to_cpu(pmp->mad_hdr.attr_mod) >> 24; in pma_set_opa_portstatus()
3485 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_set_opa_portstatus()
3486 return reply((struct ib_mad_hdr *)pmp); in pma_set_opa_portstatus()
3618 return reply((struct ib_mad_hdr *)pmp); in pma_set_opa_portstatus()
3621 static int pma_set_opa_errorinfo(struct opa_pma_mad *pmp, in pma_set_opa_errorinfo() argument
3634 req = (struct opa_port_error_info_msg *)pmp->data; in pma_set_opa_errorinfo()
3637 num_ports = OPA_AM_NPORT(be32_to_cpu(pmp->mad_hdr.attr_mod)); in pma_set_opa_errorinfo()
3643 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_set_opa_errorinfo()
3644 return reply((struct ib_mad_hdr *)pmp); in pma_set_opa_errorinfo()
3656 pmp->mad_hdr.status |= IB_SMP_INVALID_FIELD; in pma_set_opa_errorinfo()
3657 return reply((struct ib_mad_hdr *)pmp); in pma_set_opa_errorinfo()
3695 return reply((struct ib_mad_hdr *)pmp); in pma_set_opa_errorinfo()
4679 struct ib_pma_mad *pmp = (struct ib_pma_mad *)out_mad; in process_perf() local
4681 &pmp->data; in process_perf()
4685 if (pmp->mad_hdr.class_version != 1) { in process_perf()
4686 pmp->mad_hdr.status |= IB_SMP_UNSUP_VERSION; in process_perf()
4687 ret = reply((struct ib_mad_hdr *)pmp); in process_perf()
4691 switch (pmp->mad_hdr.method) { in process_perf()
4693 switch (pmp->mad_hdr.attr_id) { in process_perf()
4695 ret = pma_get_ib_portcounters(pmp, ibdev, port); in process_perf()
4698 ret = pma_get_ib_portcounters_ext(pmp, ibdev, port); in process_perf()
4702 ret = reply((struct ib_mad_hdr *)pmp); in process_perf()
4705 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
4706 ret = reply((struct ib_mad_hdr *)pmp); in process_perf()
4712 if (pmp->mad_hdr.attr_id) { in process_perf()
4713 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf()
4714 ret = reply((struct ib_mad_hdr *)pmp); in process_perf()
4729 pmp->mad_hdr.status |= IB_SMP_UNSUP_METHOD; in process_perf()
4730 ret = reply((struct ib_mad_hdr *)pmp); in process_perf()
4741 struct opa_pma_mad *pmp = (struct opa_pma_mad *)out_mad; in process_perf_opa() local
4746 if (pmp->mad_hdr.class_version != OPA_SM_CLASS_VERSION) { in process_perf_opa()
4747 pmp->mad_hdr.status |= IB_SMP_UNSUP_VERSION; in process_perf_opa()
4748 return reply((struct ib_mad_hdr *)pmp); in process_perf_opa()
4751 *resp_len = sizeof(pmp->mad_hdr); in process_perf_opa()
4753 switch (pmp->mad_hdr.method) { in process_perf_opa()
4755 switch (pmp->mad_hdr.attr_id) { in process_perf_opa()
4757 ret = pma_get_opa_classportinfo(pmp, ibdev, resp_len); in process_perf_opa()
4760 ret = pma_get_opa_portstatus(pmp, ibdev, port, in process_perf_opa()
4764 ret = pma_get_opa_datacounters(pmp, ibdev, port, in process_perf_opa()
4768 ret = pma_get_opa_porterrors(pmp, ibdev, port, in process_perf_opa()
4772 ret = pma_get_opa_errorinfo(pmp, ibdev, port, in process_perf_opa()
4776 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf_opa()
4777 ret = reply((struct ib_mad_hdr *)pmp); in process_perf_opa()
4783 switch (pmp->mad_hdr.attr_id) { in process_perf_opa()
4785 ret = pma_set_opa_portstatus(pmp, ibdev, port, in process_perf_opa()
4789 ret = pma_set_opa_errorinfo(pmp, ibdev, port, in process_perf_opa()
4793 pmp->mad_hdr.status |= IB_SMP_UNSUP_METH_ATTR; in process_perf_opa()
4794 ret = reply((struct ib_mad_hdr *)pmp); in process_perf_opa()
4810 pmp->mad_hdr.status |= IB_SMP_UNSUP_METHOD; in process_perf_opa()
4811 ret = reply((struct ib_mad_hdr *)pmp); in process_perf_opa()