Lines Matching refs:raid

309 	struct MR_LD_RAID         *raid;  in MR_ValidateMapInfo()  local
364 raid = MR_LdRaidGet(ld, drv_map); in MR_ValidateMapInfo()
365 le32_to_cpus((u32 *)&raid->capability); in MR_ValidateMapInfo()
378 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in MR_GetSpanBlock() local
381 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) { in MR_GetSpanBlock()
395 blk = (blk + le64_to_cpu(quad->offsetInSpan)) << raid->stripeShift; in MR_GetSpanBlock()
427 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in mr_spanset_get_span_block() local
442 for (span = 0; span < raid->spanDepth; span++) in mr_spanset_get_span_block()
460 << raid->stripeShift; in mr_spanset_get_span_block()
490 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_row_from_strip() local
509 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_row_from_strip()
547 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_strip_from_row() local
562 for (span = 0; span < raid->spanDepth; span++) in get_strip_from_row()
608 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_arm_from_strip() local
625 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_arm_from_strip()
651 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in get_arm() local
655 switch (raid->level) { in get_arm()
695 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
807 row = mega_div64_32(stripRow, raid->rowDataSize); in MR_GetPhyParams()
809 if (raid->level == 6) { in MR_GetPhyParams()
811 u32 logArm = mega_mod64(stripRow, raid->rowDataSize); in MR_GetPhyParams()
814 if (raid->rowSize == 0) in MR_GetPhyParams()
817 rowMod = mega_mod64(row, raid->rowSize); in MR_GetPhyParams()
818 armQ = raid->rowSize-1-rowMod; /* index of Q drive */ in MR_GetPhyParams()
820 if (arm >= raid->rowSize) /* handle wrap condition */ in MR_GetPhyParams()
821 arm -= raid->rowSize; in MR_GetPhyParams()
824 if (raid->modFactor == 0) in MR_GetPhyParams()
827 raid->modFactor), in MR_GetPhyParams()
831 if (raid->spanDepth == 1) { in MR_GetPhyParams()
833 *pdBlock = row << raid->stripeShift; in MR_GetPhyParams()
850 (raid->level == 1) && in MR_GetPhyParams()
858 if ((raid->level >= 5) && in MR_GetPhyParams()
861 (raid->regTypeReqOnRead != REGION_TYPE_UNUSED)))) in MR_GetPhyParams()
863 else if (raid->level == 1) { in MR_GetPhyParams()
908 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map); in mr_get_phy_params_r56_rmw() local
914 dataArms = raid->rowDataSize; in mr_get_phy_params_r56_rmw()
915 arms = raid->rowSize; in mr_get_phy_params_r56_rmw()
926 if (raid->spanDepth == 1) { in mr_get_phy_params_r56_rmw()
934 if (raid->level == 6) { in mr_get_phy_params_r56_rmw()
977 struct MR_LD_RAID *raid; in MR_BuildRaidContext() local
1001 raid = MR_LdRaidGet(ld, map); in MR_BuildRaidContext()
1003 io_info->ra_capable = raid->capability.ra_capable; in MR_BuildRaidContext()
1009 if (raid->rowDataSize == 0) { in MR_BuildRaidContext()
1024 stripSize = 1 << raid->stripeShift; in MR_BuildRaidContext()
1027 io_info->data_arms = raid->rowDataSize; in MR_BuildRaidContext()
1032 start_strip = ldStartBlock >> raid->stripeShift; in MR_BuildRaidContext()
1036 endStrip = endLba >> raid->stripeShift; in MR_BuildRaidContext()
1049 if (raid->spanDepth == 1) { in MR_BuildRaidContext()
1051 *pdBlock = start_row << raid->stripeShift; in MR_BuildRaidContext()
1067 start_row = mega_div64_32(start_strip, raid->rowDataSize); in MR_BuildRaidContext()
1068 endRow = mega_div64_32(endStrip, raid->rowDataSize); in MR_BuildRaidContext()
1077 regStart = start_row << raid->stripeShift; in MR_BuildRaidContext()
1081 io_info->do_fp_rlbypass = raid->capability.fpBypassRegionLock; in MR_BuildRaidContext()
1084 if (raid->capability.fpCapable) { in MR_BuildRaidContext()
1086 io_info->fpOkForIo = (raid->capability.fpReadCapable && in MR_BuildRaidContext()
1088 raid->capability. in MR_BuildRaidContext()
1091 io_info->fpOkForIo = (raid->capability.fpWriteCapable && in MR_BuildRaidContext()
1093 raid->capability. in MR_BuildRaidContext()
1110 if (start_strip == (start_row + 1) * raid->rowDataSize - 1) { in MR_BuildRaidContext()
1119 regSize += (numRows-2) << raid->stripeShift; in MR_BuildRaidContext()
1122 if (endStrip == endRow*raid->rowDataSize) in MR_BuildRaidContext()
1143 regSize += (numRows-2) << raid->stripeShift; in MR_BuildRaidContext()
1153 cpu_to_le16(raid->fpIoTimeoutForLd ? in MR_BuildRaidContext()
1154 raid->fpIoTimeoutForLd : in MR_BuildRaidContext()
1158 raid->regTypeReqOnRead : raid->regTypeReqOnWrite; in MR_BuildRaidContext()
1161 REGION_TYPE_SHARED_READ : raid->regTypeReqOnWrite; in MR_BuildRaidContext()
1162 pRAID_Context->virtual_disk_tgt_id = raid->targetId; in MR_BuildRaidContext()
1165 pRAID_Context->config_seq_num = raid->seqNum; in MR_BuildRaidContext()
1167 *raidLUN = raid->LUN; in MR_BuildRaidContext()
1170 if (fusion->r56_div_offload && (raid->level >= 5) && !isRead) { in MR_BuildRaidContext()
1226 struct MR_LD_RAID *raid; in mr_update_span_set() local
1237 raid = MR_LdRaidGet(ld, map); in mr_update_span_set()
1239 for (span = 0; span < raid->spanDepth; span++) { in mr_update_span_set()
1252 count < raid->spanDepth; count++) { in mr_update_span_set()
1273 ((span_row << raid->stripeShift) in mr_update_span_set()
1293 ((span_row << raid->stripeShift) in mr_update_span_set()
1315 if (span == raid->spanDepth) in mr_update_span_set()
1326 struct MR_LD_RAID *raid; in mr_update_load_balance_params() local
1338 raid = MR_LdRaidGet(ld, drv_map); in mr_update_load_balance_params()
1339 if ((raid->level != 1) || in mr_update_load_balance_params()
1340 (raid->ldState != MR_LD_STATE_OPTIMAL)) { in mr_update_load_balance_params()
1353 struct MR_LD_RAID *raid; in megasas_get_best_arm_pd() local
1368 raid = MR_LdRaidGet(ld, drv_map); in megasas_get_best_arm_pd()
1370 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize; in megasas_get_best_arm_pd()