Lines Matching defs:priv

40 	struct ipoib_dev_priv *priv = netdev_priv(dev);
45 if (ib_find_pkey(priv->ca, priv->port, priv->pkey, &pkey_index)) {
46 clear_bit(IPOIB_PKEY_ASSIGNED, &priv->flags);
50 set_bit(IPOIB_PKEY_ASSIGNED, &priv->flags);
59 qp_attr->qkey = priv->qkey;
60 ret = ib_modify_qp(priv->qp, qp_attr, IB_QP_QKEY);
62 ipoib_warn(priv, "failed to modify QP, ret = %d\n", ret);
68 ret = ib_attach_mcast(priv->qp, mgid, mlid);
70 ipoib_warn(priv, "failed to attach to multicast group, ret = %d\n", ret);
79 struct ipoib_dev_priv *priv = netdev_priv(dev);
84 if (!test_bit(IPOIB_PKEY_ASSIGNED, &priv->flags))
89 qp_attr.port_num = priv->port;
90 qp_attr.pkey_index = priv->pkey_index;
96 ret = ib_modify_qp(priv->qp, &qp_attr, attr_mask);
98 ipoib_warn(priv, "failed to modify QP to init, ret = %d\n", ret);
105 ret = ib_modify_qp(priv->qp, &qp_attr, attr_mask);
107 ipoib_warn(priv, "failed to modify QP to RTR, ret = %d\n", ret);
115 ret = ib_modify_qp(priv->qp, &qp_attr, attr_mask);
117 ipoib_warn(priv, "failed to modify QP to RTS, ret = %d\n", ret);
125 if (ib_modify_qp(priv->qp, &qp_attr, IB_QP_STATE))
126 ipoib_warn(priv, "Failed to modify QP to RESET state\n");
133 struct ipoib_dev_priv *priv = netdev_priv(dev);
148 priv->pd = ib_alloc_pd(priv->ca);
149 if (IS_ERR(priv->pd)) {
154 priv->mr = ib_get_dma_mr(priv->pd, IB_ACCESS_LOCAL_WRITE);
155 if (IS_ERR(priv->mr)) {
170 priv->recv_cq = ib_create_cq(priv->ca, ipoib_ib_completion, NULL, dev, size, 0);
171 if (IS_ERR(priv->recv_cq)) {
176 priv->send_cq = ib_create_cq(priv->ca, ipoib_send_comp_handler, NULL,
178 if (IS_ERR(priv->send_cq)) {
183 if (ib_req_notify_cq(priv->recv_cq, IB_CQ_NEXT_COMP))
186 init_attr.send_cq = priv->send_cq;
187 init_attr.recv_cq = priv->recv_cq;
189 if (priv->hca_caps & IB_DEVICE_UD_TSO)
192 if (priv->hca_caps & IB_DEVICE_BLOCK_MULTICAST_LOOPBACK)
198 priv->qp = ib_create_qp(priv->pd, &init_attr);
199 if (IS_ERR(priv->qp)) {
204 priv->dev->dev_addr[1] = (priv->qp->qp_num >> 16) & 0xff;
205 priv->dev->dev_addr[2] = (priv->qp->qp_num >> 8) & 0xff;
206 priv->dev->dev_addr[3] = (priv->qp->qp_num ) & 0xff;
209 priv->tx_sge[i].lkey = priv->mr->lkey;
211 priv->tx_wr.opcode = IB_WR_SEND;
212 priv->tx_wr.sg_list = priv->tx_sge;
213 priv->tx_wr.send_flags = IB_SEND_SIGNALED;
215 priv->rx_sge[0].lkey = priv->mr->lkey;
216 if (ipoib_ud_need_sg(priv->max_ib_mtu)) {
217 priv->rx_sge[0].length = IPOIB_UD_HEAD_SIZE;
218 priv->rx_sge[1].length = PAGE_SIZE;
219 priv->rx_sge[1].lkey = priv->mr->lkey;
220 priv->rx_wr.num_sge = IPOIB_UD_RX_SG;
222 priv->rx_sge[0].length = IPOIB_UD_BUF_SIZE(priv->max_ib_mtu);
223 priv->rx_wr.num_sge = 1;
225 priv->rx_wr.next = NULL;
226 priv->rx_wr.sg_list = priv->rx_sge;
231 ib_destroy_cq(priv->send_cq);
234 ib_destroy_cq(priv->recv_cq);
237 ib_dereg_mr(priv->mr);
241 ib_dealloc_pd(priv->pd);
247 struct ipoib_dev_priv *priv = netdev_priv(dev);
249 if (priv->qp) {
250 if (ib_destroy_qp(priv->qp))
251 ipoib_warn(priv, "ib_qp_destroy failed\n");
253 priv->qp = NULL;
254 clear_bit(IPOIB_PKEY_ASSIGNED, &priv->flags);
257 if (ib_destroy_cq(priv->send_cq))
258 ipoib_warn(priv, "ib_cq_destroy (send) failed\n");
260 if (ib_destroy_cq(priv->recv_cq))
261 ipoib_warn(priv, "ib_cq_destroy (recv) failed\n");
265 if (ib_dereg_mr(priv->mr))
266 ipoib_warn(priv, "ib_dereg_mr failed\n");
268 if (ib_dealloc_pd(priv->pd))
269 ipoib_warn(priv, "ib_dealloc_pd failed\n");
275 struct ipoib_dev_priv *priv =
278 if (record->element.port_num != priv->port)
281 ipoib_dbg(priv, "Event %d on device %s port %d\n", record->event,
286 queue_work(ipoib_workqueue, &priv->flush_light);
290 queue_work(ipoib_workqueue, &priv->flush_normal);
292 queue_work(ipoib_workqueue, &priv->flush_heavy);