Lines Matching refs:iwdev

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