Lines Matching refs:mad_priv
790 struct ib_mad_private *mad_priv; in handle_outgoing_dr_smp() local
864 local->mad_priv = NULL; in handle_outgoing_dr_smp()
866 mad_priv = alloc_mad_private(mad_size, GFP_ATOMIC); in handle_outgoing_dr_smp()
867 if (!mad_priv) { in handle_outgoing_dr_smp()
887 (struct ib_mad_hdr *)mad_priv->mad, in handle_outgoing_dr_smp()
892 if (ib_response_mad((const struct ib_mad_hdr *)mad_priv->mad) && in handle_outgoing_dr_smp()
894 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
902 kfree(mad_priv); in handle_outgoing_dr_smp()
905 kfree(mad_priv); in handle_outgoing_dr_smp()
912 memcpy(mad_priv->mad, smp, mad_priv->mad_size); in handle_outgoing_dr_smp()
914 (const struct ib_mad_hdr *)mad_priv->mad); in handle_outgoing_dr_smp()
921 kfree(mad_priv); in handle_outgoing_dr_smp()
924 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
928 kfree(mad_priv); in handle_outgoing_dr_smp()
2725 if (local->mad_priv) { in local_completions()
2745 local->mad_priv->header.recv_wc.wc = &wc; in local_completions()
2747 base_version = ((struct ib_mad_hdr *)(local->mad_priv->mad))->base_version; in local_completions()
2749 local->mad_priv->header.recv_wc.mad_len = local->return_wc_byte_len; in local_completions()
2750 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct opa_mad); in local_completions()
2752 local->mad_priv->header.recv_wc.mad_len = sizeof(struct ib_mad); in local_completions()
2753 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct ib_mad); in local_completions()
2756 INIT_LIST_HEAD(&local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2757 list_add(&local->mad_priv->header.recv_wc.recv_buf.list, in local_completions()
2758 &local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2759 local->mad_priv->header.recv_wc.recv_buf.grh = NULL; in local_completions()
2760 local->mad_priv->header.recv_wc.recv_buf.mad = in local_completions()
2761 (struct ib_mad *)local->mad_priv->mad; in local_completions()
2764 &local->mad_priv->header.recv_wc, in local_completions()
2769 &local->mad_priv->header.recv_wc); in local_completions()
2790 kfree(local->mad_priv); in local_completions()
2888 struct ib_mad_private *mad_priv; in ib_mad_post_receive_mads() local
2904 mad_priv = mad; in ib_mad_post_receive_mads()
2907 mad_priv = alloc_mad_private(port_mad_size(qp_info->port_priv), in ib_mad_post_receive_mads()
2909 if (!mad_priv) { in ib_mad_post_receive_mads()
2914 sg_list.length = mad_priv_dma_size(mad_priv); in ib_mad_post_receive_mads()
2916 &mad_priv->grh, in ib_mad_post_receive_mads()
2917 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2924 mad_priv->header.mapping = sg_list.addr; in ib_mad_post_receive_mads()
2925 mad_priv->header.mad_list.mad_queue = recv_queue; in ib_mad_post_receive_mads()
2926 mad_priv->header.mad_list.cqe.done = ib_mad_recv_done; in ib_mad_post_receive_mads()
2927 recv_wr.wr_cqe = &mad_priv->header.mad_list.cqe; in ib_mad_post_receive_mads()
2932 list_add_tail(&mad_priv->header.mad_list.list, &recv_queue->list); in ib_mad_post_receive_mads()
2937 list_del(&mad_priv->header.mad_list.list); in ib_mad_post_receive_mads()
2941 mad_priv->header.mapping, in ib_mad_post_receive_mads()
2942 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2944 kfree(mad_priv); in ib_mad_post_receive_mads()