Lines Matching refs:facts

1321 		    le32_to_cpu(ioc->facts.HostPageBufferSGE.FlagsLength) & 0xFFFFFF;
1363 ioc->facts.HostPageBufferSGE = ioc_init->HostPageBufferSGE;
1879 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "facts @ %p, pfacts[0] @ %p\n",
1880 ioc->name, &ioc->facts, &ioc->pfacts[0]));
2369 /* Get IOC facts! Allow 5 retries */
2403 (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT)) {
2519 if ((ret == 0) && (!ioc->facts.EventState)) {
2526 if (ioc->alt_ioc && alt_ioc_ready && !ioc->alt_ioc->facts.EventState)
2565 if(ioc->facts.IOCExceptions &
2609 if (ioc->facts.MsgVersion >= MPI_VERSION_01_02)
3075 * @reason: If recovery, only update facts.
3083 IOCFactsReply_t *facts;
3099 facts = &ioc->facts;
3102 reply_sz = sizeof(*facts);
3103 memset(facts, 0, reply_sz);
3120 reply_sz, (u16*)facts, 5 /*seconds*/, sleepFlag);
3132 if (facts->MsgLength > offsetof(IOCFactsReply_t, RequestFrameSize)/sizeof(u32)) {
3138 ioc->FirstWhoInit = facts->WhoInit;
3141 facts->MsgVersion = le16_to_cpu(facts->MsgVersion);
3142 facts->MsgContext = le32_to_cpu(facts->MsgContext);
3143 facts->IOCExceptions = le16_to_cpu(facts->IOCExceptions);
3144 facts->IOCStatus = le16_to_cpu(facts->IOCStatus);
3145 facts->IOCLogInfo = le32_to_cpu(facts->IOCLogInfo);
3146 status = le16_to_cpu(facts->IOCStatus) & MPI_IOCSTATUS_MASK;
3149 facts->ReplyQueueDepth = le16_to_cpu(facts->ReplyQueueDepth);
3150 facts->RequestFrameSize = le16_to_cpu(facts->RequestFrameSize);
3157 if (facts->MsgVersion < MPI_VERSION_01_02) {
3161 u16 oldv = le16_to_cpu(facts->Reserved_0101_FWVersion);
3162 facts->FWVersion.Word =
3166 facts->FWVersion.Word = le32_to_cpu(facts->FWVersion.Word);
3168 facts->ProductID = le16_to_cpu(facts->ProductID);
3170 if ((ioc->facts.ProductID & MPI_FW_HEADER_PID_PROD_MASK)
3174 facts->CurrentHostMfaHighAddr =
3175 le32_to_cpu(facts->CurrentHostMfaHighAddr);
3176 facts->GlobalCredits = le16_to_cpu(facts->GlobalCredits);
3177 facts->CurrentSenseBufferHighAddr =
3178 le32_to_cpu(facts->CurrentSenseBufferHighAddr);
3179 facts->CurReplyFrameSize =
3180 le16_to_cpu(facts->CurReplyFrameSize);
3181 facts->IOCCapabilities = le32_to_cpu(facts->IOCCapabilities);
3188 if (facts->MsgLength >= (offsetof(IOCFactsReply_t,FWImageSize) + 7)/4 &&
3189 facts->MsgVersion > MPI_VERSION_01_00) {
3190 facts->FWImageSize = le32_to_cpu(facts->FWImageSize);
3193 facts->FWImageSize = ALIGN(facts->FWImageSize, 4);
3195 if (!facts->RequestFrameSize) {
3202 r = sz = facts->BlockSize;
3220 ioc->req_sz = min(MPT_DEFAULT_FRAME_SIZE, facts->RequestFrameSize * 4);
3221 ioc->req_depth = min_t(int, MPT_MAX_REQ_DEPTH, facts->GlobalCredits);
3223 ioc->reply_depth = min_t(int, MPT_DEFAULT_REPLY_DEPTH, facts->ReplyQueueDepth);
3230 /* Get port facts! */
3236 "Invalid IOC facts reply, msgLength=%d offsetof=%zd!\n",
3237 ioc->name, facts->MsgLength, (offsetof(IOCFactsReply_t,
3357 if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT)
3361 ddlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "upload_fw %d facts.Flags=%x\n",
3362 ioc->name, ioc->upload_fw, ioc->facts.Flags));
3367 dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT "facts.MsgVersion=%x\n",
3368 ioc->name, ioc->facts.MsgVersion));
3369 if (ioc->facts.MsgVersion >= MPI_VERSION_01_05) {
3374 if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_HOST_PAGE_BUFFER_PERSISTENT) {
3375 ioc_init.HostPageBufferSGE = ioc->facts.HostPageBufferSGE;
3393 ioc->facts.CurrentHostMfaHighAddr = ioc_init.HostMfaHighAddr;
3394 ioc->facts.CurrentSenseBufferHighAddr = ioc_init.SenseBufferHighAddr;
3395 ioc->facts.MaxDevices = ioc_init.MaxDevices;
3396 ioc->facts.MaxBuses = ioc_init.MaxBuses;
3555 sz = ioc->facts.FWImageSize;
3590 if ((sz = ioc->facts.FWImageSize) == 0)
3593 if (mpt_alloc_fw_memory(ioc, ioc->facts.FWImageSize) != 0)
3628 ioc->facts.FWImageSize, request_size));
3646 ioc->facts.FWImageSize ==
4248 ioc->facts.EventState = 0;
4251 ioc->alt_ioc->facts.EventState = 0;
4310 if (ioc->facts.Function)
4311 ioc->facts.EventState = 0;
4372 numSGE = (scale - 1) * (ioc->facts.MaxChainDepth-1) + scale +
4375 numSGE = 1 + (scale - 1) * (ioc->facts.MaxChainDepth-1) +
6708 if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT)
6710 // if (ioc->facts.IOCExceptions & MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL)
6714 ioc->facts.ProductID,
6716 seq_printf(m, " FWVersion = 0x%08x%s", ioc->facts.FWVersion.Word, expVer);
6717 if (ioc->facts.FWImageSize)
6718 seq_printf(m, " (fw_size=%d)", ioc->facts.FWImageSize);
6719 seq_printf(m, "\n MsgVersion = 0x%04x\n", ioc->facts.MsgVersion);
6721 seq_printf(m, " EventState = 0x%02x\n", ioc->facts.EventState);
6724 ioc->facts.CurrentHostMfaHighAddr);
6726 ioc->facts.CurrentSenseBufferHighAddr);
6728 seq_printf(m, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth);
6729 seq_printf(m, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize);
6741 4*ioc->facts.RequestFrameSize,
6742 ioc->facts.GlobalCredits);
6750 ioc->facts.CurReplyFrameSize,
6751 ioc->facts.ReplyQueueDepth);
6754 (ioc->facts.MaxDevices==0) ? 255 : ioc->facts.MaxDevices);
6755 seq_printf(m, " MaxBuses = %d\n", ioc->facts.MaxBuses);
6758 for (p=0; p < ioc->facts.NumberOfPorts; p++) {
6761 ioc->facts.NumberOfPorts);
6784 if ((ioc->facts.FWVersion.Word >> 24) == 0x0E) {
6786 (ioc->facts.FWVersion.Word >> 16) & 0x00FF, /* Month */
6787 (ioc->facts.FWVersion.Word >> 8) & 0x1F); /* Day */
6790 if ((ioc->facts.FWVersion.Word >> 8) & 0x80)
6822 ioc->facts.FWVersion.Word,
6824 ioc->facts.NumberOfPorts,
6856 ioc->facts.FWVersion.Word,
6858 ioc->facts.NumberOfPorts,
7042 /* Get IOC facts! Allow 5 retries */
7731 if (ioc->facts.Function) {
7732 ioc->facts.EventState = evState;