Lines Matching defs:mod
408 claim_fcxps_mem(struct bfa_fcxp_mod_s *mod)
413 fcxp = (struct bfa_fcxp_s *) bfa_mem_kva_curp(mod);
414 memset(fcxp, 0, sizeof(struct bfa_fcxp_s) * mod->num_fcxps);
416 INIT_LIST_HEAD(&mod->fcxp_req_free_q);
417 INIT_LIST_HEAD(&mod->fcxp_rsp_free_q);
418 INIT_LIST_HEAD(&mod->fcxp_active_q);
419 INIT_LIST_HEAD(&mod->fcxp_req_unused_q);
420 INIT_LIST_HEAD(&mod->fcxp_rsp_unused_q);
422 mod->fcxp_list = fcxp;
424 for (i = 0; i < mod->num_fcxps; i++) {
425 fcxp->fcxp_mod = mod;
428 if (i < (mod->num_fcxps / 2)) {
429 list_add_tail(&fcxp->qe, &mod->fcxp_req_free_q);
432 list_add_tail(&fcxp->qe, &mod->fcxp_rsp_free_q);
442 bfa_mem_kva_curp(mod) = (void *)fcxp;
487 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
489 mod->bfa = bfa;
490 mod->num_fcxps = cfg->fwcfg.num_fcxp_reqs;
495 mod->req_pld_sz = mod->rsp_pld_sz = BFA_FCXP_MAX_IBUF_SZ;
497 mod->rsp_pld_sz = BFA_FCXP_MAX_LBUF_SZ;
499 INIT_LIST_HEAD(&mod->req_wait_q);
500 INIT_LIST_HEAD(&mod->rsp_wait_q);
502 claim_fcxps_mem(mod);
508 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
513 list_splice_tail_init(&mod->fcxp_req_unused_q, &mod->fcxp_req_free_q);
514 list_splice_tail_init(&mod->fcxp_rsp_unused_q, &mod->fcxp_rsp_free_q);
516 list_for_each_safe(qe, qen, &mod->fcxp_active_q) {
614 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
618 bfa_q_deq(&mod->req_wait_q, &wqe);
620 bfa_q_deq(&mod->rsp_wait_q, &wqe);
623 bfa_trc(mod->bfa, fcxp->fcxp_tag);
634 WARN_ON(!bfa_q_is_on_q(&mod->fcxp_active_q, fcxp));
638 list_add_tail(&fcxp->qe, &mod->fcxp_req_free_q);
640 list_add_tail(&fcxp->qe, &mod->fcxp_rsp_free_q);
668 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
685 fcxp = BFA_FCXP_FROM_TAG(mod, fcxp_tag);
689 hal_fcxp_rx_plog(mod->bfa, fcxp, fcxp_rsp);
692 bfa_trc(mod->bfa, (NULL == fcxp->caller));
921 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
925 reqbuf = bfa_mem_get_dmabuf_kva(mod, fcxp->fcxp_tag,
926 mod->req_pld_sz + mod->rsp_pld_sz);
933 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
935 return mod->req_pld_sz;
948 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
953 fcxp_buf = bfa_mem_get_dmabuf_kva(mod, fcxp->fcxp_tag,
954 mod->req_pld_sz + mod->rsp_pld_sz);
957 return ((u8 *) fcxp_buf) + mod->req_pld_sz;
970 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
973 bfa_trc(mod->bfa, fcxp->fcxp_tag);
1064 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1067 WARN_ON(!list_empty(&mod->fcxp_req_free_q));
1069 WARN_ON(!list_empty(&mod->fcxp_rsp_free_q));
1083 list_add_tail(&wqe->qe, &mod->req_wait_q);
1085 list_add_tail(&wqe->qe, &mod->rsp_wait_q);
1091 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1093 WARN_ON(!bfa_q_is_on_q(&mod->req_wait_q, wqe) ||
1094 !bfa_q_is_on_q(&mod->rsp_wait_q, wqe));
1132 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1134 return mod->rsp_pld_sz;
1140 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1144 for (i = 0; i < (mod->num_fcxps - num_fcxp_fw); i++) {
1145 if (i < ((mod->num_fcxps - num_fcxp_fw) / 2)) {
1146 bfa_q_deq_tail(&mod->fcxp_req_free_q, &qe);
1147 list_add_tail(qe, &mod->fcxp_req_unused_q);
1149 bfa_q_deq_tail(&mod->fcxp_rsp_free_q, &qe);
1150 list_add_tail(qe, &mod->fcxp_rsp_unused_q);
1477 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1481 mod->num_lps = BFA_LPS_MAX_LPORTS;
1483 mod->num_lps = BFA_LPS_MIN_LPORTS;
1485 mod->num_lps = BFA_LPS_MAX_LPORTS;
1486 mod->lps_arr = lps = (struct bfa_lps_s *) bfa_mem_kva_curp(mod);
1488 bfa_mem_kva_curp(mod) += mod->num_lps * sizeof(struct bfa_lps_s);
1490 INIT_LIST_HEAD(&mod->lps_free_q);
1491 INIT_LIST_HEAD(&mod->lps_active_q);
1492 INIT_LIST_HEAD(&mod->lps_login_q);
1494 for (i = 0; i < mod->num_lps; i++, lps++) {
1499 list_add_tail(&lps->qe, &mod->lps_free_q);
1509 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1513 list_for_each_safe(qe, qen, &mod->lps_active_q) {
1517 list_for_each_safe(qe, qen, &mod->lps_login_q) {
1521 list_splice_tail_init(&mod->lps_login_q, &mod->lps_active_q);
1530 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1533 WARN_ON(rsp->bfa_tag >= mod->num_lps);
1534 lps = BFA_LPS_FROM_TAG(mod, rsp->bfa_tag);
1576 list_add_tail(&lps->qe, &mod->lps_active_q);
1584 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1598 list_add_tail(&lps->qe, &mod->lps_active_q);
1611 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1614 WARN_ON(rsp->bfa_tag >= mod->num_lps);
1615 lps = BFA_LPS_FROM_TAG(mod, rsp->bfa_tag);
1626 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1629 lps = BFA_LPS_FROM_TAG(mod, cvl->bfa_tag);
1651 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(lps->bfa);
1655 list_add_tail(&lps->qe, &mod->lps_free_q);
1664 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(lps->bfa);
1683 list_add_tail(&lps->qe, &mod->lps_login_q);
1846 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1849 bfa_q_deq(&mod->lps_free_q, &lps);
1854 list_add_tail(&lps->qe, &mod->lps_active_q);
1917 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1919 return BFA_LPS_FROM_TAG(mod, lp_tag)->fw_tag;
1928 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1932 for (i = 0, lps = mod->lps_arr; i < mod->num_lps; i++, lps++) {
1948 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1950 return BFA_LPS_FROM_TAG(mod, 0)->lp_pid;
4810 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
4814 INIT_LIST_HEAD(&mod->rp_free_q);
4815 INIT_LIST_HEAD(&mod->rp_active_q);
4816 INIT_LIST_HEAD(&mod->rp_unused_q);
4818 rp = (struct bfa_rport_s *) bfa_mem_kva_curp(mod);
4819 mod->rps_list = rp;
4820 mod->num_rports = cfg->fwcfg.num_rports;
4822 WARN_ON(!mod->num_rports ||
4823 (mod->num_rports & (mod->num_rports - 1)));
4825 for (i = 0; i < mod->num_rports; i++, rp++) {
4835 list_add_tail(&rp->qe, &mod->rp_free_q);
4843 bfa_mem_kva_curp(mod) = (u8 *) rp;
4849 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
4854 list_splice_tail_init(&mod->rp_unused_q, &mod->rp_free_q);
4856 list_for_each_safe(qe, qen, &mod->rp_active_q) {
4863 bfa_rport_alloc(struct bfa_rport_mod_s *mod)
4867 bfa_q_deq(&mod->rp_free_q, &rport);
4869 list_add_tail(&rport->qe, &mod->rp_active_q);
4877 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(rport->bfa);
4879 WARN_ON(!bfa_q_is_on_q(&mod->rp_active_q, rport));
4881 list_add_tail(&rport->qe, &mod->rp_free_q);
5034 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
5038 for (i = 0; i < (mod->num_rports - num_rport_fw); i++) {
5039 bfa_q_deq_tail(&mod->rp_free_q, &qe);
5040 list_add_tail(qe, &mod->rp_unused_q);
5176 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5189 INIT_LIST_HEAD(&mod->sgpg_q);
5190 INIT_LIST_HEAD(&mod->sgpg_wait_q);
5194 mod->free_sgpgs = mod->num_sgpgs = cfg->drvcfg.num_sgpgs;
5200 hsgpg = (struct bfa_sgpg_s *) bfa_mem_kva_curp(mod);
5202 bfa_mem_dma_seg_iter(mod, seg_ptr, nsegs, idx) {
5224 list_add_tail(&hsgpg->qe, &mod->sgpg_q);
5232 bfa_mem_kva_curp(mod) = (u8 *) hsgpg;
5238 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5242 if (mod->free_sgpgs < nsgpgs)
5246 bfa_q_deq(&mod->sgpg_q, &hsgpg);
5251 mod->free_sgpgs -= nsgpgs;
5258 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5261 mod->free_sgpgs += nsgpg;
5262 WARN_ON(mod->free_sgpgs > mod->num_sgpgs);
5264 list_splice_tail_init(sgpg_q, &mod->sgpg_q);
5266 if (list_empty(&mod->sgpg_wait_q))
5273 wqe = bfa_q_first(&mod->sgpg_wait_q);
5274 if (mod->free_sgpgs < wqe->nsgpg)
5275 nsgpg = mod->free_sgpgs;
5284 } while (mod->free_sgpgs && !list_empty(&mod->sgpg_wait_q));
5290 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5293 WARN_ON(nsgpg <= mod->free_sgpgs);
5300 if (mod->free_sgpgs) {
5304 WARN_ON(!list_empty(&mod->sgpg_wait_q));
5305 list_splice_tail_init(&mod->sgpg_q, &wqe->sgpg_q);
5306 wqe->nsgpg -= mod->free_sgpgs;
5307 mod->free_sgpgs = 0;
5310 list_add_tail(&wqe->qe, &mod->sgpg_wait_q);
5316 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5318 WARN_ON(!bfa_q_is_on_q(&mod->sgpg_wait_q, wqe));
5622 struct bfa_uf_mod_s *mod = BFA_UF_MOD(bfa);
5626 for (i = 0; i < (mod->num_ufs - num_uf_fw); i++) {
5627 bfa_q_deq_tail(&mod->uf_free_q, &qe);
5628 list_add_tail(qe, &mod->uf_unused_q);