Lines Matching +full:cpu +full:- +full:centric
4 * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term *
6 * Copyright (C) 2004-2016 Emulex. All rights reserved. *
9 * Portions Copyright (C) 2004-2005 Christoph Hellwig *
17 * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE *
65 #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */
100 /* Number of MSI-X vectors the driver uses */
132 * Provide for FC4 TYPE x28 - NVME. The
347 (vport->vmid_priority_tagging ? 1 : 0)
396 LPFC_LINK_UP = 5, /* Link is up - issue READ_LA */
397 LPFC_CLEAR_LA = 6, /* authentication cmplt - issue
400 LPFC_HBA_ERROR = -1
407 HBA_SP_QUEUE_EVT = 3, /* Slow-path qevt posted to worker thread*/
560 #define LPFC_CGN_INFO_SZ (sizeof(struct lpfc_cgn_info) - \
577 /* Several of these flags are HBA centric and should be moved to
578 * phba->link_flag (e.g. FC_PTP, FC_PUBLIC_LOOP)
912 /* Assign IRQs only on non-hyperthreaded CPUs. This is the
964 /* Slow-path IOCB process function jump table entries */
1051 uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/
1103 u8 nsler; /* Firmware supports FC-NVMe-2 SLER */
1244 PCI BAR0 with dual-ULP support */
1246 PCI BAR2 with dual-ULP support */
1248 PCI BAR4 with dual-ULP support */
1326 #define LPFC_MAX_VPI 0xFF /* Max number VPI supported 0 - 0xff */
1389 #define LPFC_INJERR_LBA_OFF (sector_t)(-1)
1394 /* iDiag debugfs sub-directory */
1631 if (phba->cfg_topology == FLAGS_LOCAL_LB) in lpfc_set_loopback_flag()
1632 phba->link_flag |= LS_LOOPBACK_MODE; in lpfc_set_loopback_flag()
1634 phba->link_flag &= ~LS_LOOPBACK_MODE; in lpfc_set_loopback_flag()
1640 return phba->link_state == LPFC_LINK_UP || in lpfc_is_link_up()
1641 phba->link_state == LPFC_CLEAR_LA || in lpfc_is_link_up()
1642 phba->link_state == LPFC_HBA_READY; in lpfc_is_link_up()
1649 set_bit(LPFC_DATA_READY, &phba->data_flags); in lpfc_worker_wake_up()
1652 wake_up(&phba->work_waitq); in lpfc_worker_wake_up()
1662 return -EIO; in lpfc_readl()
1674 phba->sli.slistat.err_attn_event++; in lpfc_sli_read_hs()
1677 if (lpfc_readl(phba->HSregaddr, &phba->work_hs) || in lpfc_sli_read_hs()
1678 lpfc_readl(phba->MBslimaddr + 0xa8, &phba->work_status[0]) || in lpfc_sli_read_hs()
1679 lpfc_readl(phba->MBslimaddr + 0xac, &phba->work_status[1])) { in lpfc_sli_read_hs()
1680 return -EIO; in lpfc_sli_read_hs()
1684 writel(HA_ERATT, phba->HAregaddr); in lpfc_sli_read_hs()
1685 readl(phba->HAregaddr); /* flush */ in lpfc_sli_read_hs()
1686 phba->pport->stopped = 1; in lpfc_sli_read_hs()
1695 if (phba->sli_rev != LPFC_SLI_REV4 && in lpfc_phba_elsring()
1696 phba->sli_rev != LPFC_SLI_REV3 && in lpfc_phba_elsring()
1697 phba->sli_rev != LPFC_SLI_REV2) in lpfc_phba_elsring()
1700 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_phba_elsring()
1701 if (phba->sli4_hba.els_wq) in lpfc_phba_elsring()
1702 return phba->sli4_hba.els_wq->pring; in lpfc_phba_elsring()
1706 return &phba->sli.sli3_ring[LPFC_ELS_RING]; in lpfc_phba_elsring()
1710 * lpfc_next_online_cpu - Finds next online CPU on cpumask
1712 * @start: starting cpu index
1714 * Note: If no valid cpu found, then nr_cpu_ids is returned.
1724 * lpfc_next_present_cpu - Finds next present CPU after n
1725 * @n: the cpu prior to search
1727 * Note: If no next present cpu, then fallback to first present cpu.
1736 * lpfc_sli4_mod_hba_eq_delay - update EQ delay
1749 bf_set(lpfc_sliport_eqdelay_id, ®_data, eq->queue_id); in lpfc_sli4_mod_hba_eq_delay()
1751 writel(reg_data.word0, phba->sli4_hba.u.if_type2.EQDregaddr); in lpfc_sli4_mod_hba_eq_delay()
1752 eq->q_mode = delay; in lpfc_sli4_mod_hba_eq_delay()
1785 * lpfc_is_vmid_enabled - returns if VMID is enabled for either switch types
1790 * ---------------------------------------------------
1792 * ---------------------------------------------------
1800 ---------------------------------------------------
1805 return phba->cfg_vmid_app_header || phba->cfg_vmid_priority_tagging; in lpfc_is_vmid_enabled()
1811 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_ulpstatus()
1812 return bf_get(lpfc_wcqe_c_status, &iocbq->wcqe_cmpl); in get_job_ulpstatus()
1814 return iocbq->iocb.ulpStatus; in get_job_ulpstatus()
1820 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_word4()
1821 return iocbq->wcqe_cmpl.parameter; in get_job_word4()
1823 return iocbq->iocb.un.ulpWord[4]; in get_job_word4()
1829 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_cmnd()
1830 return bf_get(wqe_cmnd, &iocbq->wqe.generic.wqe_com); in get_job_cmnd()
1832 return iocbq->iocb.ulpCommand; in get_job_cmnd()
1838 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_ulpcontext()
1839 return bf_get(wqe_ctxt_tag, &iocbq->wqe.generic.wqe_com); in get_job_ulpcontext()
1841 return iocbq->iocb.ulpContext; in get_job_ulpcontext()
1847 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_rcvoxid()
1848 return bf_get(wqe_rcvoxid, &iocbq->wqe.generic.wqe_com); in get_job_rcvoxid()
1850 return iocbq->iocb.unsli3.rcvsli3.ox_id; in get_job_rcvoxid()
1856 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_data_placed()
1857 return iocbq->wcqe_cmpl.total_data_placed; in get_job_data_placed()
1859 return iocbq->iocb.un.genreq64.bdl.bdeSize; in get_job_data_placed()
1865 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_abtsiotag()
1866 return iocbq->wqe.abort_cmd.wqe_com.abort_tag; in get_job_abtsiotag()
1868 return iocbq->iocb.un.acxri.abortIoTag; in get_job_abtsiotag()
1874 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_els_rsp64_did()
1875 return bf_get(wqe_els_did, &iocbq->wqe.els_req.wqe_dest); in get_job_els_rsp64_did()
1877 return iocbq->iocb.un.elsreq64.remoteID; in get_job_els_rsp64_did()