Lines Matching +full:smp +full:- +full:offset
2 *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
305 /* SMP frame type */
312 /* default SMP timeout: 0xFFFF is the Maximum Allowed */
315 /* SMP direct payload size limit: IOMB direct payload size = 48 */
318 /* SMP function */
333 /* SMP function results */
363 /* SMP PHY CONTROL OPERATION */
386 DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressLo)
389 DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressHi)
393 (((devInfo)->devType_S_Rate & 0xC0) >> 6)
396 ((devInfo)->devType_S_Rate & 0x0F)
399 (((devInfo)->ext & 0x7800) >> 11)
403 ((devInfo)->smpTimeout) = smpto
406 ((devInfo)->it_NexusTimeout) = itnexusto
409 ((devInfo)->firstBurstSize) = fbs
412 ((devInfo)->flag) = tlr
415 ((devInfo)->devType_S_Rate) = dev_s_rate
418 *(bit32 *)((devInfo)->sasAddressLo) = BIT32_TO_DMA_BEBIT32(src32)
421 *(bit32 *)((devInfo)->sasAddressHi) = BIT32_TO_DMA_BEBIT32(src32)
425 #define DEVICE_SMP_BIT 0x2 /* SMP Initiator port */
429 (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)
432 (((DeviceData)->initiator_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)
435 (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)
438 (((DeviceData)->target_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)
441 (((DeviceData)->target_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)
444 (((DeviceData)->target_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)
447 (((DeviceData)->target_ssp_stp_smp & DEVICE_SATA_BIT) == DEVICE_SATA_BIT)
455 /* old SMP header definition */
458 bit8 smpFrameType; /* The first byte of SMP frame represents the SMP FRAME TYPE */
459 bit8 smpFunction; /* The second byte of the SMP frame represents the SMP FUNCTION */
460 …bit8 smpFunctionResult; /* The third byte of SMP frame represents FUNCTION RESULT of the SMP res…
487 /* B7-2 : reserved */
494 (((pResp)->configuring_configurable & REPORT_GENERAL_CONFIGURING_BIT) == \
498 (((pResp)->configuring_configurable & REPORT_GENERAL_CONFIGURABLE_BIT) == \
502 DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16))
540 /* B6-4 : attachedDeviceType */
541 /* B3-0 : reserved */
543 /* B7-4 : reserved */
544 /* B3-0 : negotiatedPhyLinkRate */
546 /* B7-4 : reserved */
553 /* B6-4 : reserved */
565 /* B7-4 : programmedMinPhyLinkRate */
566 /* B3-0 : hardwareMinPhyLinkRate */
568 /* B7-4 : programmedMaxPhyLinkRate */
569 /* B3-0 : hardwareMaxPhyLinkRate */
573 /* B6-4 : reserved */
574 /* B3-0 : partialPathwayTimeout */
576 /* B7-4 : reserved */
577 /* B3-0 : routingAttribute */
590 (((pResp)->attachedDeviceType & 0x70) >> 4)
592 ((bit8)((pResp)->negotiatedPhyLinkRate & 0x0F))
595 (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
597 (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
599 (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
601 (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
604 (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
606 (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
608 (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
610 (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
612 (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_PS_BIT) == DISCRSP_SATA_PS_BIT)
615 DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressHi)
617 DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressLo)
620 DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressHi)
622 DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressLo)
626 (((pResp)->virtualPhy_partialPathwayTimeout & DISCRSP_VIRTUALPHY_BIT) == DISCRSP_VIRTUALPHY_BIT)
629 ((bit8)((pResp)->routingAttribute & 0x0F))
655 /* B6-0 : reserved */
710 /* b7-2 : reserved */
733 /* b7-1 : reserved */
737 /* b7-4 : programmed Minimum Physical Link Rate*/
738 /* b3-0 : reserved */
740 /* b7-4 : programmed Maximum Physical Link Rate*/
741 /* b3-0 : reserved */
744 /* b7-4 : reserved */
745 /* b3-0 : partial Pathway TO Value */
776 ** SCSI Additional Sense Codes and Qualifiers combo two-bytes
829 #define SATA_PAGE0_INQUIRY_SIZE 8 /* SPC-4, 7.6.9 Table331, p345 */
854 (bitptr)&(((STRUCT_TYPE *)0)->FEILD)
859 #define OSSA_WRITE_LE_16(AGROOT, DMA_ADDR, OFFSET, VALUE16) \ argument
860 (*((bit16 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit16)(VALUE16);
862 #define OSSA_WRITE_LE_32(AGROOT, DMA_ADDR, OFFSET, VALUE32) \ argument
863 (*((bit32 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit32)(VALUE32);
865 #define OSSA_READ_LE_16(AGROOT, ADDR16, DMA_ADDR, OFFSET) \ argument
866 (*((bit16 *)ADDR16)) = (*((bit16 *)(((bit8 *)DMA_ADDR)+(OFFSET))))
868 #define OSSA_READ_LE_32(AGROOT, ADDR32, DMA_ADDR, OFFSET) \ argument
869 (*((bit32 *)ADDR32)) = (*((bit32 *)(((bit8 *)DMA_ADDR)+(OFFSET))))
871 #define OSSA_WRITE_BE_16(AGROOT, DMA_ADDR, OFFSET, VALUE16) \ argument
872 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit8)((((bit16)VALUE16)>>8)&0xFF); \
873 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))) = (bit8)(((bit16)VALUE16)&0xFF);
875 #define OSSA_WRITE_BE_32(AGROOT, DMA_ADDR, OFFSET, VALUE32) \ argument
876 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit8)((((bit32)VALUE32)>>24)&0xFF); \
877 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))) = (bit8)((((bit32)VALUE32)>>16)&0xFF); \
878 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+2))) = (bit8)((((bit32)VALUE32)>>8)&0xFF); \
879 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+3))) = (bit8)(((bit32)VALUE32)&0xFF);
881 #define OSSA_READ_BE_16(AGROOT, ADDR16, DMA_ADDR, OFFSET) \ argument
882 (*(bit8 *)(((bit8 *)ADDR16)+1)) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))); \
883 (*(bit8 *)(((bit8 *)ADDR16))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1)));
885 #define OSSA_READ_BE_32(AGROOT, ADDR32, DMA_ADDR, OFFSET) \ argument
886 (*(bit8 *)(((bit8 *)ADDR32)+3)) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))); \
887 (*(bit8 *)(((bit8 *)ADDR32)+2)) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))); \
888 (*(bit8 *)(((bit8 *)ADDR32)+1)) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+2))); \
889 (*(bit8 *)(((bit8 *)ADDR32))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+3)));
897 #define OSSA_WRITE_LE_16(AGROOT, DMA_ADDR, OFFSET, VALUE16) \ argument
898 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))) = (bit8)((((bit16)VALUE16)>>8)&0xFF); \
899 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit8)(((bit16)VALUE16)&0xFF);
901 #define OSSA_WRITE_LE_32(AGROOT, DMA_ADDR, OFFSET, VALUE32) \ argument
902 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+3))) = (bit8)((((bit32)VALUE32)>>24)&0xFF); \
903 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+2))) = (bit8)((((bit32)VALUE32)>>16)&0xFF); \
904 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))) = (bit8)((((bit32)VALUE32)>>8)&0xFF); \
905 (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit8)(((bit32)VALUE32)&0xFF);
907 #define OSSA_READ_LE_16(AGROOT, ADDR16, DMA_ADDR, OFFSET) \ argument
908 (*(bit8 *)(((bit8 *)ADDR16)+1)) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))); \
909 (*(bit8 *)(((bit8 *)ADDR16))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1)));
911 #define OSSA_READ_LE_32(AGROOT, ADDR32, DMA_ADDR, OFFSET) \ argument
912 (*((bit8 *)(((bit8 *)ADDR32)+3))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)))); \
913 (*((bit8 *)(((bit8 *)ADDR32)+2))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+1))); \
914 (*((bit8 *)(((bit8 *)ADDR32)+1))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+2))); \
915 (*((bit8 *)(((bit8 *)ADDR32)))) = (*((bit8 *)(((bit8 *)DMA_ADDR)+(OFFSET)+3)));
917 #define OSSA_WRITE_BE_16(AGROOT, DMA_ADDR, OFFSET, VALUE16) \ argument
918 (*((bit16 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit16)(VALUE16);
920 #define OSSA_WRITE_BE_32(AGROOT, DMA_ADDR, OFFSET, VALUE32) \ argument
921 (*((bit32 *)(((bit8 *)DMA_ADDR)+(OFFSET)))) = (bit32)(VALUE32);
923 #define OSSA_READ_BE_16(AGROOT, ADDR16, DMA_ADDR, OFFSET) \ argument
924 (*((bit16 *)ADDR16)) = (*((bit16 *)(((bit8 *)DMA_ADDR)+(OFFSET))));
926 #define OSSA_READ_BE_32(AGROOT, ADDR32, DMA_ADDR, OFFSET) \ argument
927 (*((bit32 *)ADDR32)) = (*((bit32 *)(((bit8 *)DMA_ADDR)+(OFFSET))));
1079 #define SAS_DEVICE_TYPE 1 /* SSP or SMP 01 */
1122 /* compiler flag for direct smp */
1143 /* for tdsaAllShared->FreeDeviceList, tdsaAllShared->MainDeviceList,
1144 oneDeviceData->MainLink, oneDeviceData->FreeLink */
1146 /* for tdsaAllShared->FreePortContextList, tdsaAllShared->MainPortContextList,
1147 onePortContext->MainLink, onePortContext->FreeLink */
1149 /* for onePortContext->discovery.discoveringExpanderList,
1150 onePortContext->discovery.UpdiscoveringExpanderList,
1151 tdsaAllShared->freeExpanderList */
1153 /* for onePortContext->discovery.DiscoverySMPTimer,
1154 oneDeviceData->SATAIDDeviceTimer, discovery->discoveryTimer,
1155 discovery->SMPBusyTimer, discovery->BCTimer,
1156 discovery->deviceRegistrationTimer, discovery->configureRouteTimer,
1157 tdsaAllShared->itdsaIni->timerlist, tdsaAllShared->timerlist */
1160 /* for tdsaAllShared->pEsglAllInfo->freelist
1161 tdsaAllShared->pEsglAllInfo->NumFreeEsglPages
1162 tdsaAllShared->pEsglPageInfo->tdlist */
1164 /* for satIOContext->pSatDevData->satVerifyState,
1165 satIOContext->pSatDevData->satSectorDone,
1166 satIOContext->pSatDevData->satPendingNCQIO,
1167 satIOContext->pSatDevData->satPendingIO,
1168 satIOContext->pSatDevData->satPendingNONNCQIO,
1169 satIOContext->pSatDevData->satFreeIntIoLinkList,
1170 satIOContext->pSatDevData->satActiveIntIoLinkList,
1171 satIOContext->pSatDevData->freeSATAFDMATagBitmap,
1172 satIOContext->satIoContextLink,
1173 oneDeviceData->satDevData.satIoLinkList */
1176 /* for tdsaIntCoalCxt->FreeLink, tdsaIntCoalCxt->MainLink,
1177 tdsaIntCoalCxtHead->FreeLink, tdsaIntCoalCxtHead->MainLink */
1182 /* for tdsaAllShared->ttdsaTgt->ttdsaXchgData.xchgFreeList,
1183 tdsaAllShared->ttdsaTgt->ttdsaXchgData.xchgBusyList */
1199 /* bit32 -> bit8 array[4] */
1201 *(bit32 *)((portInfo)->sasLocalAddressLo) = BIT32_TO_DMA_BEBIT32(src32)
1204 *(bit32 *)((portInfo)->sasLocalAddressHi) = BIT32_TO_DMA_BEBIT32(src32)
1205 /* bit32 -> bit8 array[4] */
1207 *(bit32 *)((portInfo)->sasRemoteAddressLo) = BIT32_TO_DMA_BEBIT32(src32)
1209 *(bit32 *)((portInfo)->sasRemoteAddressHi) = BIT32_TO_DMA_BEBIT32(src32)
1217 #define TI_TIROOT_TO_tdsaRoot(t_r) (((tdsaRoot_t *)((tiRoot_t *)t_r)->tdData) )
1219 #define TI_TIROOT_TO_tdsaAllShared(t_r1) (tdsaContext_t *)&(t_r1->tdsaAllShared)
1221 #define TI_TIROOT_TO_agroot(t_r2) (agsaRoot_t *)&((t_r2)->agRootNonInt)