Lines Matching defs:fcpim

25 	list_add_tail(&(__itnim)->qe, &(__itnim)->fcpim->itnim_q)
27 WARN_ON(!bfa_q_is_on_q(&(__itnim)->fcpim->itnim_q, __itnim)); \
87 list_add_tail(&(__ioim)->qe, &(__ioim)->fcpim->ioim_comp_q); \
311 struct bfa_fcpim_s *fcpim = &fcp->fcpim;
319 fcpim->fcp = fcp;
320 fcpim->bfa = bfa;
321 fcpim->num_itnims = cfg->fwcfg.num_rports;
322 fcpim->num_tskim_reqs = cfg->fwcfg.num_tskim_reqs;
323 fcpim->path_tov = cfg->drvcfg.path_tov;
324 fcpim->delay_comp = cfg->drvcfg.delay_comp;
325 fcpim->profile_comp = NULL;
326 fcpim->profile_start = NULL;
328 bfa_itnim_attach(fcpim);
329 bfa_tskim_attach(fcpim);
330 bfa_ioim_attach(fcpim);
336 struct bfa_fcpim_s *fcpim = &fcp->fcpim;
341 list_splice_tail_init(&fcpim->tskim_unused_q, &fcpim->tskim_free_q);
343 list_for_each_safe(qe, qen, &fcpim->itnim_q) {
352 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
354 fcpim->path_tov = path_tov * 1000;
355 if (fcpim->path_tov > BFA_FCPIM_PATHTOV_MAX)
356 fcpim->path_tov = BFA_FCPIM_PATHTOV_MAX;
362 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
364 return fcpim->path_tov / 1000;
424 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
430 list_for_each_safe(qe, qen, &fcpim->itnim_q) {
466 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
470 list_for_each_safe(qe, qen, &fcpim->itnim_q) {
474 fcpim->io_profile = BFA_TRUE;
475 fcpim->io_profile_start_time = time;
476 fcpim->profile_comp = bfa_ioim_profile_comp;
477 fcpim->profile_start = bfa_ioim_profile_start;
484 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
485 fcpim->io_profile = BFA_FALSE;
486 fcpim->io_profile_start_time = 0;
487 fcpim->profile_comp = NULL;
488 fcpim->profile_start = NULL;
495 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
497 return fcpim->q_depth;
1106 bfa_itnim_attach(struct bfa_fcpim_s *fcpim)
1108 struct bfa_s *bfa = fcpim->bfa;
1109 struct bfa_fcp_mod_s *fcp = fcpim->fcp;
1113 INIT_LIST_HEAD(&fcpim->itnim_q);
1116 fcpim->itnim_arr = itnim;
1118 for (i = 0; i < fcpim->num_itnims; i++, itnim++) {
1121 itnim->fcpim = fcpim;
1262 list_add_tail(&ioim->qe, &ioim->fcpim->ioim_comp_q);
1288 if (itnim->fcpim->path_tov > 0) {
1293 bfa_itnim_iotov, itnim, itnim->fcpim->path_tov);
1331 struct bfa_fcpim_s *fcpim = BFA_FCPIM(itnim->bfa);
1332 fcpim->del_itn_stats.del_itn_iocomp_aborted +=
1334 fcpim->del_itn_stats.del_itn_iocomp_timedout +=
1336 fcpim->del_itn_stats.del_itn_iocom_sqer_needed +=
1338 fcpim->del_itn_stats.del_itn_iocom_res_free +=
1340 fcpim->del_itn_stats.del_itn_iocom_hostabrts +=
1342 fcpim->del_itn_stats.del_itn_total_ios += itnim->stats.total_ios;
1343 fcpim->del_itn_stats.del_io_iocdowns += itnim->stats.io_iocdowns;
1344 fcpim->del_itn_stats.del_tm_iocdowns += itnim->stats.tm_iocdowns;
1357 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
1367 itnim = BFA_ITNIM_FROM_TAG(fcpim,
1375 itnim = BFA_ITNIM_FROM_TAG(fcpim,
1383 itnim = BFA_ITNIM_FROM_TAG(fcpim,
1402 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
1407 itnim = BFA_ITNIM_FROM_TAG(fcpim, rport->rport_tag);
1447 return itnim->fcpim->path_tov && itnim->iotov_active &&
1462 struct bfa_fcpim_s *fcpim;
1467 fcpim = BFA_FCPIM(itnim->bfa);
1469 if (!fcpim->io_profile)
1514 &ioim->fcpim->ioim_comp_q);
2048 list_add_tail(&ioim->qe, &ioim->fcpim->ioim_resfree_q);
2152 snsinfo = BFA_SNSINFO_FROM_TAG(ioim->fcpim->fcp,
2672 * Move IO from itnim queue to fcpim global queue since itnim will be
2676 list_add_tail(&ioim->qe, &ioim->fcpim->ioim_comp_q);
2679 if (ioim->fcpim->delay_comp && ioim->itnim->iotov_active) {
2723 * Move IO to fcpim global queue since itnim will be
2727 list_add_tail(&ioim->qe, &ioim->fcpim->ioim_comp_q);
2735 bfa_ioim_attach(struct bfa_fcpim_s *fcpim)
2738 struct bfa_fcp_mod_s *fcp = fcpim->fcp;
2746 fcpim->ioim_arr = ioim;
2747 bfa_mem_kva_curp(fcp) = (u8 *) (ioim + fcpim->fcp->num_ioim_reqs);
2750 fcpim->ioim_sp_arr = iosp;
2751 bfa_mem_kva_curp(fcp) = (u8 *) (iosp + fcpim->fcp->num_ioim_reqs);
2756 INIT_LIST_HEAD(&fcpim->ioim_resfree_q);
2757 INIT_LIST_HEAD(&fcpim->ioim_comp_q);
2759 for (i = 0; i < fcpim->fcp->num_ioim_reqs;
2766 ioim->bfa = fcpim->bfa;
2767 ioim->fcpim = fcpim;
2781 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
2789 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag);
2866 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
2873 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag);
2876 bfa_ioim_cb_profile_comp(fcpim, ioim);
2933 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
2940 bfa_q_deq(&fcpim->fcp->iotag_ioim_free_q, &iotag);
2946 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag->tag);
2954 fcpim->ios_active++;
2964 struct bfa_fcpim_s *fcpim = ioim->fcpim;
2971 fcpim->ios_active--;
2976 (fcpim->fcp->num_ioim_reqs + fcpim->fcp->num_fwtio_reqs)));
2977 iotag = BFA_IOTAG_FROM_TAG(fcpim->fcp, ioim->iotag);
2979 if (ioim->iotag < fcpim->fcp->num_ioim_reqs)
2980 list_add_tail(&iotag->qe, &fcpim->fcp->iotag_ioim_free_q);
2982 list_add_tail(&iotag->qe, &fcpim->fcp->iotag_tio_free_q);
2990 bfa_ioim_cb_profile_start(ioim->fcpim, ioim);
3335 list_add_tail(&ioim->qe, &ioim->fcpim->ioim_comp_q);
3501 bfa_tskim_attach(struct bfa_fcpim_s *fcpim)
3504 struct bfa_fcp_mod_s *fcp = fcpim->fcp;
3507 INIT_LIST_HEAD(&fcpim->tskim_free_q);
3508 INIT_LIST_HEAD(&fcpim->tskim_unused_q);
3511 fcpim->tskim_arr = tskim;
3513 for (i = 0; i < fcpim->num_tskim_reqs; i++, tskim++) {
3519 tskim->bfa = fcpim->bfa;
3520 tskim->fcpim = fcpim;
3526 list_add_tail(&tskim->qe, &fcpim->tskim_free_q);
3535 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
3540 tskim = BFA_TSKIM_FROM_TAG(fcpim, tsk_tag);
3564 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
3567 bfa_q_deq(&fcpim->tskim_free_q, &tskim);
3580 list_add_tail(&tskim->qe, &tskim->fcpim->tskim_free_q);
3613 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
3617 for (i = 0; i < (fcpim->num_tskim_reqs - num_tskim_fw); i++) {
3618 bfa_q_deq_tail(&fcpim->tskim_free_q, &qe);
3619 list_add_tail(qe, &fcpim->tskim_unused_q);
3880 struct bfa_fcpim_s *fcpim = BFA_FCPIM(bfa);
3889 throttle.cur_value = (u16)(fcpim->fcp->num_ioim_reqs);
3893 throttle.max_value = (u16)(fcpim->fcp->max_ioim_reqs);