Lines Matching refs:span
148 u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL *map) in MR_LdSpanArrayGet() argument
150 return le16_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef); in MR_LdSpanArrayGet()
168 static struct MR_LD_SPAN *MR_LdSpanPtrGet(u32 ld, u32 span, in MR_LdSpanPtrGet() argument
171 return &map->raidMap.ldSpanMap[ld].spanBlock[span].span; in MR_LdSpanPtrGet()
321 u32 span, j; in MR_GetSpanBlock() local
323 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) { in MR_GetSpanBlock()
341 return span; in MR_GetSpanBlock()
362 u8 span; in getSpanInfo() local
377 for (span = 0; span < raid->spanDepth; span++) in getSpanInfo()
379 " number of quads=%x\n", span, in getSpanInfo()
380 le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in getSpanInfo()
408 for (span = 0; span < raid->spanDepth; span++) { in getSpanInfo()
409 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in getSpanInfo()
413 spanBlock[span].block_span_info. in getSpanInfo()
416 "Quad=%x, diff=%x\n", span, in getSpanInfo()
458 u32 span, info; in mr_spanset_get_span_block() local
470 for (span = 0; span < raid->spanDepth; span++) in mr_spanset_get_span_block()
471 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_spanset_get_span_block()
474 spanBlock[span]. in mr_spanset_get_span_block()
491 return span; in mr_spanset_get_span_block()
521 u32 info, strip_offset, span, span_offset; in get_row_from_strip() local
537 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_row_from_strip()
538 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_row_from_strip()
541 span_set->strip_offset[span]) in get_row_from_strip()
591 u32 span, info; in get_strip_from_row() local
602 for (span = 0; span < raid->spanDepth; span++) in get_strip_from_row()
603 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_strip_from_row()
606 spanBlock[span].block_span_info.quad[info]; in get_strip_from_row()
617 strip += span_set->strip_offset[span]; in get_strip_from_row()
651 u32 info, strip_offset, span, span_offset, retval; in get_arm_from_strip() local
665 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_arm_from_strip()
666 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_arm_from_strip()
669 span_set->strip_offset[span]) in get_arm_from_strip()
671 span_set->strip_offset[span]; in get_arm_from_strip()
692 u8 get_arm(struct megasas_instance *instance, u32 ld, u8 span, u64 stripe, in get_arm() argument
703 arm = mega_mod64(stripe, SPAN_ROW_SIZE(map, ld, span)); in get_arm()
741 u8 physArm, span; in mr_spanset_get_phy_params() local
753 span = io_info->start_span; in mr_spanset_get_phy_params()
760 rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span)); in mr_spanset_get_phy_params()
761 armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod; in mr_spanset_get_phy_params()
763 if (arm >= SPAN_ROW_SIZE(map, ld, span)) in mr_spanset_get_phy_params()
764 arm -= SPAN_ROW_SIZE(map, ld, span); in mr_spanset_get_phy_params()
768 physArm = get_arm(instance, ld, span, stripRow, map); in mr_spanset_get_phy_params()
772 arRef = MR_LdSpanArrayGet(ld, span, map); in mr_spanset_get_phy_params()
791 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in mr_spanset_get_phy_params()
792 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | in mr_spanset_get_phy_params()
822 u8 physArm, span; in MR_GetPhyParams() local
857 span = 0; in MR_GetPhyParams()
860 span = (u8)MR_GetSpanBlock(ld, row, pdBlock, map); in MR_GetPhyParams()
861 if (span == SPAN_INVALID) in MR_GetPhyParams()
866 arRef = MR_LdSpanArrayGet(ld, span, map); in MR_GetPhyParams()
889 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in MR_GetPhyParams()
890 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | in MR_GetPhyParams()
1162 u8 span, count; in mr_update_span_set() local
1178 for (span = 0; span < raid->spanDepth; span++) { in mr_update_span_set()
1179 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_update_span_set()
1185 spanBlock[span].block_span_info. in mr_update_span_set()
1254 if (span == raid->spanDepth) in mr_update_span_set()
1299 u8 bestArm, pd0, pd1, span, arm; in megasas_get_best_arm_pd() local
1305 span = ((io_info->span_arm & RAID_CTX_SPANARM_SPAN_MASK) in megasas_get_best_arm_pd()
1315 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize; in megasas_get_best_arm_pd()
1317 arRef = MR_LdSpanArrayGet(ld, span, drv_map); in megasas_get_best_arm_pd()
1338 io_info->span_arm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | bestArm; in megasas_get_best_arm_pd()
1344 span, arm, bestArm, io_info->span_arm); in megasas_get_best_arm_pd()