Lines Matching defs:map

57 #define SPAN_ROW_SIZE(map, ld, index_) (MR_LdSpanPtrGet(ld, index_, map)->spanRowSize)
58 #define SPAN_ROW_DATA_SIZE(map_, ld, index_) (MR_LdSpanPtrGet(ld, index_, map)->spanRowDataSize)
62 static void mr_update_span_set(struct MR_DRV_RAID_MAP_ALL *map,
66 struct RAID_CONTEXT *pRAID_Context, struct MR_DRV_RAID_MAP_ALL *map);
68 u64 strip, struct MR_DRV_RAID_MAP_ALL *map);
101 struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_DRV_RAID_MAP_ALL *map)
103 return &map->raidMap.ldSpanMap[ld].ldRaid;
108 *map)
110 return &map->raidMap.ldSpanMap[ld].spanBlock[0];
113 static u8 MR_LdDataArmGet(u32 ld, u32 armIdx, struct MR_DRV_RAID_MAP_ALL *map)
115 return map->raidMap.ldSpanMap[ld].dataArmMap[armIdx];
118 u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_DRV_RAID_MAP_ALL *map)
120 return le16_to_cpu(map->raidMap.arMapInfo[ar].pd[arm]);
123 u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL *map)
125 return le16_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef);
128 __le16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map)
130 return map->raidMap.devHndlInfo[pd].curDevHdl;
133 static u8 MR_PdInterfaceTypeGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map)
135 return map->raidMap.devHndlInfo[pd].interfaceType;
138 u16 MR_GetLDTgtId(u32 ld, struct MR_DRV_RAID_MAP_ALL *map)
140 return le16_to_cpu(map->raidMap.ldSpanMap[ld].ldRaid.targetId);
143 u16 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_DRV_RAID_MAP_ALL *map)
145 return map->raidMap.ldTgtIdToLd[ldTgtId];
149 struct MR_DRV_RAID_MAP_ALL *map)
151 return &map->raidMap.ldSpanMap[ld].spanBlock[span].span;
155 * This function will Populate Driver Map using firmware raid map
247 dev_dbg(&instance->pdev->dev, "megaraid_sas: LD count exposed in RAID map in not valid\n");
264 /* New Raid map will not set totalSize, so keep expected value
276 "LD count exposed in RAID map in not valid\n");
334 dev_dbg(&instance->pdev->dev, "megasas: map info structure size 0x%x",
338 dev_err(&instance->pdev->dev, "megasas: span map %x, pDrvRaidMap->totalSize : %x\n",
374 struct MR_DRV_RAID_MAP_ALL *map)
376 struct MR_SPAN_BLOCK_INFO *pSpanBlock = MR_LdSpanInfoGet(ld, map);
378 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
414 * map - LD map
424 u32 ld, u64 row, u64 *span_blk, struct MR_DRV_RAID_MAP_ALL *map)
427 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
443 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
445 quad = &map->raidMap.ldSpanMap[ld].
479 * map - LD map
487 u32 ld, u64 strip, struct MR_DRV_RAID_MAP_ALL *map)
490 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
510 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
536 * map - LD map
544 u32 ld, u64 row, struct MR_DRV_RAID_MAP_ALL *map)
547 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
563 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
565 quad = &map->raidMap.ldSpanMap[ld].
597 * map - LD map
605 u32 ld, u64 strip, struct MR_DRV_RAID_MAP_ALL *map)
608 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
626 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
649 struct MR_DRV_RAID_MAP_ALL *map)
651 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
659 arm = mega_mod64(stripe, SPAN_ROW_SIZE(map, ld, span));
663 arm = get_arm_from_strip(instance, ld, stripe, map);
693 struct MR_DRV_RAID_MAP_ALL *map)
695 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
713 logArm = get_arm_from_strip(instance, ld, stripRow, map);
716 rowMod = mega_mod64(row, SPAN_ROW_SIZE(map, ld, span));
717 armQ = SPAN_ROW_SIZE(map, ld, span) - 1 - rowMod;
719 if (arm >= SPAN_ROW_SIZE(map, ld, span))
720 arm -= SPAN_ROW_SIZE(map, ld, span);
724 physArm = get_arm(instance, ld, span, stripRow, map);
728 arRef = MR_LdSpanArrayGet(ld, span, map);
729 pd = MR_ArPdGet(arRef, physArm, map);
732 *pDevHandle = MR_PdDevHandleGet(pd, map);
733 *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
738 r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
741 MR_PdDevHandleGet(r1_alt_pd, map);
751 pd = MR_ArPdGet(arRef, physArm, map);
753 *pDevHandle = MR_PdDevHandleGet(pd, map);
754 *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
759 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
794 struct MR_DRV_RAID_MAP_ALL *map)
796 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
828 map);
835 span = (u8)MR_GetSpanBlock(ld, row, pdBlock, map);
841 arRef = MR_LdSpanArrayGet(ld, span, map);
842 pd = MR_ArPdGet(arRef, physArm, map); /* Get the pd */
846 *pDevHandle = MR_PdDevHandleGet(pd, map);
847 *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
852 r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
855 MR_PdDevHandleGet(r1_alt_pd, map);
866 pd = MR_ArPdGet(arRef, physArm, map);
869 *pDevHandle = MR_PdDevHandleGet(pd, map);
870 *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
875 *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
897 * map: RAID map pointer
906 struct MR_DRV_RAID_MAP_ALL *map)
908 struct MR_LD_RAID *raid = MR_LdRaidGet(ld, map);
929 span = (u8)MR_GetSpanBlock(ld, rowNum, pdBlock, map);
974 struct MR_DRV_RAID_MAP_ALL *map, u8 **raidLUN)
1000 ld = MR_TargetIdToLdGet(ldTgtId, map);
1001 raid = MR_LdRaidGet(ld, map);
1006 * if rowDataSize @RAID map and spanRowDataSize @SPAN INFO are zero
1010 if (MR_LdSpanPtrGet(ld, 0, map)->spanRowDataSize == 0)
1019 MR_LdSpanPtrGet(ld, 0, map)->spanRowDataSize);
1040 start_row = get_row_from_strip(instance, ld, start_strip, map);
1041 endRow = get_row_from_strip(instance, ld, endStrip, map);
1054 ld, start_row, pdBlock, map);
1131 if (start_strip == (get_strip_from_row(instance, ld, start_row, map) +
1132 SPAN_ROW_DATA_SIZE(map, ld, startlba_span) - 1)) {
1146 if (endStrip == get_strip_from_row(instance, ld, endRow, map))
1155 map->raidMap.fpPdIoTimeoutSec);
1173 map);
1183 io_info, pRAID_Context, map) :
1186 pRAID_Context, map);
1198 pRAID_Context, map) :
1201 io_info, pRAID_Context, map);
1212 * This routine pepare spanset info from Valid Raid map and store it into
1216 * map - LD map
1220 void mr_update_span_set(struct MR_DRV_RAID_MAP_ALL *map,
1234 ld = MR_TargetIdToLdGet(ldCount, map);
1237 raid = MR_LdRaidGet(ld, map);
1240 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
1245 quad = &map->raidMap.ldSpanMap[ld].
1253 if (le32_to_cpu(map->raidMap.ldSpanMap[ld].
1261 (ld, count, map)->spanRowDataSize;