Lines Matching refs:iwdev

43 static void irdma_prep_tc_change(struct irdma_device *iwdev)
45 iwdev->vsi.tc_change_pending = true;
46 irdma_sc_suspend_resume_qps(&iwdev->vsi, IRDMA_OP_SUSPEND);
49 wait_event_timeout(iwdev->suspend_wq,
50 !atomic_read(&iwdev->vsi.qp_suspend_reqs),
52 irdma_ws_reset(&iwdev->vsi);
90 struct irdma_device *iwdev = dev_get_drvdata(&pf->adev->dev);
94 ibdev_dbg(&iwdev->ibdev, "CLNT: new MTU = %d\n", iwdev->netdev->mtu);
95 if (iwdev->vsi.mtu != iwdev->netdev->mtu) {
96 l2params.mtu = iwdev->netdev->mtu;
98 irdma_log_invalid_mtu(l2params.mtu, &iwdev->rf->sc_dev);
99 irdma_change_l2params(&iwdev->vsi, &l2params);
102 if (iwdev->vsi.tc_change_pending)
105 irdma_prep_tc_change(iwdev);
109 if (!iwdev->vsi.tc_change_pending)
113 ibdev_dbg(&iwdev->ibdev, "CLNT: TC Change\n");
116 if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY)
117 iwdev->dcb_vlan_mode = qos_info.num_tc > 1 && !l2params.dscp_mode;
118 irdma_change_l2params(&iwdev->vsi, &l2params);
120 ibdev_warn(&iwdev->ibdev, "ICE OICR event notification: oicr = 0x%08x\n",
125 pe_criterr = readl(iwdev->rf->sc_dev.hw_regs[IRDMA_GLPE_CRITERR]);
128 ibdev_err(&iwdev->ibdev, "critical PE Error, GLPE_CRITERR=0x%08x\n",
130 iwdev->rf->reset = true;
132 ibdev_warn(&iwdev->ibdev, "Q1 Resource Check\n");
136 ibdev_err(&iwdev->ibdev, "HMC Error\n");
137 iwdev->rf->reset = true;
140 ibdev_err(&iwdev->ibdev, "PE Push Error\n");
141 iwdev->rf->reset = true;
143 if (iwdev->rf->reset)
144 iwdev->rf->gen_ops.request_reset(iwdev->rf);
156 ibdev_warn(&rf->iwdev->ibdev, "Requesting a reset\n");
168 struct irdma_device *iwdev = vsi->back_vsi;
169 struct ice_pf *pf = iwdev->rf->cdev;
178 ibdev_dbg(&iwdev->ibdev, "WS: LAN alloc_res for rdma qset failed.\n");
196 struct irdma_device *iwdev = vsi->back_vsi;
197 struct ice_pf *pf = iwdev->rf->cdev;
206 ibdev_dbg(&iwdev->ibdev, "WS: LAN free_res for rdma qset failed.\n");
215 struct irdma_device *iwdev = auxiliary_get_drvdata(aux_dev);
217 irdma_ib_unregister_device(iwdev);
218 ice_rdma_update_vsi_filter(pf, iwdev->vsi_num, false);
223 static void irdma_fill_device_info(struct irdma_device *iwdev, struct ice_pf *pf,
226 struct irdma_pci_f *rf = iwdev->rf;
244 rf->iwdev = iwdev;
245 mutex_init(&iwdev->ah_tbl_lock);
246 iwdev->netdev = vsi->netdev;
247 iwdev->vsi_num = vsi->vsi_num;
248 iwdev->init_state = INITIAL_STATE;
249 iwdev->roce_cwnd = IRDMA_ROCE_CWND_DEFAULT;
250 iwdev->roce_ackcreds = IRDMA_ROCE_ACKCREDS_DEFAULT;
251 iwdev->rcv_wnd = IRDMA_CM_DEFAULT_RCV_WND_SCALED;
252 iwdev->rcv_wscale = IRDMA_CM_DEFAULT_RCV_WND_SCALE;
254 iwdev->roce_mode = true;
265 struct irdma_device *iwdev;
272 iwdev = ib_alloc_device(irdma_device, ibdev);
273 if (!iwdev)
275 iwdev->rf = kzalloc(sizeof(*rf), GFP_KERNEL);
276 if (!iwdev->rf) {
277 ib_dealloc_device(&iwdev->ibdev);
281 irdma_fill_device_info(iwdev, pf, vsi);
282 rf = iwdev->rf;
288 l2params.mtu = iwdev->netdev->mtu;
291 if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY)
292 iwdev->dcb_vlan_mode = l2params.num_tc > 1 && !l2params.dscp_mode;
294 err = irdma_rt_init_hw(iwdev, &l2params);
298 err = irdma_ib_register_device(iwdev);
302 ice_rdma_update_vsi_filter(pf, iwdev->vsi_num, true);
304 ibdev_dbg(&iwdev->ibdev, "INIT: Gen2 PF[%d] device probe success\n", PCI_FUNC(rf->pcidev->devfn));
305 auxiliary_set_drvdata(aux_dev, iwdev);
310 irdma_rt_deinit_hw(iwdev);
314 kfree(iwdev->rf);
315 ib_dealloc_device(&iwdev->ibdev);