Lines Matching refs:facts
256 u16 cmd_credit = ioc->facts.RequestCredit + 1;
316 u16 cmd_credit = ioc->facts.RequestCredit + 1;
321 chain_virt = base_chain + (smid * ioc->facts.MaxChainDepth *
342 u16 cmd_credit = ioc->facts.RequestCredit + 1;
347 chain_phys = base_chain_phys + (smid * ioc->facts.MaxChainDepth *
366 u16 cmd_credit = ioc->facts.RequestCredit + 1;
370 ioc->facts.MaxChainDepth);
387 u16 cmd_credit = ioc->facts.RequestCredit + 1;
390 ioc->facts.MaxChainDepth);
509 for (i = 0; i < MPT_MIN_PHYS_SEGMENTS + ioc->facts.MaxChainDepth; i++) {
1977 return (ioc->facts.IOCCapabilities &
3203 ioc->facts.MaxMSIxVectors);
4780 (ioc->facts.FWVersion.Word & 0xFF000000) >> 24,
4781 (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16,
4782 (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8,
4783 ioc->facts.FWVersion.Word & 0x000000FF,
4788 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES) {
4795 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_SCSI_INITIATOR) {
4800 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_SCSI_TARGET) {
4809 if (ioc->facts.IOCCapabilities &
4816 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_TLR) {
4821 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_MULTICAST) {
4826 if (ioc->facts.IOCCapabilities &
4832 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_EEDP) {
4837 if (ioc->facts.IOCCapabilities &
4843 if (ioc->facts.IOCCapabilities &
4849 if (ioc->facts.IOCCapabilities &
4855 if (ioc->facts.IOCCapabilities &
5694 * facts capabilities indicate that its supported.
5697 if ((ioc->facts.IOCCapabilities &
6269 struct mpt3sas_facts *facts;
6285 facts = &ioc->facts;
6316 ioc->internal_depth = min_t(int, (facts->HighPriorityCredit + (5)),
6317 (facts->RequestCredit / 4));
6319 if (facts->RequestCredit <= (INTERNAL_CMDS_COUNT +
6322 facts->RequestCredit);
6332 ioc->internal_depth, facts->RequestCredit);
6336 max_request_credit = min_t(u16, facts->RequestCredit,
6339 max_request_credit = min_t(u16, facts->RequestCredit,
6342 /* Firmware maintains additional facts->HighPriorityCredit number of
6349 ioc->request_sz = facts->IOCRequestFrameSize * 4;
6352 ioc->reply_sz = facts->ReplyFrameSize * 4;
6356 if (facts->IOCMaxChainSegmentSize)
6358 facts->IOCMaxChainSegmentSize *
6387 if (chains_needed_per_io > facts->MaxChainDepth) {
6388 chains_needed_per_io = facts->MaxChainDepth;
6412 facts->MaxReplyDescriptorPostQueueDepth) {
6414 facts->MaxReplyDescriptorPostQueueDepth -
6415 (facts->MaxReplyDescriptorPostQueueDepth % 16);
6585 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES) {
6671 ioc->shost->can_queue, facts->RequestCredit);
6928 if (!(ioc->facts.IOCCapabilities &
7294 * _base_get_port_facts - obtain port facts reply and save in ioc
7398 * _base_get_ioc_facts - obtain ioc facts reply and save in ioc
7408 struct mpt3sas_facts *facts;
7432 facts = &ioc->facts;
7433 memset(facts, 0, sizeof(struct mpt3sas_facts));
7434 facts->MsgVersion = le16_to_cpu(mpi_reply.MsgVersion);
7435 facts->HeaderVersion = le16_to_cpu(mpi_reply.HeaderVersion);
7436 facts->VP_ID = mpi_reply.VP_ID;
7437 facts->VF_ID = mpi_reply.VF_ID;
7438 facts->IOCExceptions = le16_to_cpu(mpi_reply.IOCExceptions);
7439 facts->MaxChainDepth = mpi_reply.MaxChainDepth;
7440 facts->WhoInit = mpi_reply.WhoInit;
7441 facts->NumberOfPorts = mpi_reply.NumberOfPorts;
7442 facts->MaxMSIxVectors = mpi_reply.MaxMSIxVectors;
7443 if (ioc->msix_enable && (facts->MaxMSIxVectors <=
7446 facts->RequestCredit = le16_to_cpu(mpi_reply.RequestCredit);
7447 facts->MaxReplyDescriptorPostQueueDepth =
7449 facts->ProductID = le16_to_cpu(mpi_reply.ProductID);
7450 facts->IOCCapabilities = le32_to_cpu(mpi_reply.IOCCapabilities);
7451 if ((facts->IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID))
7453 if ((facts->IOCCapabilities &
7456 if ((facts->IOCCapabilities & MPI26_IOCFACTS_CAPABILITY_ATOMIC_REQ)
7459 facts->FWVersion.Word = le32_to_cpu(mpi_reply.FWVersion.Word);
7460 facts->IOCRequestFrameSize =
7463 facts->IOCMaxChainSegmentSize =
7466 facts->MaxInitiators = le16_to_cpu(mpi_reply.MaxInitiators);
7467 facts->MaxTargets = le16_to_cpu(mpi_reply.MaxTargets);
7469 facts->MaxSasExpanders = le16_to_cpu(mpi_reply.MaxSasExpanders);
7470 facts->MaxEnclosures = le16_to_cpu(mpi_reply.MaxEnclosures);
7471 facts->ProtocolFlags = le16_to_cpu(mpi_reply.ProtocolFlags);
7472 facts->HighPriorityCredit =
7474 facts->ReplyFrameSize = mpi_reply.ReplyFrameSize;
7475 facts->MaxDevHandle = le16_to_cpu(mpi_reply.MaxDevHandle);
7476 facts->CurrentHostPageSize = mpi_reply.CurrentHostPageSize;
7481 ioc->page_size = 1 << facts->CurrentHostPageSize;
7488 facts->CurrentHostPageSize));
7492 facts->RequestCredit, facts->MaxChainDepth));
7495 facts->IOCRequestFrameSize * 4,
7496 facts->ReplyFrameSize * 4));
8457 ioc->pfacts = kcalloc(ioc->facts.NumberOfPorts,
8464 for (i = 0 ; i < ioc->facts.NumberOfPorts; i++) {
8486 ioc->pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
8487 if (ioc->facts.MaxDevHandle % 8)
8503 ioc->pend_os_device_add_sz = (ioc->facts.MaxDevHandle / 8);
8504 if (ioc->facts.MaxDevHandle % 8)
8603 memcpy(&ioc->prev_fw_facts, &ioc->facts,
8792 if (ioc->facts.MaxDevHandle > old_facts->MaxDevHandle) {
8793 pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
8794 if (ioc->facts.MaxDevHandle % 8)
8852 memcpy(&ioc->prev_fw_facts, &ioc->facts, sizeof(struct mpt3sas_facts));