Lines Matching refs:sli
885 return (IOCB_t *) (((char *) pring->sli.sli3.cmdringaddr) +
886 pring->sli.sli3.cmdidx * phba->iocb_cmd_size);
902 return (IOCB_t *) (((char *) pring->sli.sli3.rspringaddr) +
903 pring->sli.sli3.rspidx * phba->iocb_rsp_size);
1676 struct lpfc_sli *psli = &phba->sli;
2057 uint32_t max_cmd_idx = pring->sli.sli3.numCiocb;
2061 if ((pring->sli.sli3.next_cmdidx == pring->sli.sli3.cmdidx) &&
2062 (++pring->sli.sli3.next_cmdidx >= max_cmd_idx))
2063 pring->sli.sli3.next_cmdidx = 0;
2065 if (unlikely(pring->sli.sli3.local_getidx ==
2066 pring->sli.sli3.next_cmdidx)) {
2068 pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx);
2070 if (unlikely(pring->sli.sli3.local_getidx >= max_cmd_idx)) {
2075 pring->sli.sli3.local_getidx,
2091 if (pring->sli.sli3.local_getidx == pring->sli.sli3.next_cmdidx)
2116 struct lpfc_sli *psli = &phba->sli;
2227 pring->sli.sli3.cmdidx = pring->sli.sli3.next_cmdidx;
2228 writel(pring->sli.sli3.cmdidx, &phba->host_gp[pring->ringno].cmdPutInx);
2314 phba->sli.sli_flag & LPFC_PROCESS_LA)) {
3058 phba->sli.slistat.mbox_event++;
3062 list_splice_init(&phba->sli.mboxq_cmpl, &cmplq);
3115 phba->sli.slistat.mbox_stat_err++;
3664 if (iotag != 0 && iotag <= phba->sli.last_iotag) {
3665 cmd_iocb = phba->sli.iocbq_lookup[iotag];
3678 iotag, phba->sli.last_iotag);
3700 if (iotag != 0 && iotag <= phba->sli.last_iotag) {
3701 cmd_iocb = phba->sli.iocbq_lookup[iotag];
3714 iotag, phba->sli.last_iotag,
3905 pring->sli.sli3.numRiocb);
3942 sli_intr = phba->sli.slistat.sli_intr;
3944 if (phba->sli.slistat.sli_prev_intr > sli_intr)
3945 cnt = (((uint64_t)(-1) - phba->sli.slistat.sli_prev_intr) +
3948 cnt = (sli_intr - phba->sli.slistat.sli_prev_intr);
3952 phba->sli.slistat.sli_ips = cnt;
3954 phba->sli.slistat.sli_prev_intr = sli_intr;
4011 portRspMax = pring->sli.sli3.numRiocb;
4025 while (pring->sli.sli3.rspidx != portRspPut) {
4034 if (++pring->sli.sli3.rspidx >= portRspMax)
4035 pring->sli.sli3.rspidx = 0;
4136 writel(pring->sli.sli3.rspidx,
4139 if (pring->sli.sli3.rspidx == portRspPut)
4154 pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx);
4394 portRspMax = pring->sli.sli3.numRiocb;
4416 while (pring->sli.sli3.rspidx != portRspPut) {
4444 if (++pring->sli.sli3.rspidx >= portRspMax)
4445 pring->sli.sli3.rspidx = 0;
4455 writel(pring->sli.sli3.rspidx,
4468 if (pring->sli.sli3.rspidx == portRspPut) {
4471 } /* while (pring->sli.sli3.rspidx != portRspPut) */
4486 pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx);
4643 struct lpfc_sli *psli = &phba->sli;
4674 struct lpfc_sli *psli = &phba->sli;
4924 if (phba->sli.sli_flag & LPFC_SLI_ACTIVE ||
4985 psli = &phba->sli;
5062 * lpfc_sli_brdreset - Reset a sli-2 or sli-3 HBA
5080 psli = &phba->sli;
5121 pring->sli.sli3.rspidx = 0;
5122 pring->sli.sli3.next_cmdidx = 0;
5123 pring->sli.sli3.local_getidx = 0;
5124 pring->sli.sli3.cmdidx = 0;
5133 * lpfc_sli4_brdreset - Reset a sli-4 HBA
5145 struct lpfc_sli *psli = &phba->sli;
5191 * lpfc_sli_brdrestart_s3 - Restart a sli-3 hba
5212 psli = &phba->sli;
5258 * lpfc_sli_brdrestart_s4 - Restart the sli-4 hba
5269 struct lpfc_sli *psli = &phba->sli;
5561 * @sli_mode: sli mode - 2/3
5563 * This function is called by the sli initialization code path
5566 * the SLI interface in the sli mode specified by sli_mode
5586 phba->sli.sli_flag |= LPFC_SLI_MBOX_ACTIVE;
5595 phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
5624 phba->sli.sli_flag &= ~LPFC_SLI_ACTIVE;
5630 phba->sli.sli_flag &= ~LPFC_SLI_ASYNC_MBX_BLK;
5768 phba->sli.sli_flag |= LPFC_PROCESS_LA;
6132 * lpfc_sli4_arm_cqeq_intr - Arm sli-4 device completion and event queues
8472 phba->sli.sli_flag |= LPFC_SLI_ACTIVE;
8473 flg = phba->sli.sli_flag;
8481 flg = phba->sli.sli_flag;
8892 if (!phba->sli.iocbq_lookup) {
8995 phba->sli.sli_flag &= ~LPFC_SLI_ASYNC_MBX_BLK;
9114 struct lpfc_hba *phba = from_timer(phba, t, sli.mbox_tmo);
9249 LPFC_MBOXQ_t *pmbox = phba->sli.mbox_active;
9252 struct lpfc_sli *psli = &phba->sli;
9282 phba->sli.sli_flag,
9283 phba->sli.mbox_active);
9327 * The sli layer owns the mailbox object until the completion of mailbox
9337 struct lpfc_sli *psli = &phba->sli;
9349 phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
9388 psli = &phba->sli;
9740 struct lpfc_sli *psli = &phba->sli;
9753 if (phba->sli.mbox_active)
9755 phba->sli.mbox_active) *
9764 while (phba->sli.mbox_active) {
9770 /* Sanity check sli.mbox_active has not completed or
9775 if (phba->sli.mbox_active) {
9776 mboxq = phba->sli.mbox_active;
9822 struct lpfc_sli *psli = &phba->sli;
9918 struct lpfc_sli *psli = &phba->sli;
9942 phba->sli.mbox_active = mboxq;
10021 phba->sli.mbox_active = NULL;
10042 struct lpfc_sli *psli = &phba->sli;
10173 struct lpfc_sli *psli = &phba->sli;
10194 if (unlikely(phba->sli.mbox_active)) {
10212 phba->sli.mbox_active = mboxq;
10272 if (phba->sli.mbox_active) {
10277 phba->sli.mbox_active = NULL;
10426 struct lpfc_sli_ring *pring = &phba->sli.sli3_ring[ring_number];
10490 !(phba->sli.sli_flag & LPFC_PROCESS_LA))) {
10730 * This routine wraps the actual fcp i/o function for issusing WQE for sli-4
10731 * or IOCB for sli-3 function.
11170 * lpfc_sli_api_table_setup - Set up sli api function jump table
11336 psli = &phba->sli;
11342 pring->sli.sli3.numCiocb -= SLI2_IOCB_CMD_R1XTRA_ENTRIES;
11343 pring->sli.sli3.numRiocb -= SLI2_IOCB_RSP_R1XTRA_ENTRIES;
11344 pring->sli.sli3.numCiocb -= SLI2_IOCB_CMD_R3XTRA_ENTRIES;
11345 pring->sli.sli3.numRiocb -= SLI2_IOCB_RSP_R3XTRA_ENTRIES;
11350 pring->sli.sli3.numCiocb += SLI2_IOCB_CMD_R1XTRA_ENTRIES;
11351 pring->sli.sli3.numRiocb += SLI2_IOCB_RSP_R1XTRA_ENTRIES;
11352 pring->sli.sli3.numCiocb += SLI2_IOCB_CMD_R3XTRA_ENTRIES;
11353 pring->sli.sli3.numRiocb += SLI2_IOCB_RSP_R3XTRA_ENTRIES;
11616 struct lpfc_sli *psli = &phba->sli;
11631 pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R0_ENTRIES;
11632 pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R0_ENTRIES;
11633 pring->sli.sli3.numCiocb +=
11635 pring->sli.sli3.numRiocb +=
11637 pring->sli.sli3.numCiocb +=
11639 pring->sli.sli3.numRiocb +=
11641 pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
11644 pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
11655 pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R1_ENTRIES;
11656 pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R1_ENTRIES;
11657 pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
11660 pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
11668 pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R2_ENTRIES;
11669 pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R2_ENTRIES;
11670 pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ?
11673 pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ?
11708 totiocbsize += (pring->sli.sli3.numCiocb *
11709 pring->sli.sli3.sizeCiocb) +
11710 (pring->sli.sli3.numRiocb * pring->sli.sli3.sizeRiocb);
11743 psli = &phba->sli;
11799 psli = &phba->sli;
11807 pring->sli.sli3.next_cmdidx = 0;
11808 pring->sli.sli3.local_getidx = 0;
11809 pring->sli.sli3.cmdidx = 0;
11840 struct lpfc_sli *psli = &phba->sli;
11851 list_splice_init(&phba->sli.mboxq, &completions);
11859 list_splice_init(&phba->sli.mboxq_cmpl, &completions);
11896 struct lpfc_sli *psli = &phba->sli;
11997 struct lpfc_sli *psli = &phba->sli;
12532 struct lpfc_sli *psli = &phba->sli;
12681 for (i = 1, sum = 0; i <= phba->sli.last_iotag; i++) {
12682 iocbq = phba->sli.iocbq_lookup[i];
12777 for (i = 1; i <= phba->sli.last_iotag; i++) {
12778 iocbq = phba->sli.iocbq_lookup[i];
12789 pring = &phba->sli.sli3_ring[LPFC_FCP_RING];
12853 for (i = 1; i <= phba->sli.last_iotag; i++) {
12854 iocbq = phba->sli.iocbq_lookup[i];
13124 pring = &phba->sli.sli3_ring[ring_number];
13306 struct lpfc_sli *psli = &phba->sli;
13327 if (phba->sli.mbox_active)
13329 phba->sli.mbox_active) *
13336 while (phba->sli.mbox_active) {
13356 * lpfc_sli_eratt_read - read sli-3 error attention events
13409 * lpfc_sli4_eratt_read - read sli-4 error attention events
13590 phba->sli.slistat.sli_intr++;
13701 if (phba->sli.sli_flag & LPFC_PROCESS_LA) {
13707 phba->sli.sli_flag &= ~LPFC_PROCESS_LA;
13735 (uint32_t)phba->sli.slistat.sli_intr);
13780 if ((work_ha_copy & HA_MBATT) && (phba->sli.mbox_active)) {
13781 pmb = phba->sli.mbox_active;
13804 phba->sli.mbox_active = NULL;
13807 del_timer(&phba->sli.mbox_tmo);
13875 phba->sli.mbox_active = NULL;
13876 phba->sli.sli_flag &=
13889 (phba->sli.mbox_active == NULL)) {
13986 pring = &phba->sli.sli3_ring[LPFC_FCP_RING];
13999 &phba->sli.sli3_ring[LPFC_EXTRA_RING],
14301 pmb = phba->sli.mbox_active;
14316 del_timer(&phba->sli.mbox_tmo);
14380 phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
14381 phba->sli.mbox_active = NULL;
14405 phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE;
14407 phba->sli.mbox_active = NULL;
14820 if (phba->sli.sli_flag & LPFC_SLI_ACTIVE)
15600 phba->sli.sli_flag & LPFC_SLI_USE_EQDR)
15975 if (phba->sli.sli_flag & LPFC_SLI_USE_EQDR) {
16219 phba->sli.sli_flag & LPFC_SLI_USE_EQDR)
19042 * lpfc_sli4_handle_unsol_abort - Handle sli-4 unsolicited abort event
21007 list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) {
21018 mb = phba->sli.mbox_active;
21038 list_for_each_entry(mb, &phba->sli.mboxq_cmpl, list) {