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. */
101 /* Number of MSI-X vectors the driver uses */
133 * Provide for FC4 TYPE x28 - NVME. The
348 (vport->vmid_priority_tagging ? 1 : 0)
397 LPFC_LINK_UP = 5, /* Link is up - issue READ_LA */
398 LPFC_CLEAR_LA = 6, /* authentication cmplt - issue
401 LPFC_HBA_ERROR = -1
408 HBA_SP_QUEUE_EVT = 3, /* Slow-path qevt posted to worker thread*/
561 #define LPFC_CGN_INFO_SZ (sizeof(struct lpfc_cgn_info) - \
578 /* Several of these flags are HBA centric and should be moved to
579 * phba->link_flag (e.g. FC_PTP, FC_PUBLIC_LOOP)
913 /* Assign IRQs only on non-hyperthreaded CPUs. This is the
965 /* Slow-path IOCB process function jump table entries */
1052 uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/
1104 u8 nsler; /* Firmware supports FC-NVMe-2 SLER */
1245 PCI BAR0 with dual-ULP support */
1247 PCI BAR2 with dual-ULP support */
1249 PCI BAR4 with dual-ULP support */
1327 #define LPFC_MAX_VPI 0xFF /* Max number VPI supported 0 - 0xff */
1390 #define LPFC_INJERR_LBA_OFF (sector_t)(-1)
1395 /* iDiag debugfs sub-directory */
1632 if (phba->cfg_topology == FLAGS_LOCAL_LB) in lpfc_set_loopback_flag()
1633 phba->link_flag |= LS_LOOPBACK_MODE; in lpfc_set_loopback_flag()
1635 phba->link_flag &= ~LS_LOOPBACK_MODE; in lpfc_set_loopback_flag()
1641 return phba->link_state == LPFC_LINK_UP || in lpfc_is_link_up()
1642 phba->link_state == LPFC_CLEAR_LA || in lpfc_is_link_up()
1643 phba->link_state == LPFC_HBA_READY; in lpfc_is_link_up()
1650 set_bit(LPFC_DATA_READY, &phba->data_flags); in lpfc_worker_wake_up()
1653 wake_up(&phba->work_waitq); in lpfc_worker_wake_up()
1663 return -EIO; in lpfc_readl()
1675 phba->sli.slistat.err_attn_event++; in lpfc_sli_read_hs()
1678 if (lpfc_readl(phba->HSregaddr, &phba->work_hs) || in lpfc_sli_read_hs()
1679 lpfc_readl(phba->MBslimaddr + 0xa8, &phba->work_status[0]) || in lpfc_sli_read_hs()
1680 lpfc_readl(phba->MBslimaddr + 0xac, &phba->work_status[1])) { in lpfc_sli_read_hs()
1681 return -EIO; in lpfc_sli_read_hs()
1685 writel(HA_ERATT, phba->HAregaddr); in lpfc_sli_read_hs()
1686 readl(phba->HAregaddr); /* flush */ in lpfc_sli_read_hs()
1687 phba->pport->stopped = 1; in lpfc_sli_read_hs()
1696 if (phba->sli_rev != LPFC_SLI_REV4 && in lpfc_phba_elsring()
1697 phba->sli_rev != LPFC_SLI_REV3 && in lpfc_phba_elsring()
1698 phba->sli_rev != LPFC_SLI_REV2) in lpfc_phba_elsring()
1701 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_phba_elsring()
1702 if (phba->sli4_hba.els_wq) in lpfc_phba_elsring()
1703 return phba->sli4_hba.els_wq->pring; in lpfc_phba_elsring()
1707 return &phba->sli.sli3_ring[LPFC_ELS_RING]; in lpfc_phba_elsring()
1711 * lpfc_next_online_cpu - Finds next online CPU on cpumask
1713 * @start: starting cpu index
1715 * Note: If no valid cpu found, then nr_cpu_ids is returned.
1731 * lpfc_next_present_cpu - Finds next present CPU after n
1732 * @n: the cpu prior to search
1734 * Note: If no next present cpu, then fallback to first present cpu.
1739 unsigned int cpu; in lpfc_next_present_cpu() local
1741 cpu = cpumask_next(n, cpu_present_mask); in lpfc_next_present_cpu()
1743 if (cpu >= nr_cpu_ids) in lpfc_next_present_cpu()
1744 cpu = cpumask_first(cpu_present_mask); in lpfc_next_present_cpu()
1746 return cpu; in lpfc_next_present_cpu()
1750 * lpfc_sli4_mod_hba_eq_delay - update EQ delay
1763 bf_set(lpfc_sliport_eqdelay_id, ®_data, eq->queue_id); in lpfc_sli4_mod_hba_eq_delay()
1765 writel(reg_data.word0, phba->sli4_hba.u.if_type2.EQDregaddr); in lpfc_sli4_mod_hba_eq_delay()
1766 eq->q_mode = delay; in lpfc_sli4_mod_hba_eq_delay()
1799 * lpfc_is_vmid_enabled - returns if VMID is enabled for either switch types
1804 * ---------------------------------------------------
1806 * ---------------------------------------------------
1814 ---------------------------------------------------
1819 return phba->cfg_vmid_app_header || phba->cfg_vmid_priority_tagging; in lpfc_is_vmid_enabled()
1825 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_ulpstatus()
1826 return bf_get(lpfc_wcqe_c_status, &iocbq->wcqe_cmpl); in get_job_ulpstatus()
1828 return iocbq->iocb.ulpStatus; in get_job_ulpstatus()
1834 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_word4()
1835 return iocbq->wcqe_cmpl.parameter; in get_job_word4()
1837 return iocbq->iocb.un.ulpWord[4]; in get_job_word4()
1843 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_cmnd()
1844 return bf_get(wqe_cmnd, &iocbq->wqe.generic.wqe_com); in get_job_cmnd()
1846 return iocbq->iocb.ulpCommand; in get_job_cmnd()
1852 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_ulpcontext()
1853 return bf_get(wqe_ctxt_tag, &iocbq->wqe.generic.wqe_com); in get_job_ulpcontext()
1855 return iocbq->iocb.ulpContext; in get_job_ulpcontext()
1861 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_rcvoxid()
1862 return bf_get(wqe_rcvoxid, &iocbq->wqe.generic.wqe_com); in get_job_rcvoxid()
1864 return iocbq->iocb.unsli3.rcvsli3.ox_id; in get_job_rcvoxid()
1870 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_data_placed()
1871 return iocbq->wcqe_cmpl.total_data_placed; in get_job_data_placed()
1873 return iocbq->iocb.un.genreq64.bdl.bdeSize; in get_job_data_placed()
1879 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_abtsiotag()
1880 return iocbq->wqe.abort_cmd.wqe_com.abort_tag; in get_job_abtsiotag()
1882 return iocbq->iocb.un.acxri.abortIoTag; in get_job_abtsiotag()
1888 if (phba->sli_rev == LPFC_SLI_REV4) in get_job_els_rsp64_did()
1889 return bf_get(wqe_els_did, &iocbq->wqe.els_req.wqe_dest); in get_job_els_rsp64_did()
1891 return iocbq->iocb.un.elsreq64.remoteID; in get_job_els_rsp64_did()