Lines Matching refs:span
140 u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL *map) in MR_LdSpanArrayGet() argument
142 return le16_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef); in MR_LdSpanArrayGet()
160 static struct MR_LD_SPAN *MR_LdSpanPtrGet(u32 ld, u32 span, in MR_LdSpanPtrGet() argument
163 return &map->raidMap.ldSpanMap[ld].spanBlock[span].span; in MR_LdSpanPtrGet()
313 u32 span, j; in MR_GetSpanBlock() local
315 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) { in MR_GetSpanBlock()
333 return span; in MR_GetSpanBlock()
354 u8 span; in getSpanInfo() local
369 for (span = 0; span < raid->spanDepth; span++) in getSpanInfo()
371 " number of quads=%x\n", span, in getSpanInfo()
372 le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in getSpanInfo()
400 for (span = 0; span < raid->spanDepth; span++) { in getSpanInfo()
401 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in getSpanInfo()
405 spanBlock[span].block_span_info. in getSpanInfo()
408 "Quad=%x, diff=%x\n", span, in getSpanInfo()
450 u32 span, info; in mr_spanset_get_span_block() local
462 for (span = 0; span < raid->spanDepth; span++) in mr_spanset_get_span_block()
463 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_spanset_get_span_block()
466 spanBlock[span]. in mr_spanset_get_span_block()
483 return span; in mr_spanset_get_span_block()
513 u32 info, strip_offset, span, span_offset; in get_row_from_strip() local
529 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_row_from_strip()
530 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_row_from_strip()
533 span_set->strip_offset[span]) in get_row_from_strip()
583 u32 span, info; in get_strip_from_row() local
594 for (span = 0; span < raid->spanDepth; span++) in get_strip_from_row()
595 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_strip_from_row()
598 spanBlock[span].block_span_info.quad[info]; in get_strip_from_row()
609 strip += span_set->strip_offset[span]; in get_strip_from_row()
643 u32 info, strip_offset, span, span_offset, retval; in get_arm_from_strip() local
657 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_arm_from_strip()
658 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_arm_from_strip()
661 span_set->strip_offset[span]) in get_arm_from_strip()
663 span_set->strip_offset[span]; in get_arm_from_strip()
684 u8 get_arm(struct megasas_instance *instance, u32 ld, u8 span, u64 stripe, in get_arm() argument
695 arm = mega_mod64(stripe, SPAN_ROW_SIZE(map, ld, span)); in get_arm()
733 u8 physArm, span; in mr_spanset_get_phy_params() local
747 span = io_info->start_span; in mr_spanset_get_phy_params()
754 rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span)); in mr_spanset_get_phy_params()
755 armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod; in mr_spanset_get_phy_params()
757 if (arm >= SPAN_ROW_SIZE(map, ld, span)) in mr_spanset_get_phy_params()
758 arm -= SPAN_ROW_SIZE(map, ld, span); in mr_spanset_get_phy_params()
762 physArm = get_arm(instance, ld, span, stripRow, map); in mr_spanset_get_phy_params()
766 arRef = MR_LdSpanArrayGet(ld, span, map); in mr_spanset_get_phy_params()
784 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in mr_spanset_get_phy_params()
785 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | in mr_spanset_get_phy_params()
815 u8 physArm, span; in MR_GetPhyParams() local
851 span = 0; in MR_GetPhyParams()
854 span = (u8)MR_GetSpanBlock(ld, row, pdBlock, map); in MR_GetPhyParams()
855 if (span == SPAN_INVALID) in MR_GetPhyParams()
860 arRef = MR_LdSpanArrayGet(ld, span, map); in MR_GetPhyParams()
881 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in MR_GetPhyParams()
882 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | in MR_GetPhyParams()
1153 u8 span, count; in mr_update_span_set() local
1169 for (span = 0; span < raid->spanDepth; span++) { in mr_update_span_set()
1170 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_update_span_set()
1176 spanBlock[span].block_span_info. in mr_update_span_set()
1249 if (span == raid->spanDepth) in mr_update_span_set()
1294 u8 bestArm, pd0, pd1, span, arm; in megasas_get_best_arm_pd() local
1300 span = ((io_info->span_arm & RAID_CTX_SPANARM_SPAN_MASK) in megasas_get_best_arm_pd()
1310 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize; in megasas_get_best_arm_pd()
1312 arRef = MR_LdSpanArrayGet(ld, span, drv_map); in megasas_get_best_arm_pd()
1333 io_info->span_arm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | bestArm; in megasas_get_best_arm_pd()
1339 span, arm, bestArm, io_info->span_arm); in megasas_get_best_arm_pd()