Lines Matching refs:sa_ctl
100 struct edif_sa_ctl *sa_ctl; in qla2x00_sa_replace_iocb_timeout() local
128 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, in qla2x00_sa_replace_iocb_timeout()
131 if (sa_ctl) { in qla2x00_sa_replace_iocb_timeout()
134 __func__, sa_ctl, delete_sa_index, edif_entry->update_sa_index, in qla2x00_sa_replace_iocb_timeout()
137 sa_ctl->flags = EDIF_SA_CTL_FLG_DEL; in qla2x00_sa_replace_iocb_timeout()
138 set_bit(EDIF_SA_CTL_REPL, &sa_ctl->state); in qla2x00_sa_replace_iocb_timeout()
140 nport_handle, sa_ctl); in qla2x00_sa_replace_iocb_timeout()
204 fc_port_t *fcport, uint16_t nport_handle, struct edif_sa_ctl *sa_ctl) in qla_post_sa_replace_work() argument
213 e->u.sa_update.sa_ctl = sa_ctl; in qla_post_sa_replace_work()
318 qla_edif_free_sa_ctl(fc_port_t *fcport, struct edif_sa_ctl *sa_ctl, in qla_edif_free_sa_ctl() argument
324 list_del(&sa_ctl->next); in qla_edif_free_sa_ctl()
330 kfree(sa_ctl); in qla_edif_free_sa_ctl()
365 struct edif_sa_ctl *sa_ctl; in __qla2x00_release_all_sadb() local
381 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, in __qla2x00_release_all_sadb()
383 if (sa_ctl && in __qla2x00_release_all_sadb()
384 qla_edif_find_sa_ctl_by_index(fcport, sa_ctl->index, pdir)) { in __qla2x00_release_all_sadb()
386 "%s: freeing sa_ctl for index %d\n", __func__, sa_ctl->index); in __qla2x00_release_all_sadb()
387 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index); in __qla2x00_release_all_sadb()
390 "%s: sa_ctl NOT freed, sa_ctl: %p\n", __func__, sa_ctl); in __qla2x00_release_all_sadb()
1390 struct edif_sa_ctl *sa_ctl; in qla_edif_add_sa_ctl() local
1395 sa_ctl = kzalloc(sizeof(*sa_ctl), GFP_KERNEL); in qla_edif_add_sa_ctl()
1396 if (!sa_ctl) { in qla_edif_add_sa_ctl()
1408 INIT_LIST_HEAD(&sa_ctl->next); in qla_edif_add_sa_ctl()
1409 sap = &sa_ctl->sa_frame; in qla_edif_add_sa_ctl()
1411 sa_ctl->index = index; in qla_edif_add_sa_ctl()
1412 sa_ctl->fcport = fcport; in qla_edif_add_sa_ctl()
1413 sa_ctl->flags = 0; in qla_edif_add_sa_ctl()
1414 sa_ctl->state = 0L; in qla_edif_add_sa_ctl()
1417 __func__, sa_ctl, sa_ctl->index, sa_ctl->state); in qla_edif_add_sa_ctl()
1420 list_add_tail(&sa_ctl->next, &fcport->edif.tx_sa_list); in qla_edif_add_sa_ctl()
1422 list_add_tail(&sa_ctl->next, &fcport->edif.rx_sa_list); in qla_edif_add_sa_ctl()
1425 return sa_ctl; in qla_edif_add_sa_ctl()
1431 struct edif_sa_ctl *sa_ctl, *tsa_ctl; in qla_edif_flush_sa_ctl_lists() local
1436 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.tx_sa_list, in qla_edif_flush_sa_ctl_lists()
1438 list_del(&sa_ctl->next); in qla_edif_flush_sa_ctl_lists()
1439 kfree(sa_ctl); in qla_edif_flush_sa_ctl_lists()
1442 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.rx_sa_list, in qla_edif_flush_sa_ctl_lists()
1444 list_del(&sa_ctl->next); in qla_edif_flush_sa_ctl_lists()
1445 kfree(sa_ctl); in qla_edif_flush_sa_ctl_lists()
1454 struct edif_sa_ctl *sa_ctl, *tsa_ctl; in qla_edif_find_sa_ctl_by_index() local
1462 list_for_each_entry_safe(sa_ctl, tsa_ctl, sa_list, next) { in qla_edif_find_sa_ctl_by_index()
1463 if (test_bit(EDIF_SA_CTL_USED, &sa_ctl->state) && in qla_edif_find_sa_ctl_by_index()
1464 sa_ctl->index == index) in qla_edif_find_sa_ctl_by_index()
1465 return sa_ctl; in qla_edif_find_sa_ctl_by_index()
1475 struct edif_sa_ctl *sa_ctl = NULL; in qla24xx_check_sadb_avail_slot() local
1513 sa_ctl = qla_edif_add_sa_ctl(fcport, sa_frame, dir); in qla24xx_check_sadb_avail_slot()
1514 if (!sa_ctl) { in qla24xx_check_sadb_avail_slot()
1521 set_bit(EDIF_SA_CTL_USED, &sa_ctl->state); in qla24xx_check_sadb_avail_slot()
1530 __func__, sa_ctl, sa_ctl->index, sa_ctl->state, in qla24xx_check_sadb_avail_slot()
1679 struct edif_sa_ctl *sa_ctl; in qla24xx_sadb_update() local
1686 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, sa_index, in qla24xx_sadb_update()
1688 if (sa_ctl) { in qla24xx_sadb_update()
1691 __func__, sa_ctl->index); in qla24xx_sadb_update()
1692 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index); in qla24xx_sadb_update()
2355 struct edif_sa_ctl *sa_ctl = e->u.sa_update.sa_ctl; in qla24xx_issue_sa_replace_iocb() local
2359 "%s: starting, sa_ctl: %p\n", __func__, sa_ctl); in qla24xx_issue_sa_replace_iocb()
2361 if (!sa_ctl) { in qla24xx_issue_sa_replace_iocb()
2368 fcport = sa_ctl->fcport; in qla24xx_issue_sa_replace_iocb()
2381 iocb_cmd->u.sa_update.sa_ctl = sa_ctl; in qla24xx_issue_sa_replace_iocb()
2385 fcport->d_id.b24, sa_ctl, sa_ctl->index, nport_handle); in qla24xx_issue_sa_replace_iocb()
2390 if (sa_ctl->flags & EDIF_SA_CTL_FLG_CLEANUP_DEL) { in qla24xx_issue_sa_replace_iocb()
2502 struct edif_sa_ctl *sa_ctl = srb_iocb->u.sa_update.sa_ctl; in qla24xx_sa_replace_iocb() local
2522 sa_update_iocb->sa_index = cpu_to_le16(sa_ctl->index); in qla24xx_sa_replace_iocb()
2785 struct edif_sa_ctl *sa_ctl; in qla28xx_sa_update_iocb_entry() local
2919 sa_ctl = qla_edif_find_sa_ctl_by_index(sp->fcport, in qla28xx_sa_update_iocb_entry()
2921 if (sa_ctl && in qla28xx_sa_update_iocb_entry()
2922 qla_edif_find_sa_ctl_by_index(sp->fcport, sa_ctl->index, in qla28xx_sa_update_iocb_entry()
2926 __func__, sa_ctl->index); in qla28xx_sa_update_iocb_entry()
2927 qla_edif_free_sa_ctl(sp->fcport, sa_ctl, sa_ctl->index); in qla28xx_sa_update_iocb_entry()
2931 __func__, sa_ctl); in qla28xx_sa_update_iocb_entry()
3416 struct edif_sa_ctl *sa_ctl; in __chk_edif_rx_sa_delete_pending() local
3465 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, delete_sa_index, 0); in __chk_edif_rx_sa_delete_pending()
3466 if (sa_ctl) { in __chk_edif_rx_sa_delete_pending()
3469 __func__, sa_ctl, sa_index); in __chk_edif_rx_sa_delete_pending()
3475 sa_ctl->flags = EDIF_SA_CTL_FLG_DEL; in __chk_edif_rx_sa_delete_pending()
3476 set_bit(EDIF_SA_CTL_REPL, &sa_ctl->state); in __chk_edif_rx_sa_delete_pending()
3478 nport_handle, sa_ctl); in __chk_edif_rx_sa_delete_pending()