Lines Matching refs:pf_entry
68 struct ixl_iw_pf_entry *pf_entry = (struct ixl_iw_pf_entry *)context; in ixl_iw_invoke_op() local
76 if ((pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) && in ixl_iw_invoke_op()
77 (pf_entry->state.iw_current == IXL_IW_PF_STATE_OFF)) in ixl_iw_invoke_op()
79 else if ((pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_OFF) && in ixl_iw_invoke_op()
80 (pf_entry->state.iw_current == IXL_IW_PF_STATE_ON)) in ixl_iw_invoke_op()
87 info = pf_entry->pf_info; in ixl_iw_invoke_op()
93 device_printf(pf_entry->pf->dev, in ixl_iw_invoke_op()
97 pf_entry->state.iw_current = IXL_IW_PF_STATE_ON; in ixl_iw_invoke_op()
101 device_printf(pf_entry->pf->dev, in ixl_iw_invoke_op()
105 ixl_iw_pf_msix_reset(pf_entry->pf); in ixl_iw_invoke_op()
106 pf_entry->state.iw_current = IXL_IW_PF_STATE_OFF; in ixl_iw_invoke_op()
141 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_pf_init() local
149 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_pf_init()
150 if (pf_entry->pf == pf) in ixl_iw_pf_init()
152 if (pf_entry == NULL) { in ixl_iw_pf_init()
159 pf_info = &pf_entry->pf_info; in ixl_iw_pf_init()
175 pf_entry->state.pf = IXL_IW_PF_STATE_ON; in ixl_iw_pf_init()
177 pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_ON; in ixl_iw_pf_init()
178 taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task); in ixl_iw_pf_init()
190 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_pf_stop() local
196 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_pf_stop()
197 if (pf_entry->pf == pf) in ixl_iw_pf_stop()
199 if (pf_entry == NULL) { in ixl_iw_pf_stop()
205 pf_entry->state.pf = IXL_IW_PF_STATE_OFF; in ixl_iw_pf_stop()
206 if (pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) { in ixl_iw_pf_stop()
207 pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF; in ixl_iw_pf_stop()
209 taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task); in ixl_iw_pf_stop()
221 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_pf_attach() local
231 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_pf_attach()
232 if (pf_entry->pf == pf) { in ixl_iw_pf_attach()
239 pf_entry = malloc(sizeof(struct ixl_iw_pf_entry), in ixl_iw_pf_attach()
241 if (pf_entry == NULL) { in ixl_iw_pf_attach()
248 pf_entry->pf = pf; in ixl_iw_pf_attach()
249 pf_entry->state.pf = IXL_IW_PF_STATE_OFF; in ixl_iw_pf_attach()
250 pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF; in ixl_iw_pf_attach()
251 pf_entry->state.iw_current = IXL_IW_PF_STATE_OFF; in ixl_iw_pf_attach()
253 LIST_INSERT_HEAD(&ixl_iw.pfs, pf_entry, node); in ixl_iw_pf_attach()
256 TASK_INIT(&pf_entry->iw_task, 0, ixl_iw_invoke_op, pf_entry); in ixl_iw_pf_attach()
266 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_pf_detach() local
273 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_pf_detach()
274 if (pf_entry->pf == pf) in ixl_iw_pf_detach()
276 if (pf_entry == NULL) { in ixl_iw_pf_detach()
283 if (pf_entry->state.pf != IXL_IW_PF_STATE_OFF) { in ixl_iw_pf_detach()
290 LIST_REMOVE(pf_entry, node); in ixl_iw_pf_detach()
291 free(pf_entry, M_IXL); in ixl_iw_pf_detach()
374 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_register() local
379 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_register()
380 iwarp_cap_on_pfs += pf_entry->pf->hw.func_caps.iwarp; in ixl_iw_register()
428 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_register()
429 if (pf_entry->state.pf == IXL_IW_PF_STATE_ON) { in ixl_iw_register()
430 pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_ON; in ixl_iw_register()
431 taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task); in ixl_iw_register()
442 struct ixl_iw_pf_entry *pf_entry; in ixl_iw_unregister() local
447 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_unregister()
448 iwarp_cap_on_pfs += pf_entry->pf->hw.func_caps.iwarp; in ixl_iw_unregister()
469 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_unregister()
470 if (pf_entry->state.iw_scheduled == IXL_IW_PF_STATE_ON) { in ixl_iw_unregister()
471 pf_entry->state.iw_scheduled = IXL_IW_PF_STATE_OFF; in ixl_iw_unregister()
472 taskqueue_enqueue(ixl_iw.tq, &pf_entry->iw_task); in ixl_iw_unregister()
479 LIST_FOREACH(pf_entry, &ixl_iw.pfs, node) in ixl_iw_unregister()
480 taskqueue_drain(ixl_iw.tq, &pf_entry->iw_task); in ixl_iw_unregister()