Lines Matching defs:mod
414 claim_fcxps_mem(struct bfa_fcxp_mod_s *mod)
419 fcxp = (struct bfa_fcxp_s *) bfa_mem_kva_curp(mod);
420 memset(fcxp, 0, sizeof(struct bfa_fcxp_s) * mod->num_fcxps);
422 INIT_LIST_HEAD(&mod->fcxp_req_free_q);
423 INIT_LIST_HEAD(&mod->fcxp_rsp_free_q);
424 INIT_LIST_HEAD(&mod->fcxp_active_q);
425 INIT_LIST_HEAD(&mod->fcxp_req_unused_q);
426 INIT_LIST_HEAD(&mod->fcxp_rsp_unused_q);
428 mod->fcxp_list = fcxp;
430 for (i = 0; i < mod->num_fcxps; i++) {
431 fcxp->fcxp_mod = mod;
434 if (i < (mod->num_fcxps / 2)) {
435 list_add_tail(&fcxp->qe, &mod->fcxp_req_free_q);
438 list_add_tail(&fcxp->qe, &mod->fcxp_rsp_free_q);
448 bfa_mem_kva_curp(mod) = (void *)fcxp;
493 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
495 mod->bfa = bfa;
496 mod->num_fcxps = cfg->fwcfg.num_fcxp_reqs;
501 mod->req_pld_sz = mod->rsp_pld_sz = BFA_FCXP_MAX_IBUF_SZ;
503 mod->rsp_pld_sz = BFA_FCXP_MAX_LBUF_SZ;
505 INIT_LIST_HEAD(&mod->req_wait_q);
506 INIT_LIST_HEAD(&mod->rsp_wait_q);
508 claim_fcxps_mem(mod);
514 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
519 list_splice_tail_init(&mod->fcxp_req_unused_q, &mod->fcxp_req_free_q);
520 list_splice_tail_init(&mod->fcxp_rsp_unused_q, &mod->fcxp_rsp_free_q);
522 list_for_each_safe(qe, qen, &mod->fcxp_active_q) {
620 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
624 bfa_q_deq(&mod->req_wait_q, &wqe);
626 bfa_q_deq(&mod->rsp_wait_q, &wqe);
629 bfa_trc(mod->bfa, fcxp->fcxp_tag);
640 WARN_ON(!bfa_q_is_on_q(&mod->fcxp_active_q, fcxp));
644 list_add_tail(&fcxp->qe, &mod->fcxp_req_free_q);
646 list_add_tail(&fcxp->qe, &mod->fcxp_rsp_free_q);
674 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
691 fcxp = BFA_FCXP_FROM_TAG(mod, fcxp_tag);
695 hal_fcxp_rx_plog(mod->bfa, fcxp, fcxp_rsp);
698 bfa_trc(mod->bfa, (NULL == fcxp->caller));
927 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
931 reqbuf = bfa_mem_get_dmabuf_kva(mod, fcxp->fcxp_tag,
932 mod->req_pld_sz + mod->rsp_pld_sz);
939 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
941 return mod->req_pld_sz;
954 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
959 fcxp_buf = bfa_mem_get_dmabuf_kva(mod, fcxp->fcxp_tag,
960 mod->req_pld_sz + mod->rsp_pld_sz);
963 return ((u8 *) fcxp_buf) + mod->req_pld_sz;
976 struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod;
979 bfa_trc(mod->bfa, fcxp->fcxp_tag);
1070 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1073 WARN_ON(!list_empty(&mod->fcxp_req_free_q));
1075 WARN_ON(!list_empty(&mod->fcxp_rsp_free_q));
1089 list_add_tail(&wqe->qe, &mod->req_wait_q);
1091 list_add_tail(&wqe->qe, &mod->rsp_wait_q);
1097 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1099 WARN_ON(!bfa_q_is_on_q(&mod->req_wait_q, wqe) ||
1100 !bfa_q_is_on_q(&mod->rsp_wait_q, wqe));
1138 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1140 return mod->rsp_pld_sz;
1146 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
1150 for (i = 0; i < (mod->num_fcxps - num_fcxp_fw); i++) {
1151 if (i < ((mod->num_fcxps - num_fcxp_fw) / 2)) {
1152 bfa_q_deq_tail(&mod->fcxp_req_free_q, &qe);
1153 list_add_tail(qe, &mod->fcxp_req_unused_q);
1155 bfa_q_deq_tail(&mod->fcxp_rsp_free_q, &qe);
1156 list_add_tail(qe, &mod->fcxp_rsp_unused_q);
1483 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1487 mod->num_lps = BFA_LPS_MAX_LPORTS;
1489 mod->num_lps = BFA_LPS_MIN_LPORTS;
1491 mod->num_lps = BFA_LPS_MAX_LPORTS;
1492 mod->lps_arr = lps = (struct bfa_lps_s *) bfa_mem_kva_curp(mod);
1494 bfa_mem_kva_curp(mod) += mod->num_lps * sizeof(struct bfa_lps_s);
1496 INIT_LIST_HEAD(&mod->lps_free_q);
1497 INIT_LIST_HEAD(&mod->lps_active_q);
1498 INIT_LIST_HEAD(&mod->lps_login_q);
1500 for (i = 0; i < mod->num_lps; i++, lps++) {
1505 list_add_tail(&lps->qe, &mod->lps_free_q);
1515 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1519 list_for_each_safe(qe, qen, &mod->lps_active_q) {
1523 list_for_each_safe(qe, qen, &mod->lps_login_q) {
1527 list_splice_tail_init(&mod->lps_login_q, &mod->lps_active_q);
1536 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1539 WARN_ON(rsp->bfa_tag >= mod->num_lps);
1540 lps = BFA_LPS_FROM_TAG(mod, rsp->bfa_tag);
1582 list_add_tail(&lps->qe, &mod->lps_active_q);
1590 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1604 list_add_tail(&lps->qe, &mod->lps_active_q);
1617 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1620 WARN_ON(rsp->bfa_tag >= mod->num_lps);
1621 lps = BFA_LPS_FROM_TAG(mod, rsp->bfa_tag);
1632 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1635 lps = BFA_LPS_FROM_TAG(mod, cvl->bfa_tag);
1657 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(lps->bfa);
1661 list_add_tail(&lps->qe, &mod->lps_free_q);
1670 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(lps->bfa);
1689 list_add_tail(&lps->qe, &mod->lps_login_q);
1852 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1855 bfa_q_deq(&mod->lps_free_q, &lps);
1860 list_add_tail(&lps->qe, &mod->lps_active_q);
1923 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1925 return BFA_LPS_FROM_TAG(mod, lp_tag)->fw_tag;
1934 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1938 for (i = 0, lps = mod->lps_arr; i < mod->num_lps; i++, lps++) {
1954 struct bfa_lps_mod_s *mod = BFA_LPS_MOD(bfa);
1956 return BFA_LPS_FROM_TAG(mod, 0)->lp_pid;
4816 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
4820 INIT_LIST_HEAD(&mod->rp_free_q);
4821 INIT_LIST_HEAD(&mod->rp_active_q);
4822 INIT_LIST_HEAD(&mod->rp_unused_q);
4824 rp = (struct bfa_rport_s *) bfa_mem_kva_curp(mod);
4825 mod->rps_list = rp;
4826 mod->num_rports = cfg->fwcfg.num_rports;
4828 WARN_ON(!mod->num_rports ||
4829 (mod->num_rports & (mod->num_rports - 1)));
4831 for (i = 0; i < mod->num_rports; i++, rp++) {
4841 list_add_tail(&rp->qe, &mod->rp_free_q);
4849 bfa_mem_kva_curp(mod) = (u8 *) rp;
4855 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
4860 list_splice_tail_init(&mod->rp_unused_q, &mod->rp_free_q);
4862 list_for_each_safe(qe, qen, &mod->rp_active_q) {
4869 bfa_rport_alloc(struct bfa_rport_mod_s *mod)
4873 bfa_q_deq(&mod->rp_free_q, &rport);
4875 list_add_tail(&rport->qe, &mod->rp_active_q);
4883 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(rport->bfa);
4885 WARN_ON(!bfa_q_is_on_q(&mod->rp_active_q, rport));
4887 list_add_tail(&rport->qe, &mod->rp_free_q);
5040 struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(bfa);
5044 for (i = 0; i < (mod->num_rports - num_rport_fw); i++) {
5045 bfa_q_deq_tail(&mod->rp_free_q, &qe);
5046 list_add_tail(qe, &mod->rp_unused_q);
5182 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5195 INIT_LIST_HEAD(&mod->sgpg_q);
5196 INIT_LIST_HEAD(&mod->sgpg_wait_q);
5200 mod->free_sgpgs = mod->num_sgpgs = cfg->drvcfg.num_sgpgs;
5206 hsgpg = (struct bfa_sgpg_s *) bfa_mem_kva_curp(mod);
5208 bfa_mem_dma_seg_iter(mod, seg_ptr, nsegs, idx) {
5230 list_add_tail(&hsgpg->qe, &mod->sgpg_q);
5238 bfa_mem_kva_curp(mod) = (u8 *) hsgpg;
5244 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5248 if (mod->free_sgpgs < nsgpgs)
5252 bfa_q_deq(&mod->sgpg_q, &hsgpg);
5257 mod->free_sgpgs -= nsgpgs;
5264 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5267 mod->free_sgpgs += nsgpg;
5268 WARN_ON(mod->free_sgpgs > mod->num_sgpgs);
5270 list_splice_tail_init(sgpg_q, &mod->sgpg_q);
5272 if (list_empty(&mod->sgpg_wait_q))
5279 wqe = bfa_q_first(&mod->sgpg_wait_q);
5280 if (mod->free_sgpgs < wqe->nsgpg)
5281 nsgpg = mod->free_sgpgs;
5290 } while (mod->free_sgpgs && !list_empty(&mod->sgpg_wait_q));
5296 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5299 WARN_ON(nsgpg <= mod->free_sgpgs);
5306 if (mod->free_sgpgs) {
5310 WARN_ON(!list_empty(&mod->sgpg_wait_q));
5311 list_splice_tail_init(&mod->sgpg_q, &wqe->sgpg_q);
5312 wqe->nsgpg -= mod->free_sgpgs;
5313 mod->free_sgpgs = 0;
5316 list_add_tail(&wqe->qe, &mod->sgpg_wait_q);
5322 struct bfa_sgpg_mod_s *mod = BFA_SGPG_MOD(bfa);
5324 WARN_ON(!bfa_q_is_on_q(&mod->sgpg_wait_q, wqe));
5628 struct bfa_uf_mod_s *mod = BFA_UF_MOD(bfa);
5632 for (i = 0; i < (mod->num_ufs - num_uf_fw); i++) {
5633 bfa_q_deq_tail(&mod->uf_free_q, &qe);
5634 list_add_tail(qe, &mod->uf_unused_q);