507                 /* Simple method of version checking variables */
 508                 struct {
 509                         U32     maxLd;
 510                         U32     maxSpanDepth;
 511                         U32     maxRowSize;
 512                         U32     maxPdCount;
 513                         U32     maxArrays;
 514                 } validationInfo;
 515                 U32     version[5];
 516                 U32     reserved1[5];
 517         } u1;
 518 
 519         U32                     ldCount;                /* count of lds */
 520         U32                     Reserved1;
 521 
 522         /*
 523          * 0x20 This doesn't correspond to
 524          * FW Ld Tgt Id to LD, but will purge. For example: if tgt Id is 4
 525          * and FW LD is 2, and there is only one LD, FW will populate the
 526          * array like this. [0xFF, 0xFF, 0xFF, 0xFF, 0x0.....]. This is to
 527          * help reduce the entire strcture size if there are few LDs or
 528          * driver is looking info for 1 LD only.
 529          */
 530         U8                      ldTgtIdToLd[MAX_RAIDMAP_LOGICAL_DRIVES+ \
 531                                 MAX_RAIDMAP_VIEWS]; /* 0x20 */
 532         /* timeout value used by driver in FP IOs */
 533         U8                      fpPdIoTimeoutSec;
 534         U8                      reserved2[7];
 535         MR_ARRAY_INFO           arMapInfo[MAX_RAIDMAP_ARRAYS];  /* 0x00a8 */
 536         MR_DEV_HANDLE_INFO      devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
 537 
 538         /* 0x28a8-[0 -MAX_RAIDMAP_LOGICAL_DRIVES+MAX_RAIDMAP_VIEWS+1]; */
 539         MR_LD_SPAN_MAP          ldSpanMap[1];
 540 }MR_FW_RAID_MAP;                                        /* 0x3288, Total Size */
 541 
 542 typedef struct _LD_TARGET_SYNC {
 543         U8      ldTargetId;
 544         U8      reserved;
 545         U16     seqNum;
 546 } LD_TARGET_SYNC;
 547 
 | 
 
 
 507                 /* Simple method of version checking variables */
 508                 struct {
 509                         U32     maxLd;
 510                         U32     maxSpanDepth;
 511                         U32     maxRowSize;
 512                         U32     maxPdCount;
 513                         U32     maxArrays;
 514                 } validationInfo;
 515                 U32     version[5];
 516                 U32     reserved1[5];
 517         } u1;
 518 
 519         U32                     ldCount;                /* count of lds */
 520         U32                     Reserved1;
 521 
 522         /*
 523          * 0x20 This doesn't correspond to
 524          * FW Ld Tgt Id to LD, but will purge. For example: if tgt Id is 4
 525          * and FW LD is 2, and there is only one LD, FW will populate the
 526          * array like this. [0xFF, 0xFF, 0xFF, 0xFF, 0x0.....]. This is to
 527          * help reduce the entire structure size if there are few LDs or
 528          * driver is looking info for 1 LD only.
 529          */
 530         U8                      ldTgtIdToLd[MAX_RAIDMAP_LOGICAL_DRIVES+ \
 531                                 MAX_RAIDMAP_VIEWS]; /* 0x20 */
 532         /* timeout value used by driver in FP IOs */
 533         U8                      fpPdIoTimeoutSec;
 534         U8                      reserved2[7];
 535         MR_ARRAY_INFO           arMapInfo[MAX_RAIDMAP_ARRAYS];  /* 0x00a8 */
 536         MR_DEV_HANDLE_INFO      devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
 537 
 538         /* 0x28a8-[0 -MAX_RAIDMAP_LOGICAL_DRIVES+MAX_RAIDMAP_VIEWS+1]; */
 539         MR_LD_SPAN_MAP          ldSpanMap[1];
 540 }MR_FW_RAID_MAP;                                        /* 0x3288, Total Size */
 541 
 542 typedef struct _LD_TARGET_SYNC {
 543         U8      ldTargetId;
 544         U8      reserved;
 545         U16     seqNum;
 546 } LD_TARGET_SYNC;
 547 
 |