• Home
  • Raw
  • Download

Lines Matching full:span

137 u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL *map)  in MR_LdSpanArrayGet()  argument
139 return le16_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef); in MR_LdSpanArrayGet()
162 static struct MR_LD_SPAN *MR_LdSpanPtrGet(u32 ld, u32 span, in MR_LdSpanPtrGet() argument
165 return &map->raidMap.ldSpanMap[ld].spanBlock[span].span; in MR_LdSpanPtrGet()
352 dev_err(&instance->pdev->dev, "megasas: span map %x, pDrvRaidMap->totalSize : %x\n", in MR_ValidateMapInfo()
389 u32 span, j; in MR_GetSpanBlock() local
391 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) { in MR_GetSpanBlock()
409 return span; in MR_GetSpanBlock()
419 * This routine calculates the Span block for given row using spanset.
429 * span - Span number
441 u32 span, info; in mr_spanset_get_span_block() local
453 for (span = 0; span < raid->spanDepth; span++) in mr_spanset_get_span_block()
454 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_spanset_get_span_block()
457 spanBlock[span]. in mr_spanset_get_span_block()
474 return span; in mr_spanset_get_span_block()
504 u32 info, strip_offset, span, span_offset; in get_row_from_strip() local
520 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_row_from_strip()
521 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_row_from_strip()
524 span_set->strip_offset[span]) in get_row_from_strip()
562 u32 span, info; in get_strip_from_row() local
573 for (span = 0; span < raid->spanDepth; span++) in get_strip_from_row()
574 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_strip_from_row()
577 spanBlock[span].block_span_info.quad[info]; in get_strip_from_row()
588 strip += span_set->strip_offset[span]; in get_strip_from_row()
622 u32 info, strip_offset, span, span_offset, retval; in get_arm_from_strip() local
636 for (span = 0, span_offset = 0; span < raid->spanDepth; span++) in get_arm_from_strip()
637 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in get_arm_from_strip()
640 span_set->strip_offset[span]) in get_arm_from_strip()
642 span_set->strip_offset[span]; in get_arm_from_strip()
659 u8 get_arm(struct megasas_instance *instance, u32 ld, u8 span, u64 stripe, in get_arm() argument
670 arm = mega_mod64(stripe, SPAN_ROW_SIZE(map, ld, span)); in get_arm()
687 * This routine calculates the arm, span and block for the specified stripe and
698 * span - Span number
708 u8 physArm, span; in mr_spanset_get_phy_params() local
720 /*Get row and span from io_info for Uneven Span IO.*/ in mr_spanset_get_phy_params()
722 span = io_info->start_span; in mr_spanset_get_phy_params()
729 rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span)); in mr_spanset_get_phy_params()
730 armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod; in mr_spanset_get_phy_params()
732 if (arm >= SPAN_ROW_SIZE(map, ld, span)) in mr_spanset_get_phy_params()
733 arm -= SPAN_ROW_SIZE(map, ld, span); in mr_spanset_get_phy_params()
737 physArm = get_arm(instance, ld, span, stripRow, map); in mr_spanset_get_phy_params()
741 arRef = MR_LdSpanArrayGet(ld, span, map); in mr_spanset_get_phy_params()
772 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in mr_spanset_get_phy_params()
775 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in mr_spanset_get_phy_params()
777 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in mr_spanset_get_phy_params()
780 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in mr_spanset_get_phy_params()
790 * This routine calculates the arm, span and block for the specified stripe and
801 * span - Span number
811 u8 physArm, span; in MR_GetPhyParams() local
847 span = 0; in MR_GetPhyParams()
850 span = (u8)MR_GetSpanBlock(ld, row, pdBlock, map); in MR_GetPhyParams()
851 if (span == SPAN_INVALID) in MR_GetPhyParams()
855 /* Get the array on which this span is present */ in MR_GetPhyParams()
856 arRef = MR_LdSpanArrayGet(ld, span, map); in MR_GetPhyParams()
890 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); in MR_GetPhyParams()
893 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in MR_GetPhyParams()
895 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in MR_GetPhyParams()
898 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; in MR_GetPhyParams()
950 * if rowDataSize @RAID map and spanRowDataSize @SPAN INFO are zero in MR_BuildRaidContext()
960 "raid->rowDataSize is 0, but has SPAN[0]" in MR_BuildRaidContext()
1050 * For Even span region lock optimization. in MR_BuildRaidContext()
1071 * For Uneven span region lock optimization. in MR_BuildRaidContext()
1159 u8 span, count; in mr_update_span_set() local
1175 for (span = 0; span < raid->spanDepth; span++) { in mr_update_span_set()
1176 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span]. in mr_update_span_set()
1182 spanBlock[span].block_span_info. in mr_update_span_set()
1251 if (span == raid->spanDepth) in mr_update_span_set()
1293 u8 bestArm, pd0, pd1, span, arm; in megasas_get_best_arm_pd() local
1299 span = ((io_info->span_arm & RAID_CTX_SPANARM_SPAN_MASK) in megasas_get_best_arm_pd()
1306 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize; in megasas_get_best_arm_pd()
1308 arRef = MR_LdSpanArrayGet(ld, span, drv_map); in megasas_get_best_arm_pd()
1338 (span << RAID_CTX_SPANARM_SPAN_SHIFT) | bestArm; in megasas_get_best_arm_pd()