Lines Matching full:adapter

20 	struct idpf_adapter *adapter = pci_get_drvdata(pdev);  in idpf_remove()  local
23 set_bit(IDPF_REMOVE_IN_PROG, adapter->flags); in idpf_remove()
30 cancel_delayed_work_sync(&adapter->vc_event_task); in idpf_remove()
31 if (adapter->num_vfs) in idpf_remove()
34 idpf_vc_core_deinit(adapter); in idpf_remove()
37 adapter->dev_ops.reg_ops.trigger_reset(adapter, IDPF_HR_FUNC_RESET); in idpf_remove()
38 idpf_deinit_dflt_mbx(adapter); in idpf_remove()
40 if (!adapter->netdevs) in idpf_remove()
48 for (i = 0; i < adapter->max_vports; i++) { in idpf_remove()
49 if (!adapter->netdevs[i]) in idpf_remove()
51 if (adapter->netdevs[i]->reg_state != NETREG_UNINITIALIZED) in idpf_remove()
52 unregister_netdev(adapter->netdevs[i]); in idpf_remove()
53 free_netdev(adapter->netdevs[i]); in idpf_remove()
54 adapter->netdevs[i] = NULL; in idpf_remove()
58 destroy_workqueue(adapter->init_wq); in idpf_remove()
59 destroy_workqueue(adapter->serv_wq); in idpf_remove()
60 destroy_workqueue(adapter->mbx_wq); in idpf_remove()
61 destroy_workqueue(adapter->stats_wq); in idpf_remove()
62 destroy_workqueue(adapter->vc_event_wq); in idpf_remove()
64 for (i = 0; i < adapter->max_vports; i++) { in idpf_remove()
65 kfree(adapter->vport_config[i]); in idpf_remove()
66 adapter->vport_config[i] = NULL; in idpf_remove()
68 kfree(adapter->vport_config); in idpf_remove()
69 adapter->vport_config = NULL; in idpf_remove()
70 kfree(adapter->netdevs); in idpf_remove()
71 adapter->netdevs = NULL; in idpf_remove()
72 kfree(adapter->vcxn_mngr); in idpf_remove()
73 adapter->vcxn_mngr = NULL; in idpf_remove()
75 mutex_destroy(&adapter->vport_ctrl_lock); in idpf_remove()
76 mutex_destroy(&adapter->vector_lock); in idpf_remove()
77 mutex_destroy(&adapter->queue_lock); in idpf_remove()
78 mutex_destroy(&adapter->vc_buf_lock); in idpf_remove()
81 kfree(adapter); in idpf_remove()
90 struct idpf_adapter *adapter = pci_get_drvdata(pdev); in idpf_shutdown() local
92 cancel_delayed_work_sync(&adapter->serv_task); in idpf_shutdown()
93 cancel_delayed_work_sync(&adapter->vc_event_task); in idpf_shutdown()
94 idpf_vc_core_deinit(adapter); in idpf_shutdown()
95 idpf_deinit_dflt_mbx(adapter); in idpf_shutdown()
103 * @adapter: adapter to setup hw struct for
107 static int idpf_cfg_hw(struct idpf_adapter *adapter) in idpf_cfg_hw() argument
109 struct pci_dev *pdev = adapter->pdev; in idpf_cfg_hw()
110 struct idpf_hw *hw = &adapter->hw; in idpf_cfg_hw()
119 hw->back = adapter; in idpf_cfg_hw()
134 struct idpf_adapter *adapter; in idpf_probe() local
137 adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); in idpf_probe()
138 if (!adapter) in idpf_probe()
141 adapter->req_tx_splitq = true; in idpf_probe()
142 adapter->req_rx_splitq = true; in idpf_probe()
146 idpf_dev_ops_init(adapter); in idpf_probe()
149 idpf_vf_dev_ops_init(adapter); in idpf_probe()
150 adapter->crc_enable = true; in idpf_probe()
159 adapter->pdev = pdev; in idpf_probe()
184 pci_set_drvdata(pdev, adapter); in idpf_probe()
186 adapter->init_wq = alloc_workqueue("%s-%s-init", in idpf_probe()
190 if (!adapter->init_wq) { in idpf_probe()
196 adapter->serv_wq = alloc_workqueue("%s-%s-service", in idpf_probe()
200 if (!adapter->serv_wq) { in idpf_probe()
206 adapter->mbx_wq = alloc_workqueue("%s-%s-mbx", WQ_UNBOUND | WQ_HIGHPRI, in idpf_probe()
209 if (!adapter->mbx_wq) { in idpf_probe()
215 adapter->stats_wq = alloc_workqueue("%s-%s-stats", in idpf_probe()
219 if (!adapter->stats_wq) { in idpf_probe()
225 adapter->vc_event_wq = alloc_workqueue("%s-%s-vc_event", in idpf_probe()
229 if (!adapter->vc_event_wq) { in idpf_probe()
236 adapter->msg_enable = netif_msg_init(-1, IDPF_AVAIL_NETIF_M); in idpf_probe()
238 err = idpf_cfg_hw(adapter); in idpf_probe()
240 dev_err(dev, "Failed to configure HW structure for adapter: %d\n", in idpf_probe()
245 mutex_init(&adapter->vport_ctrl_lock); in idpf_probe()
246 mutex_init(&adapter->vector_lock); in idpf_probe()
247 mutex_init(&adapter->queue_lock); in idpf_probe()
248 mutex_init(&adapter->vc_buf_lock); in idpf_probe()
250 INIT_DELAYED_WORK(&adapter->init_task, idpf_init_task); in idpf_probe()
251 INIT_DELAYED_WORK(&adapter->serv_task, idpf_service_task); in idpf_probe()
252 INIT_DELAYED_WORK(&adapter->mbx_task, idpf_mbx_task); in idpf_probe()
253 INIT_DELAYED_WORK(&adapter->stats_task, idpf_statistics_task); in idpf_probe()
254 INIT_DELAYED_WORK(&adapter->vc_event_task, idpf_vc_event_task); in idpf_probe()
256 adapter->dev_ops.reg_ops.reset_reg_init(adapter); in idpf_probe()
257 set_bit(IDPF_HR_DRV_LOAD, adapter->flags); in idpf_probe()
258 queue_delayed_work(adapter->vc_event_wq, &adapter->vc_event_task, in idpf_probe()
264 destroy_workqueue(adapter->vc_event_wq); in idpf_probe()
266 destroy_workqueue(adapter->stats_wq); in idpf_probe()
268 destroy_workqueue(adapter->mbx_wq); in idpf_probe()
270 destroy_workqueue(adapter->serv_wq); in idpf_probe()
272 destroy_workqueue(adapter->init_wq); in idpf_probe()
274 kfree(adapter); in idpf_probe()