Lines Matching refs:facts
249 u16 cmd_credit = ioc->facts.RequestCredit + 1;
309 u16 cmd_credit = ioc->facts.RequestCredit + 1;
314 chain_virt = base_chain + (smid * ioc->facts.MaxChainDepth *
335 u16 cmd_credit = ioc->facts.RequestCredit + 1;
340 chain_phys = base_chain_phys + (smid * ioc->facts.MaxChainDepth *
359 u16 cmd_credit = ioc->facts.RequestCredit + 1;
363 ioc->facts.MaxChainDepth);
380 u16 cmd_credit = ioc->facts.RequestCredit + 1;
383 ioc->facts.MaxChainDepth);
502 for (i = 0; i < MPT_MIN_PHYS_SEGMENTS + ioc->facts.MaxChainDepth; i++) {
1805 return (ioc->facts.IOCCapabilities &
3019 ioc->facts.MaxMSIxVectors);
4498 (ioc->facts.FWVersion.Word & 0xFF000000) >> 24,
4499 (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16,
4500 (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8,
4501 ioc->facts.FWVersion.Word & 0x000000FF,
4510 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES) {
4517 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_SCSI_INITIATOR) {
4522 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_SCSI_TARGET) {
4531 if (ioc->facts.IOCCapabilities &
4538 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_TLR) {
4543 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_MULTICAST) {
4548 if (ioc->facts.IOCCapabilities &
4554 if (ioc->facts.IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_EEDP) {
4559 if (ioc->facts.IOCCapabilities &
4565 if (ioc->facts.IOCCapabilities &
4571 if (ioc->facts.IOCCapabilities &
4577 if (ioc->facts.IOCCapabilities &
4798 * facts capabilities indicate that its supported.
4801 if ((ioc->facts.IOCCapabilities &
5159 struct mpt3sas_facts *facts;
5176 facts = &ioc->facts;
5207 ioc->internal_depth = min_t(int, (facts->HighPriorityCredit + (5)),
5208 (facts->RequestCredit / 4));
5210 if (facts->RequestCredit <= (INTERNAL_CMDS_COUNT +
5213 facts->RequestCredit);
5223 ioc->internal_depth, facts->RequestCredit);
5227 max_request_credit = min_t(u16, facts->RequestCredit,
5230 max_request_credit = min_t(u16, facts->RequestCredit,
5233 /* Firmware maintains additional facts->HighPriorityCredit number of
5240 ioc->request_sz = facts->IOCRequestFrameSize * 4;
5243 ioc->reply_sz = facts->ReplyFrameSize * 4;
5247 if (facts->IOCMaxChainSegmentSize)
5249 facts->IOCMaxChainSegmentSize *
5278 if (chains_needed_per_io > facts->MaxChainDepth) {
5279 chains_needed_per_io = facts->MaxChainDepth;
5303 facts->MaxReplyDescriptorPostQueueDepth) {
5305 facts->MaxReplyDescriptorPostQueueDepth -
5306 (facts->MaxReplyDescriptorPostQueueDepth % 16);
5470 if (ioc->facts.ProtocolFlags & MPI2_IOCFACTS_PROTOCOL_NVME_DEVICES) {
5652 ioc->shost->can_queue, facts->RequestCredit);
5909 if (!(ioc->facts.IOCCapabilities &
6264 * _base_get_port_facts - obtain port facts reply and save in ioc
6366 * _base_get_ioc_facts - obtain ioc facts reply and save in ioc
6376 struct mpt3sas_facts *facts;
6400 facts = &ioc->facts;
6401 memset(facts, 0, sizeof(struct mpt3sas_facts));
6402 facts->MsgVersion = le16_to_cpu(mpi_reply.MsgVersion);
6403 facts->HeaderVersion = le16_to_cpu(mpi_reply.HeaderVersion);
6404 facts->VP_ID = mpi_reply.VP_ID;
6405 facts->VF_ID = mpi_reply.VF_ID;
6406 facts->IOCExceptions = le16_to_cpu(mpi_reply.IOCExceptions);
6407 facts->MaxChainDepth = mpi_reply.MaxChainDepth;
6408 facts->WhoInit = mpi_reply.WhoInit;
6409 facts->NumberOfPorts = mpi_reply.NumberOfPorts;
6410 facts->MaxMSIxVectors = mpi_reply.MaxMSIxVectors;
6411 if (ioc->msix_enable && (facts->MaxMSIxVectors <=
6414 facts->RequestCredit = le16_to_cpu(mpi_reply.RequestCredit);
6415 facts->MaxReplyDescriptorPostQueueDepth =
6417 facts->ProductID = le16_to_cpu(mpi_reply.ProductID);
6418 facts->IOCCapabilities = le32_to_cpu(mpi_reply.IOCCapabilities);
6419 if ((facts->IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID))
6421 if ((facts->IOCCapabilities &
6424 if ((facts->IOCCapabilities & MPI26_IOCFACTS_CAPABILITY_ATOMIC_REQ)
6427 facts->FWVersion.Word = le32_to_cpu(mpi_reply.FWVersion.Word);
6428 facts->IOCRequestFrameSize =
6431 facts->IOCMaxChainSegmentSize =
6434 facts->MaxInitiators = le16_to_cpu(mpi_reply.MaxInitiators);
6435 facts->MaxTargets = le16_to_cpu(mpi_reply.MaxTargets);
6437 facts->MaxSasExpanders = le16_to_cpu(mpi_reply.MaxSasExpanders);
6438 facts->MaxEnclosures = le16_to_cpu(mpi_reply.MaxEnclosures);
6439 facts->ProtocolFlags = le16_to_cpu(mpi_reply.ProtocolFlags);
6440 facts->HighPriorityCredit =
6442 facts->ReplyFrameSize = mpi_reply.ReplyFrameSize;
6443 facts->MaxDevHandle = le16_to_cpu(mpi_reply.MaxDevHandle);
6444 facts->CurrentHostPageSize = mpi_reply.CurrentHostPageSize;
6449 ioc->page_size = 1 << facts->CurrentHostPageSize;
6456 facts->CurrentHostPageSize));
6460 facts->RequestCredit, facts->MaxChainDepth));
6463 facts->IOCRequestFrameSize * 4,
6464 facts->ReplyFrameSize * 4));
7409 ioc->pfacts = kcalloc(ioc->facts.NumberOfPorts,
7416 for (i = 0 ; i < ioc->facts.NumberOfPorts; i++) {
7438 ioc->pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
7439 if (ioc->facts.MaxDevHandle % 8)
7455 ioc->pend_os_device_add_sz = (ioc->facts.MaxDevHandle / 8);
7456 if (ioc->facts.MaxDevHandle % 8)
7552 memcpy(&ioc->prev_fw_facts, &ioc->facts,
7743 if (ioc->facts.MaxDevHandle > old_facts->MaxDevHandle) {
7744 pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
7745 if (ioc->facts.MaxDevHandle % 8)
7803 memcpy(&ioc->prev_fw_facts, &ioc->facts, sizeof(struct mpt3sas_facts));