Lines Matching defs:span

90 MR_LdSpanArrayGet(u_int32_t ld, u_int32_t span,
97 MR_LdSpanPtrGet(u_int32_t ld, u_int32_t span,
111 * span support)
126 get_arm(struct mrsas_softc *sc, u_int32_t ld, u_int8_t span,
131 * Spanset related defines Added for PRL11 configuration(Uneven span support)
205 MR_LdSpanArrayGet(u_int32_t ld, u_int32_t span, MR_DRV_RAID_MAP_ALL * map)
207 return map->raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef;
229 MR_LdSpanPtrGet(u_int32_t ld, u_int32_t span, MR_DRV_RAID_MAP_ALL * map)
231 return &map->raidMap.ldSpanMap[ld].spanBlock[span].span;
377 device_printf(sc->mrsas_dev, "span map= %x\n", (unsigned int)sizeof(MR_LD_SPAN_MAP));
391 * Function to print info about span set created in driver from FW raid map
394 * ldSpanInfo: ld map span info per HBA instance
403 u_int8_t span;
418 for (span = 0; span < raid->spanDepth; span++)
419 printf("Span=%x, number of quads=%x\n", span,
420 map->raidMap.ldSpanMap[ld].spanBlock[span].
433 printf("span row start=0x%08lx, end=0x%08lx\n",
443 for (span = 0; span < raid->spanDepth; span++) {
444 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
447 spanBlock[span].block_span_info.
449 printf("Span=%x, Quad=%x, diff=%x\n", span,
473 * Outputs : span - Span number block
485 u_int32_t span, info;
496 for (span = 0; span < raid->spanDepth; span++)
497 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
500 spanBlock[span].
504 return span;
520 return span;
546 u_int32_t info, strip_offset, span, span_offset;
562 for (span = 0, span_offset = 0; span < raid->spanDepth; span++)
563 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
566 span_set->strip_offset[span])
572 "data width 0x%llx span offset 0x%llx\n", (unsigned long long)strip,
605 u_int32_t span, info;
616 for (span = 0; span < raid->spanDepth; span++)
617 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
620 spanBlock[span].block_span_info.quad[info];
631 strip += span_set->strip_offset[span];
662 u_int32_t info, strip_offset, span, span_offset;
676 for (span = 0, span_offset = 0; span < raid->spanDepth; span++)
677 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
679 if (strip_offset >= span_set->strip_offset[span])
680 span_offset = span_set->strip_offset[span];
699 get_arm(struct mrsas_softc *sc, u_int32_t ld, u_int8_t span, u_int64_t stripe,
711 arm = mega_mod64(stripe, SPAN_ROW_SIZE(map, ld, span));
725 * This routine calculates the arm, span and block for the specified stripe and
734 * Outputs : span - Span number block - Absolute Block
744 u_int8_t physArm, span;
751 /* Get row and span from io_info for Uneven Span IO. */
753 span = io_info->start_span;
758 rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span));
759 armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod;
761 if (arm >= SPAN_ROW_SIZE(map, ld, span))
762 arm -= SPAN_ROW_SIZE(map, ld, span);
766 physArm = get_arm(sc, ld, span, stripRow, map);
769 arRef = MR_LdSpanArrayGet(ld, span, map);
786 *pdBlock += stripRef + MR_LdSpanPtrGet(ld, span, map)->startBlk;
787 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
878 " start strip 0x%llx endSrip 0x%llx span 0x%x\n",
882 mrsas_dprint(sc, MRSAS_PRL11, "AVAGO Debug : 1. start_row 0x%llx endRow 0x%llx Start span 0x%x\n",
918 * For Even span region lock optimization. If the start strip
1012 u_int8_t span, count;
1027 for (span = 0; span < raid->spanDepth; span++) {
1028 if (map->raidMap.ldSpanMap[ld].spanBlock[span].
1034 spanBlock[span].block_span_info.quad[element];
1046 printf("AVAGO Debug span %x rowDataSize %x\n", count,
1090 if (span == raid->spanDepth)
1095 getSpanInfo(map, ldSpanInfo); /* to get span set info */
1340 u_int8_t bestArm, pd0, pd1, span, arm;
1346 span = ((io_info->span_arm & RAID_CTX_SPANARM_SPAN_MASK)
1354 SPAN_ROW_SIZE(drv_map, ld, span) : raid->rowSize;
1356 arRef = MR_LdSpanArrayGet(ld, span, drv_map);
1376 io_info->span_arm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | bestArm;
1380 printf("AVAGO Debug R1 Load balance occur - span 0x%x arm 0x%x bestArm 0x%x "
1382 span, arm, bestArm, io_info->span_arm);
1416 * MR_GetPhyParams: Calculates arm, span, and block
1424 * This routine calculates the arm, span and block for the specified stripe and
1435 u_int8_t physArm, span;
1463 span = 0;
1466 span = (u_int8_t)MR_GetSpanBlock(ld, row, pdBlock, map, &error_code);
1471 /* Get the array on which this span is present */
1472 arRef = MR_LdSpanArrayGet(ld, span, map);
1493 *pdBlock += stripRef + MR_LdSpanPtrGet(ld, span, map)->startBlk;
1494 pRAID_Context->spanArm = (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
1500 * MR_GetSpanBlock: Calculates span block
1503 * span block
1508 * This routine calculates the span from the span block info.
1517 u_int32_t span, j;
1520 for (span = 0; span < raid->spanDepth; span++, pSpanBlock++) {
1525 return span;
1535 return span;
1539 return span;