Lines Matching refs:dev
75 struct ocrdma_dev *dev;
78 dev = get_ocrdma_dev(ibdev);
80 if (ocrdma_is_udp_encap_supported(dev))
96 struct ocrdma_dev *dev = get_ocrdma_dev(device);
98 snprintf(str, IB_FW_VERSION_NAME_MAX, "%s", &dev->attr.fw_ver[0]);
105 struct ocrdma_dev *dev =
108 return sysfs_emit(buf, "0x%x\n", dev->nic_info.pdev->vendor);
115 struct ocrdma_dev *dev =
118 return sysfs_emit(buf, "%s\n", &dev->model_number[0]);
188 static int ocrdma_register_device(struct ocrdma_dev *dev)
192 addrconf_addr_eui48((u8 *)&dev->ibdev.node_guid,
193 dev->nic_info.mac_addr);
195 memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
198 dev->ibdev.node_type = RDMA_NODE_IB_CA;
199 dev->ibdev.phys_port_cnt = 1;
200 dev->ibdev.num_comp_vectors = dev->eq_cnt;
203 dev->ibdev.dev.parent = &dev->nic_info.pdev->dev;
205 ib_set_device_ops(&dev->ibdev, &ocrdma_dev_ops);
207 if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R)
208 ib_set_device_ops(&dev->ibdev, &ocrdma_dev_srq_ops);
210 ret = ib_device_set_netdev(&dev->ibdev, dev->nic_info.netdev, 1);
214 dma_set_max_seg_size(&dev->nic_info.pdev->dev, UINT_MAX);
215 return ib_register_device(&dev->ibdev, "ocrdma%d",
216 &dev->nic_info.pdev->dev);
219 static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
221 mutex_init(&dev->dev_lock);
222 dev->cq_tbl = kcalloc(OCRDMA_MAX_CQ, sizeof(struct ocrdma_cq *),
224 if (!dev->cq_tbl)
227 if (dev->attr.max_qp) {
228 dev->qp_tbl = kcalloc(OCRDMA_MAX_QP,
231 if (!dev->qp_tbl)
235 dev->stag_arr = kcalloc(OCRDMA_MAX_STAG, sizeof(u64), GFP_KERNEL);
236 if (dev->stag_arr == NULL)
239 ocrdma_alloc_pd_pool(dev);
241 if (!ocrdma_alloc_stats_resources(dev)) {
246 spin_lock_init(&dev->av_tbl.lock);
247 spin_lock_init(&dev->flush_q_lock);
250 pr_err("%s(%d) error.\n", __func__, dev->id);
254 static void ocrdma_free_resources(struct ocrdma_dev *dev)
256 ocrdma_release_stats_resources(dev);
257 kfree(dev->stag_arr);
258 kfree(dev->qp_tbl);
259 kfree(dev->cq_tbl);
266 struct ocrdma_dev *dev;
268 dev = ib_alloc_device(ocrdma_dev, ibdev);
269 if (!dev) {
274 dev->mbx_cmd = kzalloc(sizeof(struct ocrdma_mqe_emb_cmd), GFP_KERNEL);
275 if (!dev->mbx_cmd)
278 memcpy(&dev->nic_info, dev_info, sizeof(*dev_info));
279 dev->id = PCI_FUNC(dev->nic_info.pdev->devfn);
280 status = ocrdma_init_hw(dev);
284 status = ocrdma_alloc_resources(dev);
288 ocrdma_init_service_level(dev);
289 status = ocrdma_register_device(dev);
294 status = ocrdma_mbx_get_link_speed(dev, NULL, &lstate);
296 ocrdma_update_link_state(dev, lstate);
299 ocrdma_add_port_stats(dev);
301 INIT_DELAYED_WORK(&dev->eqd_work, ocrdma_eqd_set_task);
302 schedule_delayed_work(&dev->eqd_work, msecs_to_jiffies(1000));
305 dev_name(&dev->nic_info.pdev->dev), hca_name(dev),
306 port_speed_string(dev), dev->model_number,
307 dev->hba_port_num);
309 dev_name(&dev->nic_info.pdev->dev), dev->id);
310 return dev;
313 ocrdma_free_resources(dev);
314 ocrdma_cleanup_hw(dev);
316 kfree(dev->mbx_cmd);
317 ib_dealloc_device(&dev->ibdev);
322 static void ocrdma_remove_free(struct ocrdma_dev *dev)
325 kfree(dev->mbx_cmd);
326 ib_dealloc_device(&dev->ibdev);
329 static void ocrdma_remove(struct ocrdma_dev *dev)
334 cancel_delayed_work_sync(&dev->eqd_work);
335 ib_unregister_device(&dev->ibdev);
337 ocrdma_rem_port_stats(dev);
338 ocrdma_free_resources(dev);
339 ocrdma_cleanup_hw(dev);
340 ocrdma_remove_free(dev);
343 static int ocrdma_dispatch_port_active(struct ocrdma_dev *dev)
349 port_event.device = &dev->ibdev;
354 static int ocrdma_dispatch_port_error(struct ocrdma_dev *dev)
360 err_event.device = &dev->ibdev;
365 static void ocrdma_shutdown(struct ocrdma_dev *dev)
367 ocrdma_dispatch_port_error(dev);
368 ocrdma_remove(dev);
375 static void ocrdma_event_handler(struct ocrdma_dev *dev, u32 event)
379 ocrdma_shutdown(dev);
386 void ocrdma_update_link_state(struct ocrdma_dev *dev, u8 lstate)
388 if (!(dev->flags & OCRDMA_FLAGS_LINK_STATUS_INIT)) {
389 dev->flags |= OCRDMA_FLAGS_LINK_STATUS_INIT;
395 ocrdma_dispatch_port_error(dev);
397 ocrdma_dispatch_port_active(dev);