Lines Matching refs:raid
310 struct MR_LD_RAID *raid; in MR_ValidateMapInfo() local
361 raid = MR_LdRaidGet(ld, drv_map); in MR_ValidateMapInfo()
362 le32_to_cpus((u32 *)&raid->capability); in MR_ValidateMapInfo()
375 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in MR_GetSpanBlock() local
378 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) { in MR_GetSpanBlock()
393 blk = (blk + le64_to_cpu(quad->offsetInSpan)) << raid->stripeShift; in MR_GetSpanBlock()
425 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in mr_spanset_get_span_block() local
440 for (span = 0; span < raid->spanDepth; span++) in mr_spanset_get_span_block()
458 << raid->stripeShift; in mr_spanset_get_span_block()
488 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_row_from_strip() local
507 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_row_from_strip()
545 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_strip_from_row() local
560 for (span = 0; span < raid->spanDepth; span++) in get_strip_from_row()
606 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_arm_from_strip() local
623 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_arm_from_strip()
649 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_arm() local
653 switch (raid->level) { in get_arm()
693 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in mr_spanset_get_phy_params() local
712 if (raid->level == 6) { in mr_spanset_get_phy_params()
736 (raid->level == 1) && in mr_spanset_get_phy_params()
744 if ((raid->level >= 5) && in mr_spanset_get_phy_params()
747 (raid->regTypeReqOnRead != REGION_TYPE_UNUSED)))) in mr_spanset_get_phy_params()
749 else if (raid->level == 1) { in mr_spanset_get_phy_params()
796 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in MR_GetPhyParams() local
809 row = mega_div64_32(stripRow, raid->rowDataSize); in MR_GetPhyParams()
811 if (raid->level == 6) { in MR_GetPhyParams()
813 u32 logArm = mega_mod64(stripRow, raid->rowDataSize); in MR_GetPhyParams()
816 if (raid->rowSize == 0) in MR_GetPhyParams()
819 rowMod = mega_mod64(row, raid->rowSize); in MR_GetPhyParams()
820 armQ = raid->rowSize-1-rowMod; /* index of Q drive */ in MR_GetPhyParams()
822 if (arm >= raid->rowSize) /* handle wrap condition */ in MR_GetPhyParams()
823 arm -= raid->rowSize; in MR_GetPhyParams()
826 if (raid->modFactor == 0) in MR_GetPhyParams()
829 raid->modFactor), in MR_GetPhyParams()
833 if (raid->spanDepth == 1) { in MR_GetPhyParams()
835 *pdBlock = row << raid->stripeShift; in MR_GetPhyParams()
852 (raid->level == 1) && in MR_GetPhyParams()
860 if ((raid->level >= 5) && in MR_GetPhyParams()
863 (raid->regTypeReqOnRead != REGION_TYPE_UNUSED)))) in MR_GetPhyParams()
865 else if (raid->level == 1) { in MR_GetPhyParams()
910 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in mr_get_phy_params_r56_rmw() local
916 dataArms = raid->rowDataSize; in mr_get_phy_params_r56_rmw()
917 arms = raid->rowSize; in mr_get_phy_params_r56_rmw()
928 if (raid->spanDepth == 1) { in mr_get_phy_params_r56_rmw()
936 if (raid->level == 6) { in mr_get_phy_params_r56_rmw()
979 struct MR_LD_RAID *raid; in MR_BuildRaidContext() local
1003 raid = MR_LdRaidGet(ld, map); in MR_BuildRaidContext()
1005 io_info->ra_capable = raid->capability.ra_capable; in MR_BuildRaidContext()
1011 if (raid->rowDataSize == 0) { in MR_BuildRaidContext()
1026 stripSize = 1 << raid->stripeShift; in MR_BuildRaidContext()
1029 io_info->data_arms = raid->rowDataSize; in MR_BuildRaidContext()
1034 start_strip = ldStartBlock >> raid->stripeShift; in MR_BuildRaidContext()
1038 endStrip = endLba >> raid->stripeShift; in MR_BuildRaidContext()
1051 if (raid->spanDepth == 1) { in MR_BuildRaidContext()
1053 *pdBlock = start_row << raid->stripeShift; in MR_BuildRaidContext()
1069 start_row = mega_div64_32(start_strip, raid->rowDataSize); in MR_BuildRaidContext()
1070 endRow = mega_div64_32(endStrip, raid->rowDataSize); in MR_BuildRaidContext()
1079 regStart = start_row << raid->stripeShift; in MR_BuildRaidContext()
1083 io_info->do_fp_rlbypass = raid->capability.fpBypassRegionLock; in MR_BuildRaidContext()
1086 if (raid->capability.fpCapable) { in MR_BuildRaidContext()
1088 io_info->fpOkForIo = (raid->capability.fpReadCapable && in MR_BuildRaidContext()
1090 raid->capability. in MR_BuildRaidContext()
1093 io_info->fpOkForIo = (raid->capability.fpWriteCapable && in MR_BuildRaidContext()
1095 raid->capability. in MR_BuildRaidContext()
1112 if (start_strip == (start_row + 1) * raid->rowDataSize - 1) { in MR_BuildRaidContext()
1121 regSize += (numRows-2) << raid->stripeShift; in MR_BuildRaidContext()
1124 if (endStrip == endRow*raid->rowDataSize) in MR_BuildRaidContext()
1145 regSize += (numRows-2) << raid->stripeShift; in MR_BuildRaidContext()
1155 cpu_to_le16(raid->fpIoTimeoutForLd ? in MR_BuildRaidContext()
1156 raid->fpIoTimeoutForLd : in MR_BuildRaidContext()
1160 raid->regTypeReqOnRead : raid->regTypeReqOnWrite; in MR_BuildRaidContext()
1163 REGION_TYPE_SHARED_READ : raid->regTypeReqOnWrite; in MR_BuildRaidContext()
1164 pRAID_Context->virtual_disk_tgt_id = raid->targetId; in MR_BuildRaidContext()
1167 pRAID_Context->config_seq_num = raid->seqNum; in MR_BuildRaidContext()
1169 *raidLUN = raid->LUN; in MR_BuildRaidContext()
1172 if (fusion->r56_div_offload && (raid->level >= 5) && !isRead) { in MR_BuildRaidContext()
1228 struct MR_LD_RAID *raid; in mr_update_span_set() local
1239 raid = MR_LdRaidGet(ld, map); in mr_update_span_set()
1241 for (span = 0; span < raid->spanDepth; span++) { in mr_update_span_set()
1254 count < raid->spanDepth; count++) { in mr_update_span_set()
1275 ((span_row << raid->stripeShift) in mr_update_span_set()
1295 ((span_row << raid->stripeShift) in mr_update_span_set()
1317 if (span == raid->spanDepth) in mr_update_span_set()
1328 struct MR_LD_RAID *raid; in mr_update_load_balance_params() local
1340 raid = MR_LdRaidGet(ld, drv_map); in mr_update_load_balance_params()
1341 if ((raid->level != 1) || in mr_update_load_balance_params()
1342 (raid->ldState != MR_LD_STATE_OPTIMAL)) { in mr_update_load_balance_params()
1355 struct MR_LD_RAID *raid; in megasas_get_best_arm_pd() local
1370 raid = MR_LdRaidGet(ld, drv_map); in megasas_get_best_arm_pd()
1372 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize; in megasas_get_best_arm_pd()