67 SM_DBG2((
"smllSATACompleted: start\n"));
71 SM_DBG1((
"smllSATACompleted: agIORequest is NULL!!!\n"));
77 if (smIORequestBody ==
agNULL)
79 SM_DBG1((
"smllSATACompleted: smIORequestBody is NULL!!!\n"));
87 if (smDeviceHandle ==
agNULL)
89 SM_DBG1((
"smllSATACompleted: smDeviceHandle is NULL!!!\n"));
93 SM_DBG1((
"smllSATACompleted: Error!!!!!! double completion!!!, ID %d!!!\n", smIORequestBody->
id));
94 if (oneDeviceData ==
agNULL)
96 SM_DBG1((
"smllSATACompleted: oneDeviceData is NULL!!!\n"));
99 SM_DBG1((
"smllSATACompleted: did %d!!!\n", oneDeviceData->
id));
106 if (satIOContext ==
agNULL)
108 SM_DBG1((
"smllSATACompleted: satIOContext is NULL!!!\n"));
114 if (pSatDevData ==
agNULL)
116 SM_DBG1((
"smllSATACompleted: pSatDevData is NULL loc 1, wrong!!!\n"));
119 SM_DBG1((
"smllSATACompleted: external command!!!\n"));
123 SM_DBG1((
"smllSATACompleted: internal command!!!\n"));
130 if (smDeviceHandle ==
agNULL)
132 SM_DBG1((
"smllSATACompleted: smDeviceHandle is NULL!!!!\n"));
138 if (oneDeviceData != pSatDevData)
140 SM_DBG1((
"smllSATACompleted: diff device handle!!!\n"));
143 SM_DBG1((
"smllSATACompleted: external command!!!\n"));
147 SM_DBG1((
"smllSATACompleted: internal command!!!\n"));
152 if (oneDeviceData ==
agNULL)
154 SM_DBG1((
"smllSATACompleted: oneDeviceData is NULL!!!!\n"));
157 SM_DBG1((
"smllSATACompleted: external command!!!\n"));
161 SM_DBG1((
"smllSATACompleted: internal command!!!\n"));
166 smRoot = oneDeviceData->
smRoot;
173 SM_DBG3((
"smllSATACompleted: ncq tag 0x%x\n",satIOContext->
sataTag));
179 SM_DBG1((
"smllSATACompleted: agIOStatus is OSSA_IO_DS_NON_OPERATIONAL!!!\n"));
183 SM_DBG1((
"smllSATACompleted: agIOStatus is OSSA_IO_DS_IN_RECOVERY!!!\n"));
187 SM_DBG1((
"smllSATACompleted: agIOStatus is OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS!!!\n"));
243 bit32 interruptContext;
254 bit16 bSenseCodeInfo = 0;
256 SM_DBG3((
"smsatPacketCB: start\n"));
259 if (satIOContext ==
agNULL)
261 SM_DBG1((
"smsatPacketCB: satIOContext is NULL\n"));
267 smRoot = oneDeviceData->
smRoot;
273 SM_DBG5((
"smsatPacketCB: External smSatInternalIo_t satIntIoContext\n"));
274 satOrgIOContext = satIOContext;
276 pSense = satIOContext->
pSense;
281 SM_DBG5((
"smsatPacketCB: Internal smSatInternalIo_t satIntIoContext\n"));
285 pSense = satOrgIOContext->
pSense;
298 SM_DBG3((
"smsatPacketCB: First, agIOStatus == OSSA_IO_SUCCESS, agFirstDword == agNULL, agIOInfoLen = %d\n", agIOInfoLen));
308 SM_DBG2((
"smsatPacketCB: Second, agIOStatus == OSSA_IO_SUCCESS , agFirstDword %p agIOInfoLen = %d\n", agFirstDword, agIOInfoLen));
315 if (satNewIntIo ==
agNULL)
333 SM_DBG1((
"smsatPacketCB: momory allocation fails\n"));
370 SM_DBG1((
"smsatPacketCB: failed to call satRequestSenseForATAPI()\n"));
375 SM_DBG2((
"smsatPacketCB: agIOStatus != OSSA_IO_SUCCESS, status %d\n", agIOStatus));
387 SM_DBG1((
"smsatPacketCB: Unknown error \n"));
436 bit32 interruptContext;
441 SM_DBG3((
"smsatRequestSenseForATAPICB: start\n"));
444 if (satIOContext ==
agNULL)
446 SM_DBG1((
"smsatRequestSenseForATAPICB: satIOContext is NULL\n"));
452 smRoot = oneDeviceData->
smRoot;
457 SM_DBG5((
"smsatRequestSenseForATAPICB: External smSatInternalIo_t satIntIoContext\n"));
458 satOrgIOContext = satIOContext;
464 SM_DBG5((
"smsatRequestSenseForATAPICB: Internal smSatInternalIo_t satIntIoContext\n"));
496 SM_DBG1((
"smsatRequestSenseForATAPICB: OSSA_IO_UNDERFLOW agIOInfoLen = %d\n", agIOInfoLen));
516 SM_DBG1((
"smsatRequestSenseForATAPICB: failed, agIOStatus error = 0x%x agIOInfoLen = %d\n", agIOStatus, agIOInfoLen));
528 SM_DBG3((
"smsatRequestSenseForATAPICB: end\n"));
577 SM_DBG2((
"smsatSetFeaturesPIOCB: start\n"));
580 if (satIOContext ==
agNULL)
582 SM_DBG1((
"smsatSetFeaturesPIOCB: satIOContext is NULL\n"));
588 smRoot = oneDeviceData->
smRoot;
593 SM_DBG2((
"smsatSetFeaturesPIOCB: External smSatInternalIo_t satIntIoContext\n"));
594 satOrgIOContext = satIOContext;
600 SM_DBG2((
"smsatSetFeaturesPIOCB: Internal smSatInternalIo_t satIntIoContext\n"));
616 SM_DBG1((
"smsatSetFeaturesPIOCB: the same tdData and smData error!\n"));
628 SM_DBG1((
"smsatSetFeaturesPIOCB: error status 0x%x\n", agIOStatus));
629 SM_DBG1((
"smsatSetFeaturesPIOCB: did %d!!!\n", oneDeviceData->
id));
641 if (satNewIntIo ==
agNULL)
643 SM_DBG1((
"smsatSetFeaturesPIOCB: memory allocation fails\n"));
665 SM_DBG2((
"satSetFeaturesPIOCB: failed to call smsatSetFeatures()\n"));
675 SM_DBG2((
"smsatSetFeaturesPIOCB: exit, agIOStatus 0x%x\n", agIOStatus));
717#ifdef TD_DEBUG_ENABLE
726 SM_DBG1((
"smsatDeviceResetCB: start\n"));
731 smRoot = oneDeviceData->
smRoot;
737 SM_DBG6((
"smsatDeviceResetCB: External, OS generated\n"));
738 satOrgIOContext = satIOContext;
742 SM_DBG6((
"smsatDeviceResetCB: Internal, TD generated\n"));
744 if (satOrgIOContext ==
agNULL)
746 SM_DBG6((
"smsatDeviceResetCB: satOrgIOContext is NULL, wrong\n"));
751 SM_DBG6((
"smsatDeviceResetCB: satOrgIOContext is NOT NULL\n"));
758 SM_DBG1((
"smsatDeviceResetCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
783 SM_DBG1((
"smsatDeviceResetCB: OSSA_IO_OPEN_CNX_ERROR!!!\n"));
799#ifdef TD_DEBUG_ENABLE
802 ataStatus = satPIOSetupHeader->
status;
803 ataError = satPIOSetupHeader->
error;
805 SM_DBG1((
"smsatDeviceResetCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
826 SM_DBG1((
"smsatDeviceResetCB: calling satAbort!!!\n"));
845 SM_DBG3((
"smsatDeviceResetCB: return\n"));
889 SM_DBG6((
"smsatSetFeaturesDMACB: start\n"));
894 smRoot = oneDeviceData->
smRoot;
899 SM_DBG5((
"smsatExecuteDeviceDiagnosticCB: External smSatInternalIo_t satIntIoContext\n"));
900 satOrgIOContext = satIOContext;
904 SM_DBG5((
"smsatExecuteDeviceDiagnosticCB: Internal smSatInternalIo_t satIntIoContext\n"));
906 if (satOrgIOContext ==
agNULL)
908 SM_DBG5((
"smsatExecuteDeviceDiagnosticCB: satOrgIOContext is NULL\n"));
912 SM_DBG5((
"smsatExecuteDeviceDiagnosticCB: satOrgIOContext is NOT NULL\n"));
928 bit16 *pSenseCodeInfo
933 SM_DBG1((
"TranslateATAErrorsToSCSIErros: pSenseKey == agNULL || pSenseCodeInfo == agNULL\n"));
941 *pSenseCodeInfo = 0x3a00;
951 *pSenseCodeInfo = 0x5a01;
956 *pSenseCodeInfo = 0x1401;
961 *pSenseCodeInfo = 0x2800;
967 *pSenseCodeInfo = 0x1100;
974 *pSenseCodeInfo = 0x4703;
980 *pSenseCodeInfo = 0x4400;
984 SM_DBG1((
"unhandled ata error: bATAStatus = 0x%x, bATAError = 0x%x\n", bATAStatus, bATAError));
993 bit16 *pSenseCodeInfo
997 SM_DBG1((
"TranslateATAErrorsToSCSIErros: bATAStatus=%d bATAError= %d \n",bATAStatus,bATAError));
1001 SM_DBG1((
"TranslateATAErrorsToSCSIErros: pSenseKey == agNULL || pSenseCodeInfo == agNULL\n"));
1077 bit32 interruptContext = satIOContext->interruptContext;
1079 SM_DBG2((
"smsatNonChainedDataIOCB: start\n"));
1094 SM_DBG5((
"smsatNonChainedDataIOCB: success\n"));
1095 SM_DBG5((
"smsatNonChainedDataIOCB: success agIORequest %p\n", agIORequest));
1109 SM_DBG1((
"smsatNonChainedDataIOCB: calling smsatProcessAbnormalCompletion!!!\n"));
1151 bit32 ataStatus = 0;
1156 SM_DBG6((
"smsatChainedDataIOCB: start\n"));
1159 if (satIOContext ==
agNULL)
1161 SM_DBG1((
"smsatChainedDataIOCB: satIOContext is NULL\n"));
1166 hostToDevFis = satIOContext->
pFis;
1167 smRoot = oneDeviceData->
smRoot;
1172 SM_DBG5((
"smsatChainedDataIOCB: External smSatInternalIo_t satIntIoContext\n"));
1173 satOrgIOContext = satIOContext;
1175 pSense = satIOContext->
pSense;
1180 SM_DBG5((
"smsatChainedDataIOCB: Internal smSatInternalIo_t satIntIoContext\n"));
1184 pSense = satOrgIOContext->
pSense;
1192 SM_DBG1((
"smsatChainedDataIOCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
1225 ataStatus = statDevToHostFisHeader->
status;
1232 SM_DBG1((
"smsatChainedDataIOCB: FAILED, Wrong FIS type 0x%x!!!\n", statDevToHostFisHeader->
fisType));
1240 SM_DBG1((
"smsatChainedDataIOCB: FAILED, error status and command 0x%x!!!\n", hostToDevFis->
h.
command));
1273 SM_DBG5((
"smsatChainedDataIOCB: READ/WRITE success case\n"));
1288 if (satOrgIOContext->
LoopNum == 0)
1308 if (satNewIntIo ==
agNULL)
1317 SM_DBG1((
"smsatChainedDataIOCB: momory allocation fails!!!\n"));
1334 switch (scsiCmnd->
cdb[0])
1361 SM_DBG1((
"smsatChainedDataIOCB: success but default case scsi cmd 0x%x ata cmd 0x%x!!!\n",scsiCmnd->
cdb[0], hostToDevFis->
h.
command));
1379 SM_DBG1((
"smsatChainedDataIOCB: calling satRead10_1 fails!!!\n"));
1387 SM_DBG1((
"smsatChainedDataIOCB: success but default case command 0x%x!!!\n",hostToDevFis->
h.
command));
1437 bit32 ataStatus = 0;
1440 SM_DBG2((
"smsatNonChainedVerifyCB: start\n"));
1441 SM_DBG5((
"smsatNonChainedVerifyCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
1448 hostToDevFis = satIOContext->
pFis;
1449 smRoot = oneDeviceData->
smRoot;
1454 SM_DBG4((
"smsatNonChainedVerifyCB: External smSatInternalIo_t satIntIoContext\n"));
1455 satOrgIOContext = satIOContext;
1457 pSense = satIOContext->
pSense;
1461 SM_DBG4((
"smsatNonChainedVerifyCB: Internal smSatInternalIo_t satIntIoContext\n"));
1463 if (satOrgIOContext ==
agNULL)
1465 SM_DBG4((
"smsatNonChainedVerifyCB: satOrgIOContext is NULL, wrong\n"));
1470 SM_DBG4((
"smsatNonChainedVerifyCB: satOrgIOContext is NOT NULL\n"));
1474 pSense = satOrgIOContext->
pSense;
1481 SM_DBG1((
"smsatNonChainedVerifyCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
1504 ataStatus = statDevToHostFisHeader->
status;
1516 SM_DBG1((
"smsatNonChainedVerifyCB: FAILED, NOT IO_SUCCESS!!!\n"));
1520 SM_DBG1((
"smsatNonChainedVerifyCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
1526 SM_DBG1((
"smsatNonChainedVerifyCB: FAILED, FAILED, error status!!!\n"));
1549 SM_DBG1((
"smsatNonChainedVerifyCB: SAT_READ_VERIFY_SECTORS!!!\n"));
1552 SM_DBG1((
"smsatNonChainedVerifyCB: SAT_READ_VERIFY_SECTORS_EXT!!!\n"));
1555 SM_DBG1((
"smsatNonChainedVerifyCB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
1586 SM_DBG5((
"smsatNonChainedVerifyCB: SAT_WRITE_DMA_EXT success \n"));
1602 SM_DBG1((
"smsatNonChainedVerifyCB: success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
1656 bit32 ataStatus = 0;
1661 SM_DBG2((
"smsatChainedVerifyCB: start\n"));
1662 SM_DBG5((
"smsatChainedVerifyCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
1669 hostToDevFis = satIOContext->
pFis;
1670 smRoot = oneDeviceData->
smRoot;
1676 SM_DBG4((
"smsatChainedVerifyCB: External smSatInternalIo_t satIntIoContext\n"));
1677 satOrgIOContext = satIOContext;
1679 pSense = satIOContext->
pSense;
1684 SM_DBG4((
"smsatChainedVerifyCB: Internal smSatInternalIo_t satIntIoContext\n"));
1686 if (satOrgIOContext ==
agNULL)
1688 SM_DBG4((
"smsatChainedVerifyCB: satOrgIOContext is NULL, wrong\n"));
1693 SM_DBG4((
"smsatChainedVerifyCB: satOrgIOContext is NOT NULL\n"));
1697 pSense = satOrgIOContext->
pSense;
1706 SM_DBG1((
"smsatChainedVerifyCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
1732 ataStatus = statDevToHostFisHeader->
status;
1744 SM_DBG1((
"smsatChainedVerifyCB: FAILED, NOT IO_SUCCESS!!!\n"));
1748 SM_DBG1((
"smsatChainedVerifyCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
1754 SM_DBG1((
"smsatChainedVerifyCB: FAILED, FAILED, error status!!!\n"));
1777 SM_DBG1((
"smsatChainedVerifyCB: SAT_READ_VERIFY_SECTORS!!!\n"));
1780 SM_DBG1((
"smsatChainedVerifyCB: SAT_READ_VERIFY_SECTORS_EXT!!!\n"));
1783 SM_DBG1((
"smsatChainedVerifyCB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
1814 SM_DBG5((
"smsatChainedVerifyCB: SAT_WRITE_DMA_EXT success \n"));
1829 if (satOrgIOContext->
LoopNum == 0)
1857 if (satNewIntIo ==
agNULL)
1866 SM_DBG1((
"smsatChainedVerifyCB: momory allocation fails!!!\n"));
1898 SM_DBG1((
"smsatChainedVerifyCB: calling satChainedVerify fails!!!\n"));
1904 SM_DBG1((
"smsatChainedVerifyCB: success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
1969 bit32 ataStatus = 0;
1975 SM_DBG2((
"smsatTestUnitReadyCB: start\n"));
1976 SM_DBG6((
"smsatTestUnitReadyCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
1983 hostToDevFis = satIOContext->
pFis;
1984 smRoot = oneDeviceData->
smRoot;
1990 SM_DBG5((
"smsatTestUnitReadyCB: no internal smSatInternalIo_t satIntIoContext\n"));
1991 pSense = satIOContext->
pSense;
1993 satOrgIOContext = satIOContext;
1998 SM_DBG5((
"smsatTestUnitReadyCB: yes internal smSatInternalIo_t satIntIoContext\n"));
2005 pSense = satOrgIOContext->
pSense;
2032 SM_DBG1((
"smsatTestUnitReadyCB: agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
2061 ataStatus = statDevToHostFisHeader->
status;
2062 ataError = statDevToHostFisHeader->
error;
2065 SM_DBG1((
"smsatTestUnitReadyCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
2071 SM_DBG1((
"smsatTestUnitReadyCB: FAILED, FAILED, error status!!!\n"));
2093 SM_DBG1((
"smsatTestUnitReadyCB: SAT_GET_MEDIA_STATUS failed!!! \n"));
2127 SM_DBG1((
"smsatTestUnitReadyCB: SAT_CHECK_POWER_MODE failed!!! \n"));
2148 SM_DBG1((
"smsatTestUnitReadyCB: default failed command %d!!!\n", hostToDevFis->
h.
command));
2179 SM_DBG5((
"smsatTestUnitReadyCB: SAT_GET_MEDIA_STATUS success\n"));
2192 if (satNewIntIo ==
agNULL)
2207 SM_DBG1((
"smsatTestUnitReadyCB: momory allocation fails!!!\n"));
2249 SM_DBG1((
"smsatTestUnitReadyCB: calling satTestUnitReady_1 fails!!!\n"));
2255 SM_DBG5((
"smsatTestUnitReadyCB: SAT_CHECK_POWER_MODE success\n"));
2274 SM_DBG1((
"smsatTestUnitReadyCB: default success command %d!!!\n", hostToDevFis->
h.
command));
2337 bit32 ataStatus = 0;
2341 bit32 allocationLen = 0;
2345 SM_DBG2((
"smsatRequestSenseCB: start\n"));
2346 SM_DBG4((
"smsatRequestSenseCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
2353 hostToDevFis = satIOContext->
pFis;
2354 smRoot = oneDeviceData->
smRoot;
2361 SM_DBG4((
"smsatRequestSenseCB: External smSatInternalIo_t satIntIoContext\n"));
2362 satOrgIOContext = satIOContext;
2374 pSense = satOrgIOContext->
pSense;
2378 SM_DBG4((
"smsatRequestSenseCB: Internal smSatInternalIo_t satIntIoContext\n"));
2380 if (satOrgIOContext ==
agNULL)
2382 SM_DBG4((
"smsatRequestSenseCB: satOrgIOContext is NULL, wrong\n"));
2387 SM_DBG4((
"smsatRequestSenseCB: satOrgIOContext is NOT NULL\n"));
2402 pSense = satOrgIOContext->
pSense;
2408 SM_DBG4((
"smsatRequestSenseCB: fis command 0x%x\n", hostToDevFis->
h.
command));
2410 allocationLen = scsiCmnd->
cdb[4];
2412 SM_DBG1((
"smsatRequestSenseCB: allocationLen in CDB %d 0x%x!!!\n", allocationLen,allocationLen));
2416 SM_DBG1((
"smsatRequestSenseCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
2442 ataStatus = statDevToHostFisHeader->
status;
2449 SM_DBG1((
"smsatRequestSenseCB: FAILED, Wrong FIS type 0x%x and SAT_SMART_RETURN_STATU!!!\n", statDevToHostFisHeader->
fisType));
2453 SM_DBG1((
"smsatRequestSenseCB: FAILED, Wrong FIS type 0x%x and SAT_CHECK_POWER_MODE!!!\n",statDevToHostFisHeader->
fisType));
2464 SM_DBG1((
"smsatRequestSenseCB: FAILED, error status and SAT_SMART_RETURN_STATU!!!\n"));
2468 SM_DBG1((
"smsatRequestSenseCB: FAILED, error status and SAT_CHECK_POWER_MODE!!!\n"));
2562 SM_DBG4((
"smsatRequestSenseCB: SAT_SMART_RETURN_STATUS case\n"));
2563 if (statDevToHostFisData.
lbaMid == 0xF4 || statDevToHostFisData.
lbaHigh == 0x2C)
2566 SM_DBG1((
"smsatRequestSenseCB: threshold exceeds!!!\n"));
2632 if (satNewIntIo ==
agNULL)
2662 SM_DBG1((
"smsatRequestSenseCB: momory allocation fails!!!\n"));
2721 SM_DBG1((
"smsatRequestSenseCB: calling satRequestSense_1 fails!!!\n"));
2727 SM_DBG4((
"smsatRequestSenseCB: SAT_CHECK_POWER_MODE case\n"));
2733 SM_DBG1((
"smsatRequestSenseCB: in standby!!!\n"));
2782 SM_DBG1((
"smsatRequestSenseCB: in format!!!\n"));
2824 SM_DBG4((
"smsatRequestSenseCB: returning good status for requestsense\n"));
2828 SM_DBG6((
"smsatRequestSenseCB reporting underrun lenNeeded=0x%x lenReceived=0x%x smIORequest=%p\n",
2850 SM_DBG1((
"smsatRequestSenseCB: success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
2917 bit32 ataStatus = 0;
2922 SM_DBG2((
"smsatSendDiagnosticCB: start\n"));
2923 SM_DBG5((
"smsatSendDiagnosticCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
2930 hostToDevFis = satIOContext->
pFis;
2931 smRoot = oneDeviceData->
smRoot;
2937 SM_DBG4((
"smsatSendDiagnosticCB: External smSatInternalIo_t satIntIoContext\n"));
2938 satOrgIOContext = satIOContext;
2940 pSense = satOrgIOContext->
pSense;
2945 SM_DBG4((
"smsatSendDiagnosticCB: Internal smSatInternalIo_t satIntIoContext\n"));
2947 if (satOrgIOContext ==
agNULL)
2949 SM_DBG4((
"smsatSendDiagnosticCB: satOrgIOContext is NULL, wrong\n"));
2954 SM_DBG4((
"smsatSendDiagnosticCB: satOrgIOContext is NOT NULL\n"));
2958 pSense = satOrgIOContext->
pSense;
2967 SM_DBG1((
"smsatSendDiagnosticCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
2971 if (hostToDevFis->
d.
lbaLow != 0x01 && hostToDevFis->
d.
lbaLow != 0x02)
2996 ataStatus = statDevToHostFisHeader->
status;
2999 SM_DBG5((
"smsatSendDiagnosticCB: fis command 0x%x\n", hostToDevFis->
h.
command));
3019 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, NOT IO_SUCCESS and SAT_READ_VERIFY_SECTORS(_EXT)!!!\n"));
3023 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, NOT IO_SUCCESS and SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE!!!\n"));
3032 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, Wrong FIS type 0x%x and SAT_READ_VERIFY_SECTORS(_EXT)!!!\n", statDevToHostFisHeader->
fisType));
3036 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, Wrong FIS type 0x%x and SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE!!!\n",statDevToHostFisHeader->
fisType));
3047 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, error status and SAT_READ_VERIFY_SECTORS(_EXT)!!!\n"));
3051 SM_DBG1((
"smsatSendDiagnosticCB: FAILED, error status and SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE!!!\n"));
3106 if (hostToDevFis->
d.
lbaLow != 0x01 && hostToDevFis->
d.
lbaLow != 0x02)
3132 SM_DBG5((
"smsatSendDiagnosticCB: SAT_READ_VERIFY_SECTORS(_EXT) case\n"));
3150 SM_DBG5((
"smsatSendDiagnosticCB: return GOOD status\n"));
3167 if (satNewIntIo ==
agNULL)
3186 SM_DBG1((
"smsatSendDiagnosticCB: momory allocation fails!!!\n"));
3244 SM_DBG1((
"smsatSendDiagnosticCB: calling satSendDiagnostic_1 or _2 fails!!!\n"));
3253 SM_DBG5((
"smsatSendDiagnosticCB: SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE case\n"));
3257 if (hostToDevFis->
d.
lbaLow == 0x01 || hostToDevFis->
d.
lbaLow == 0x02)
3266 SM_DBG5((
"smsatSendDiagnosticCB: returning but no IOCompleted\n"));
3270 SM_DBG5((
"smsatSendDiagnosticCB: returning good status for senddiagnostic\n"));
3289 SM_DBG1((
"smsatSendDiagnosticCB: success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
3353 bit32 ataStatus = 0;
3357 SM_DBG2((
"smsatStartStopUnitCB: start\n"));
3358 SM_DBG5((
"smsatStartStopUnitCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
3365 hostToDevFis = satIOContext->
pFis;
3366 smRoot = oneDeviceData->
smRoot;
3371 SM_DBG4((
"smsatStartStopUnitCB: External smSatInternalIo_t satIntIoContext\n"));
3372 satOrgIOContext = satIOContext;
3374 pSense = satIOContext->
pSense;
3379 SM_DBG4((
"smsatStartStopUnitCB: Internal smSatInternalIo_t satIntIoContext\n"));
3381 if (satOrgIOContext ==
agNULL)
3383 SM_DBG4((
"smsatStartStopUnitCB: satOrgIOContext is NULL, wrong\n"));
3388 SM_DBG4((
"smsatStartStopUnitCB: satOrgIOContext is NOT NULL\n"));
3393 pSense = satOrgIOContext->
pSense;
3402 SM_DBG1((
"smsatStartStopUnitCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
3407 SM_DBG1((
"smsatStartStopUnitCB: immed bit 0!!!\n"));
3430 SM_DBG1((
"smsatStartStopUnitCB: immed bit 1!!!\n"));
3460 ataStatus = statDevToHostFisHeader->
status;
3474 SM_DBG1((
"smsatStartStopUnitCB: FAILED, NOT IO_SUCCESS!!!\n"));
3478 SM_DBG1((
"smsatStartStopUnitCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
3484 SM_DBG1((
"smsatStartStopUnitCB: FAILED, FAILED, error status!!!\n"));
3509 SM_DBG1((
"smsatStartStopUnitCB: SAT_FLUSH_CACHE(_EXT)!!!\n"));
3559 SM_DBG5((
"smsatStartStopUnitCB: SAT_STANDBY\n"));
3610 SM_DBG5((
"smsatStartStopUnitCB: SAT_READ_VERIFY_SECTORS(_EXT)\n"));
3659 SM_DBG5((
"smsatStartStopUnitCB: SAT_MEDIA_EJECT\n"));
3708 SM_DBG5((
"smsatStartStopUnitCB: default command %d\n", hostToDevFis->
h.
command));
3740 SM_DBG5((
"smsatStartStopUnitCB: SAT_READ_VERIFY_SECTORS(_EXT) success case\n"));
3758 if (satNewIntIo ==
agNULL)
3784 SM_DBG1((
"smsatStartStopUnitCB: momory allocation fails!!!\n"));
3838 SM_DBG1((
"smsatStartStopUnitCB: calling satStartStopUnit_1 fails!!!\n"));
3843 SM_DBG5((
"smsatStartStopUnitCB: SAT_STANDBY success case\n"));
3868 SM_DBG5((
"smsatStartStopUnitCB: SAT_READ_VERIFY_SECTORS(_EXT) success case\n"));
3897 SM_DBG5((
"smsatStartStopUnitCB: SAT_MEDIA_EJECT success case\n"));
3919 SM_DBG1((
"smsatStartStopUnitCB:success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
3973 bit32 ataStatus = 0;
3975 bit32 sectorcount = 0;
3976 bit32 lba = 0, tl = 0;
3980 SM_DBG2((
"smsatWriteSame10CB: start\n"));
3981 SM_DBG5((
"smsatWriteSame10CB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
3988 hostToDevFis = satIOContext->
pFis;
3989 smRoot = oneDeviceData->
smRoot;
3995 SM_DBG4((
"smsatWriteSame10CB: External smSatInternalIo_t satIntIoContext\n"));
3996 satOrgIOContext = satIOContext;
3998 pSense = satIOContext->
pSense;
4003 SM_DBG4((
"smsatWriteSame10CB: Internal smSatInternalIo_t satIntIoContext\n"));
4005 if (satOrgIOContext ==
agNULL)
4007 SM_DBG4((
"smsatWriteSame10CB: satOrgIOContext is NULL, wrong\n"));
4012 SM_DBG4((
"smsatWriteSame10CB: satOrgIOContext is NOT NULL\n"));
4017 pSense = satOrgIOContext->
pSense;
4027 SM_DBG1((
"smsatWriteSame10CB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
4054 ataStatus = statDevToHostFisHeader->
status;
4064 ataStatus = (statSetDevBitFisHeader->
statusHi_Lo & 0x70);
4065 ataStatus = ataStatus | (statSetDevBitFisHeader->
statusHi_Lo & 0x07);
4083 SM_DBG1((
"smsatWriteSame10CB: FAILED, NOT IO_SUCCESS!!!\n"));
4087 SM_DBG1((
"smsatWriteSame10CB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
4091 SM_DBG1((
"smsatWriteSame10CB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
4097 SM_DBG1((
"smsatWriteSame10CB: FAILED, FAILED, error status!!!\n"));
4121 SM_DBG1((
"smsatWriteSame10CB: SAT_WRITE_DMA_EXT!!!\n"));
4124 SM_DBG1((
"smsatWriteSame10CB: SAT_WRITE_SECTORS_EXT!!!\n"));
4127 SM_DBG1((
"smsatWriteSame10CB: SAT_WRITE_FPDMA_QUEUED!!!\n"));
4130 SM_DBG1((
"smsatWriteSame10CB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
4164 SM_DBG5((
"smsatWriteSame10CB: SAT_WRITE_DMA_EXT success\n"));
4168 SM_DBG5((
"smsatWriteSame10CB: SAT_WRITE_SECTORS_EXT success\n"));
4172 SM_DBG5((
"smsatWriteSame10CB: SAT_WRITE_FPDMA_QUEUED success\n"));
4176 SM_DBG1((
"smsatWriteSame10CB: error case command 0x%x success!!!\n", hostToDevFis->
h.
command));
4218 lba = (scsiCmnd->
cdb[2] << (8*3)) + (scsiCmnd->
cdb[3] << (8*2))
4219 + (scsiCmnd->
cdb[4] << 8) + scsiCmnd->
cdb[5];
4220 tl = (scsiCmnd->
cdb[7] << 8) + scsiCmnd->
cdb[8];
4222 SM_DBG5((
"smsatWriteSame10CB: lba 0x%x tl 0x%x\n", lba, tl));
4227 sectorcount = (0x0FFFFFFF - 1) - lba;
4234 if (sectorcount <= 0)
4248 SM_DBG1((
"smsatWriteSame10CB: incorrect sectorcount 0x%x!!!\n", sectorcount));
4257 SM_DBG1((
"smsatWriteSame10CB: return writesame done!!!\n"));
4272 SM_DBG1((
"smsatWriteSame10CB: sends another SAT_WRITE_DMA_EXT!!!\n"));
4276 SM_DBG1((
"smsatWriteSame10CB: sends another SAT_WRITE_SECTORS_EXT!!!\n"));
4280 SM_DBG1((
"smsatWriteSame10CB: sends another SAT_WRITE_FPDMA_QUEUED!!!\n"));
4288 if (satNewIntIo ==
agNULL)
4302 SM_DBG1((
"smsatWriteSame10CB: momory allocation fails!!!\n"));
4358 SM_DBG1((
"smsatWriteSame10CB: sucess but error in command 0x%x!!!\n", hostToDevFis->
h.
command));
4379 SM_DBG1((
"smsatWriteSame10CB:calling satWriteSame10_1 fails!!!\n"));
4415 bit32 ataStatus = 0;
4422 bit8 SelfTestExecutionStatus = 0;
4428 bit32 allocationLen = 0;
4430 SM_DBG2((
"smsatLogSenseCB: start\n"));
4431 SM_DBG5((
"smsatLogSenseCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
4436 if (satIOContext ==
agNULL)
4438 SM_DBG1((
"smsatLogSenseCB: satIOContext is NULL\n"));
4443 hostToDevFis = satIOContext->
pFis;
4444 smRoot = oneDeviceData->
smRoot;
4450 SM_DBG4((
"smsatLogSenseCB: External smSatInternalIo_t satIntIoContext\n"));
4451 satOrgIOContext = satIOContext;
4453 pSense = satOrgIOContext->
pSense;
4454 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
4463 SM_DBG4((
"smsatLogSenseCB: Internal smSatInternalIo_t satIntIoContext\n"));
4468 pSense = satOrgIOContext->
pSense;
4469 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
4482 SM_DBG1((
"smsatLogSenseCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
4507 ataStatus = statDevToHostFisHeader->
status;
4520 SM_DBG1((
"smsatLogSenseCB: FAILED, NOT IO_SUCCESS!!!\n"));
4524 SM_DBG1((
"smsatLogSenseCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
4528 SM_DBG1((
"smsatLogSenseCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
4534 SM_DBG1((
"smsatLogSenseCB: FAILED, FAILED, error status!!!\n"));
4556 SM_DBG1((
"smsatLogSenseCB: SAT_READ_LOG_EXT failed!!!\n"));
4562 SM_DBG1((
"smsatLogSenseCB: SAT_SMART_READ_LOG failed!!!\n"));
4566 SM_DBG1((
"smsatLogSenseCB: SAT_SMART_RETURN_STATUS failed!!!\n"));
4570 SM_DBG1((
"smsatLogSenseCB: error unknown command 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
4575 SM_DBG1((
"smsatLogSenseCB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
4604 allocationLen = (scsiCmnd->
cdb[7] << 8) + scsiCmnd->
cdb[8];
4606 SM_DBG5((
"smsatLogSenseCB: allocationLen in CDB %d 0x%x\n", allocationLen,allocationLen));
4611 SM_DBG5((
"smsatLogSenseCB: SAT_READ_LOG_EXT success\n"));
4621 SelfTestExecutionStatus = (
bit8)(((virtAddr1->
byte[5] & 0xF0) >> 4));
4635 LogPage[8] = (
bit8)(0 | ((virtAddr1->
byte[5] & 0xF0) >> 4));
4637 LogPage[10] = virtAddr1->
byte[7];
4638 LogPage[11] = virtAddr1->
byte[6];
4642 LogPage[14] = virtAddr1->
byte[14];
4643 LogPage[15] = virtAddr1->
byte[13];
4644 LogPage[16] = virtAddr1->
byte[12];
4645 LogPage[17] = virtAddr1->
byte[11];
4646 LogPage[18] = virtAddr1->
byte[10];
4647 LogPage[19] = virtAddr1->
byte[9];
4650 switch (SelfTestExecutionStatus)
4713 SM_DBG1((
"smsatLogSenseCB: Error, incorrect SelfTestExecutionStatus 0x%x!!!\n", SelfTestExecutionStatus));
4741 for (i=24;i<=403;i++)
4782 SM_DBG5((
"smsatLogSenseCB: SAT_SMART_READ_LOG success\n"));
4791 SelfTestExecutionStatus = (
bit8)(((virtAddr2->
byte[3] & 0xF0) >> 4));
4805 LogPage[8] = (
bit8)(0 | ((virtAddr2->
byte[3] & 0xF0) >> 4));
4807 LogPage[10] = virtAddr2->
byte[5];
4808 LogPage[11] = virtAddr2->
byte[4];
4814 LogPage[16] = virtAddr2->
byte[10];
4815 LogPage[17] = virtAddr2->
byte[9];
4816 LogPage[18] = virtAddr2->
byte[8];
4817 LogPage[19] = virtAddr2->
byte[7];
4820 switch (SelfTestExecutionStatus)
4884 SM_DBG1((
"smsatLogSenseCB: Error, incorrect SelfTestExecutionStatus 0x%x!!!\n", SelfTestExecutionStatus));
4912 for (i=24;i<=403;i++)
4950 SM_DBG5((
"smsatLogSenseCB: SAT_SMART_RETURN_STATUS success\n"));
4969 if (statDevToHostFisData.
lbaMid == 0x4F || statDevToHostFisData.
lbaHigh == 0xC2)
4974 else if (statDevToHostFisData.
lbaMid == 0xF4 || statDevToHostFisData.
lbaHigh == 0x2C)
5018 SM_DBG1((
"smsatLogSenseCB: error unknown command success 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
5042 SM_DBG1((
"smsatLogSenseCB: error unknown command success 0x%x!!!\n", hostToDevFis->
h.
command));
5099 SM_DBG2((
"smsatSMARTEnableCB: start\n"));
5100 SM_DBG4((
"smsatSMARTEnableCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
5107 smRoot = oneDeviceData->
smRoot;
5113 SM_DBG4((
"smsatSMARTEnableCB: External smSatInternalIo_t satIntIoContext\n"));
5114 satOrgIOContext = satIOContext;
5120 SM_DBG4((
"smsatSMARTEnableCB: Internal smSatInternalIo_t satIntIoContext\n"));
5122 if (satOrgIOContext ==
agNULL)
5124 SM_DBG4((
"smsatSMARTEnableCB: satOrgIOContext is NULL, wrong\n"));
5129 SM_DBG4((
"smsatSMARTEnableCB: satOrgIOContext is NOT NULL\n"));
5140 SM_DBG1((
"smsatSMARTEnableCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
5160 SM_DBG1((
"smsatSMARTEnableCB: not success status, status %d!!!\n", agIOStatus));
5185 if (satNewIntIo ==
agNULL)
5257 bit32 ataStatus = 0;
5262 SM_DBG2((
"smsatModeSelect6n10CB: start\n"));
5263 SM_DBG5((
"smsatModeSelect6n10CB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
5270 hostToDevFis = satIOContext->
pFis;
5271 smRoot = oneDeviceData->
smRoot;
5277 SM_DBG4((
"smsatModeSelect6n10CB: External smSatInternalIo_t satIntIoContext\n"));
5278 satOrgIOContext = satIOContext;
5281 pSense = satOrgIOContext->
pSense;
5286 SM_DBG4((
"smsatModeSelect6n10CB: Internal smSatInternalIo_t satIntIoContext\n"));
5288 if (satOrgIOContext ==
agNULL)
5290 SM_DBG4((
"smsatModeSelect6n10CB: satOrgIOContext is NULL, wrong\n"));
5295 SM_DBG4((
"smsatModeSelect6n10CB: satOrgIOContext is NOT NULL\n"));
5301 pSense = satOrgIOContext->
pSense;
5310 SM_DBG1((
"smsatModeSelect6n10CB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
5331 ataStatus = statDevToHostFisHeader->
status;
5343 SM_DBG1((
"smsatModeSelect6n10CB: FAILED, NOT IO_SUCCESS!!!\n"));
5347 SM_DBG1((
"smsatModeSelect6n10CB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
5353 SM_DBG1((
"smsatModeSelect6n10CB: FAILED, FAILED, error status!!!\n"));
5377 SM_DBG1((
"smsatModeSelect6n10CB: 1 SAT_SET_FEATURES failed, feature 0x%x!!!\n", hostToDevFis->
h.
features));
5381 SM_DBG1((
"smsatModeSelect6n10CB: 2 SAT_SET_FEATURES failed, feature 0x%x!!!\n", hostToDevFis->
h.
features));
5385 SM_DBG1((
"smsatModeSelect6n10CB: error unknown command 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
5392 SM_DBG1((
"smsatModeSelect6n10CB: SAT_SMART_ENABLE/DISABLE_OPERATIONS failed, feature 0x%x!!!\n", hostToDevFis->
h.
features));
5396 SM_DBG1((
"smsatModeSelect6n10CB: error unknown command 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
5401 SM_DBG1((
"smsatModeSelect6n10CB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
5436 SM_DBG5((
"smsatModeSelect6n10CB: 1 SAT_SET_FEATURES success, feature 0x%x\n", hostToDevFis->
h.
features));
5459 if (satNewIntIo ==
agNULL)
5473 SM_DBG1((
"smsatModeSelect6n10CB: momory allocation fails!!!\n"));
5510 SM_DBG1((
"smsatModeSelect6n10CB: calling satModeSelect6_1 fails!!!\n"));
5517 SM_DBG5((
"smsatModeSelect6n10CB: 2 SAT_SET_FEATURES success, feature 0x%x\n", hostToDevFis->
h.
features));
5536 SM_DBG1((
"smsatModeSelect6n10CB: error unknown command success 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
5562 SM_DBG5((
"smsatModeSelect6n10CB: SAT_SMART_ENABLE/DISABLE_OPERATIONS success, feature 0x%x\n", hostToDevFis->
h.
features));
5580 SM_DBG1((
"smsatModeSelect6n10CB: error unknown command failed 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
5605 SM_DBG1((
"smsatModeSelect6n10CB: error default case command success 0x%x!!!\n", hostToDevFis->
h.
command));
5665 bit32 ataStatus = 0;
5668 SM_DBG2((
"smsatSynchronizeCache10n16CB: start\n"));
5669 SM_DBG5((
"smsatSynchronizeCache10n16CB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
5676 hostToDevFis = satIOContext->
pFis;
5677 smRoot = oneDeviceData->
smRoot;
5684 SM_DBG4((
"smsatSynchronizeCache10n16CB: External smSatInternalIo_t satIntIoContext\n"));
5685 satOrgIOContext = satIOContext;
5687 pSense = satIOContext->
pSense;
5692 SM_DBG4((
"smsatSynchronizeCache10n16CB: Internal smSatInternalIo_t satIntIoContext\n"));
5694 if (satOrgIOContext ==
agNULL)
5696 SM_DBG4((
"smsatSynchronizeCache10n16CB: satOrgIOContext is NULL, wrong\n"));
5701 SM_DBG4((
"smsatSynchronizeCache10n16CB: satOrgIOContext is NOT NULL\n"));
5706 pSense = satOrgIOContext->
pSense;
5715 SM_DBG1((
"smsatSynchronizeCache10n16CB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
5737 ataStatus = statDevToHostFisHeader->
status;
5749 SM_DBG1((
"smsatSynchronizeCache10n16CB: FAILED, NOT IO_SUCCESS!!!\n"));
5753 SM_DBG1((
"smsatSynchronizeCache10n16CB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
5759 SM_DBG1((
"smsatSynchronizeCache10n16CB: FAILED, FAILED, error status!!!\n"));
5782 SM_DBG1((
"smsatSynchronizeCache10n16CB: SAT_FLUSH_CACHE failed!!!\n"));
5817 SM_DBG1((
"smsatSynchronizeCache10n16CB: SAT_FLUSH_CACHE_EXT failed!!!\n"));
5852 SM_DBG1((
"smsatSynchronizeCache10n16CB: error unknown command 0x%x!!!\n", hostToDevFis->
h.
command));
5891 SM_DBG5((
"smsatSynchronizeCache10n16CB: SAT_FLUSH_CACHE success\n"));
5908 SM_DBG5((
"smsatSynchronizeCache10n16CB: SAT_FLUSH_CACHE_EXT success\n"));
5924 SM_DBG5((
"smsatSynchronizeCache10n16CB: error unknown command 0x%x\n", hostToDevFis->
h.
command));
5988 bit32 ataStatus = 0;
5999 hostToDevFis = satIOContext->
pFis;
6000 smRoot = oneDeviceData->
smRoot;
6007 SM_DBG2((
"smsatNonChainedWriteNVerifyCB: start\n"));
6008 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: start agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
6013 SM_DBG4((
"smsatNonChainedWriteNVerifyCB: External smSatInternalIo_t satIntIoContext\n"));
6014 satOrgIOContext = satIOContext;
6016 pSense = satOrgIOContext->
pSense;
6021 SM_DBG4((
"smsatNonChainedWriteNVerifyCB: Internal smSatInternalIo_t satIntIoContext\n"));
6023 if (satOrgIOContext ==
agNULL)
6025 SM_DBG4((
"smsatNonChainedWriteNVerifyCB: satOrgIOContext is NULL, wrong\n"));
6030 SM_DBG4((
"smsatNonChainedWriteNVerifyCB: satOrgIOContext is NOT NULL\n"));
6035 pSense = satOrgIOContext->
pSense;
6045 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
6069 ataStatus = statDevToHostFisHeader->
status;
6079 ataStatus = (statSetDevBitFisHeader->
statusHi_Lo & 0x70);
6080 ataStatus = ataStatus | (statSetDevBitFisHeader->
statusHi_Lo & 0x07);
6100 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: FAILED, NOT IO_SUCCESS!!!\n"));
6104 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
6108 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
6114 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: FAILED, FAILED, error status!!!\n"));
6138 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_DMA_FUA_EXT!!!\n"));
6141 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_DMA_EXT!!!\n"));
6144 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_SECTORS_EXT!!!\n"));
6147 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_FPDMA_QUEUED!!!\n"));
6150 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_READ_VERIFY_SECTORS!!!\n"));
6153 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: SAT_READ_VERIFY_SECTORS_EXT!!!\n"));
6156 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
6187 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_DMA_FUA_EXT success\n"));
6190 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_DMA_EXT success\n"));
6193 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_SECTORS_EXT succes\n"));
6197 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_WRITE_FPDMA_QUEUED succes\n"));
6200 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_READ_VERIFY_SECTORS succes\n"));
6218 SM_DBG5((
"smsatNonChainedWriteNVerifyCB: SAT_READ_VERIFY_SECTORS_EXT succes\n"));
6236 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: error default case command 0x%x success!!!\n", hostToDevFis->
h.
command));
6272 if (satNewIntIo ==
agNULL)
6286 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: momory allocation fails!!!\n"));
6324 SM_DBG1((
"smsatNonChainedWriteNVerifyCB: calling satWriteAndVerify10_1 fails!!!\n"));
6369 bit32 ataStatus = 0;
6378 hostToDevFis = satIOContext->
pFis;
6379 smRoot = oneDeviceData->
smRoot;
6382 SM_DBG2((
"smsatChainedWriteNVerifyCB: start\n"));
6383 SM_DBG6((
"smsatChainedWriteNVerifyCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n",
6384 agIORequest, agIOStatus, agIOInfoLen));
6388 SM_DBG5((
"smsatChainedWriteNVerifyCB: External smSatInternalIo_t satIntIoContext\n"));
6389 satOrgIOContext = satIOContext;
6391 pSense = satIOContext->
pSense;
6396 SM_DBG5((
"smsatChainedWriteNVerifyCB: Internal smSatInternalIo_t satIntIoContext\n"));
6398 if (satOrgIOContext ==
agNULL)
6400 SM_DBG5((
"smsatChainedWriteNVerifyCB: satOrgIOContext is NULL, wrong\n"));
6405 SM_DBG5((
"smsatChainedWriteNVerifyCB: satOrgIOContext is NOT NULL\n"));
6410 pSense = satOrgIOContext->
pSense;
6419 SM_DBG1((
"smsatChainedWriteNVerifyCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
6452 ataStatus = statDevToHostFisHeader->
status;
6459 SM_DBG1((
"smsatChainedWriteNVerifyCB: FAILED, Wrong FIS type 0x%x!!!\n", statDevToHostFisHeader->
fisType));
6467 SM_DBG1((
"smsatChainedWriteNVerifyCB: FAILED, error status and command 0x%x!!!\n", hostToDevFis->
h.
command));
6496 SM_DBG5((
"smsatChainedWriteNVerifyCB: WRITE success case\n"));
6526 if (satNewIntIo ==
agNULL)
6535 SM_DBG1((
"smsatChainedWriteNVerifyCB: momory allocation fails!!!\n"));
6551 if (satOrgIOContext->
LoopNum == 0)
6584 SM_DBG1((
"smsatChainedWriteNVerifyCB: calling satChainedWriteNVerify_Write fails!!!\n"));
6605 if (satOrgIOContext->
LoopNum == 0)
6633 if (satNewIntIo ==
agNULL)
6642 SM_DBG1((
"smsatChainedWriteNVerifyCB: momory allocation fails!!!\n"));
6674 SM_DBG1((
"smsatChainedWriteNVerifyCB: calling satChainedWriteNVerify_Verify fails!!!\n"));
6681 SM_DBG1((
"smsatChainedWriteNVerifyCB: success but default case command 0x%x!!!\n",hostToDevFis->
h.
command));
6733 bit8 *pMediaSerialNumber;
6736 bit32 allocationLen = 0;
6738 SM_DBG2((
"smsatReadMediaSerialNumberCB: start\n"));
6739 SM_DBG4((
"smsatReadMediaSerialNumberCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
6746 hostToDevFis = satIOContext->
pFis;
6747 smRoot = oneDeviceData->
smRoot;
6753 SM_DBG4((
"smsatReadMediaSerialNumberCB: External smSatInternalIo_t satIntIoContext\n"));
6754 satOrgIOContext = satIOContext;
6756 pSense = satOrgIOContext->
pSense;
6757 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
6765 SM_DBG4((
"smsatReadMediaSerialNumberCB: Internal smSatInternalIo_t satIntIoContext\n"));
6767 if (satOrgIOContext ==
agNULL)
6769 SM_DBG4((
"smsatReadMediaSerialNumberCB: satOrgIOContext is NULL, wrong\n"));
6774 SM_DBG4((
"smsatReadMediaSerialNumberCB: satOrgIOContext is NOT NULL\n"));
6779 pSense = satOrgIOContext->
pSense;
6780 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
6791 SM_DBG1((
"smsatReadMediaSerialNumberCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
6847 allocationLen = (scsiCmnd->
cdb[6] << (8*3)) + (scsiCmnd->
cdb[7] << (8*2))
6848 + (scsiCmnd->
cdb[8] << 8) + scsiCmnd->
cdb[9];
6850 SM_DBG5((
"smsatReadMediaSerialNumberCB: allocationLen in CDB %d 0x%x\n", allocationLen,allocationLen));
6856 MediaSerialNumber[0] = 0;
6857 MediaSerialNumber[1] = 0;
6858 MediaSerialNumber[2] = 0;
6859 MediaSerialNumber[3] = 4;
6860 MediaSerialNumber[4] = 0;
6861 MediaSerialNumber[5] = 0;
6862 MediaSerialNumber[6] = 0;
6863 MediaSerialNumber[7] = 0;
6897 SM_DBG1((
"smsatReadMediaSerialNumberCB: error unknown command success 0x%x!!!\n", hostToDevFis->
h.
command));
6947 SM_DBG2((
"smsatReadBufferCB: start\n"));
6948 SM_DBG4((
"smsatReadBufferCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
6954 hostToDevFis = satIOContext->
pFis;
6955 smRoot = oneDeviceData->
smRoot;
6960 SM_DBG4((
"smsatReadBufferCB: External smSatInternalIo_t satIntIoContext\n"));
6961 satOrgIOContext = satIOContext;
6963 pSense = satOrgIOContext->
pSense;
6967 SM_DBG4((
"smsatReadBufferCB: Internal smSatInternalIo_t satIntIoContext\n"));
6969 if (satOrgIOContext ==
agNULL)
6971 SM_DBG4((
"smsatReadBufferCB: satOrgIOContext is NULL, wrong\n"));
6976 SM_DBG4((
"smsatReadBufferCB: satOrgIOContext is NOT NULL\n"));
6980 pSense = satOrgIOContext->
pSense;
6986 SM_DBG1((
"smsatReadBufferCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
7060 SM_DBG1((
"smsatReadBufferCB: error unknown command success 0x%x!!!\n", hostToDevFis->
h.
command));
7111 SM_DBG2((
"smsatWriteBufferCB: start\n"));
7112 SM_DBG4((
"smsatWriteBufferCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
7118 hostToDevFis = satIOContext->
pFis;
7119 smRoot = oneDeviceData->
smRoot;
7124 SM_DBG4((
"smsatWriteBufferCB: External smSatInternalIo_t satIntIoContext\n"));
7125 satOrgIOContext = satIOContext;
7127 pSense = satOrgIOContext->
pSense;
7133 SM_DBG4((
"smsatWriteBufferCB: Internal smSatInternalIo_t satIntIoContext\n"));
7135 if (satOrgIOContext ==
agNULL)
7137 SM_DBG4((
"smsatWriteBufferCB: satOrgIOContext is NULL, wrong\n"));
7142 SM_DBG4((
"smsatWriteBufferCB: satOrgIOContext is NOT NULL\n"));
7146 pSense = satOrgIOContext->
pSense;
7152 SM_DBG1((
"smsatWriteBufferCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
7220 SM_DBG1((
"smsatWriteBufferCB: error unknown command success 0x%x!!!\n", hostToDevFis->
h.
command));
7267 bit32 ataStatus = 0;
7272 SM_DBG2((
"smsatReassignBlocksCB: start\n"));
7273 SM_DBG5((
"smsatReassignBlocksCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
7280 hostToDevFis = satIOContext->
pFis;
7281 smRoot = oneDeviceData->
smRoot;
7286 SM_DBG4((
"smsatReassignBlocksCB: External smSatInternalIo_t satIntIoContext\n"));
7287 satOrgIOContext = satIOContext;
7290 pSense = satOrgIOContext->
pSense;
7295 SM_DBG4((
"smsatReassignBlocksCB: Internal smSatInternalIo_t satIntIoContext\n"));
7297 if (satOrgIOContext ==
agNULL)
7299 SM_DBG4((
"smsatReassignBlocksCB: satOrgIOContext is NULL, Wrong\n"));
7304 SM_DBG4((
"smsatReassignBlocksCB: satOrgIOContext is NOT NULL, Wrong\n"));
7309 pSense = satOrgIOContext->
pSense;
7318 SM_DBG1((
"smsatReassignBlocksCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
7338 ataStatus = statDevToHostFisHeader->
status;
7349 SM_DBG1((
"smsatReassignBlocksCB FAILED, NOT IO_SUCCESS!!!\n"));
7353 SM_DBG1((
"smsatReassignBlocksCB FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
7359 SM_DBG1((
"smsatReassignBlocksCB FAILED, FAILED, error status!!!\n"));
7381 SM_DBG1((
"smsatReassignBlocksCB SAT_READ_VERIFY_SECTORS(_EXT) failed!!!\n"));
7394 if (satNewIntIo ==
agNULL)
7407 SM_DBG1((
"smsatReassignBlocksCB: momory allocation fails!!!\n"));
7424 satOrgIOContext->
LBA
7445 SM_DBG1((
"smsatReassignBlocksCB calling fail 1!!!\n"));
7458 SM_DBG1((
"smsatReassignBlocksCB SAT_WRITE failed!!!\n"));
7463 SM_DBG1((
"smsatReassignBlocksCB error default case unexpected command 0x%x!!!\n", hostToDevFis->
h.
command));
7510 SM_DBG5((
"smsatReassignBlocksCB: GOOD status\n"));
7522 SM_DBG5((
"smsatReassignBlocksCB: processing next LBA\n"));
7528 if (satNewIntIo ==
agNULL)
7542 SM_DBG1((
"smsatReassignBlocksCB: momory allocation fails!!!\n"));
7582 SM_DBG1((
"smsatReassignBlocksCB calling satModeSelect6_1 fails!!!\n"));
7600 SM_DBG1((
"smsatReassignBlocksCB error unknown command success 0x%x !!!\n", hostToDevFis->
h.
command));
7632#ifdef CCFLAG_OPTIMIZE_SAT_LOCK
7633 bit32 volatile satPendingNCQIO = 0;
7634 bit32 volatile satPendingNONNCQIO = 0;
7635 bit32 volatile satPendingIO = 0;
7640#ifdef TD_DEBUG_ENABLE
7645 SM_DBG3((
"smsatDecrementPendingIO: start\n"));
7647#ifdef CCFLAG_OPTIMIZE_SAT_LOCK
7662 if (satPendingNCQIO == -1)
7664 SM_DBG1((
"smsatDecrementPendingIO: satPendingNCQIO adjustment!!!\n"));
7667 if (satPendingNONNCQIO == -1)
7669 SM_DBG1((
"smsatDecrementPendingIO: satPendingNONNCQIO adjustment!!!\n"));
7672 if (satPendingIO == -1)
7674 SM_DBG1((
"smsatDecrementPendingIO: satPendingIO adjustment!!!\n"));
7690 SM_DBG1((
"smsatDecrementPendingIO: satPendingNCQIO adjustment!!!\n"));
7695 SM_DBG1((
"smsatDecrementPendingIO: satPendingIO adjustment!!!\n"));
7709 SM_DBG1((
"smsatDecrementPendingIO: satPendingNONNCQIO adjustment!!!\n"));
7714 SM_DBG1((
"smsatDecrementPendingIO: satPendingIO adjustment!!!\n"));
7724 SM_DBG3((
"smsatDecrementPendingIO: external command!!!\n"));
7729 SM_DBG3((
"smsatDecrementPendingIO: internal command!!!\n"));
7730 if (satOrgIOContext ==
agNULL)
7733 SM_DBG3((
"smsatDecrementPendingIO: internal only command!!!, ID %d!!!\n", smIORequestBody->
id));
7762 bit32 interruptContext;
7771 if (oneDeviceData ==
agNULL)
7773 SM_DBG1((
"smsatProcessAbnormalCompletion: oneDeviceData is NULL\n"));
7777 smRoot = oneDeviceData->
smRoot;
7780 SM_DBG5((
"smsatProcessAbnormalCompletion: start\n"));
7786 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_SUCCESS agIOInfoLen 0x%x calling smsatIOCompleted!!!\n", agIOInfoLen));
7803 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_ABORTED!!!\n"));
7815 SM_DBG1((
"smsatProcessAbnormalCompletion: TM callback!!!\n"));
7816 if (smDeviceHandle ==
agNULL)
7818 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
7840 SM_DBG1((
"smsatProcessAbnormalCompletion: STATE NORMAL!!!\n"));
7843 SM_DBG1((
"smsatProcessAbnormalCompletion: did %d satDriveState %d!!!\n", oneDeviceData->
id, oneDeviceData->
satDriveState));
7850 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_OVERFLOW!!!\n"));
7860 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_UNDERFLOW!!!\n"));
7871 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_FAILED!!!\n"));
7881 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_ABORT_RESET!!!\n"));
7895 SM_DBG1((
"smsatProcessAbnormalCompletion: STATE NORMAL!!!\n"));
7898 SM_DBG1((
"smsatProcessAbnormalCompletion: satDriveState %d!!!\n", oneDeviceData->
satDriveState));
7906 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_NOT_VALID!!!\n"));
7917 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_NO_DEVICE!!!\n"));
7928 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_ILLEGAL_PARAMETER!!!\n"));
7938 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_LINK_FAILURE!!!\n"));
7948 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_PROG_ERROR!!!\n"));
7968 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_OPEN_CNX_ERROR_* 0x%x!!!\n", agIOStatus));
7969 if (smDeviceHandle ==
agNULL)
7971 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
7980 if (oneDeviceData ==
agNULL)
7982 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
7986 SM_DBG1((
"smsatProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
7997 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY!!!\n"));
8028 case OSSA_IO_XFER_ERROR_DISRUPTED_PHY_DOWN:
8032 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_ERROR_* 0x%x!!!\n", agIOStatus));
8044 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_ERROR_CMD_ISSUE_* 0x%x!!!\n", agIOStatus));
8053 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_PIO_SETUP_ERROR!!!\n"));
8063 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_DS_IN_ERROR!!!\n"));
8064 if (smDeviceHandle ==
agNULL)
8066 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8075 if (oneDeviceData ==
agNULL)
8077 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8081 SM_DBG1((
"smsatProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8091 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_IO_DS_NON_OPERATIONAL!!!\n"));
8092 if (smDeviceHandle ==
agNULL)
8094 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8103 if (oneDeviceData ==
agNULL)
8105 SM_DBG1((
"smsatProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8109 SM_DBG1((
"smsatProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8127 SM_DBG1((
"smsatProcessAbnormalCompletion: OSSA_IO_DS_IN_RECOVERY or OSSA_IO_PORT_IN_RESET status %x\n", agIOStatus));
8141 SM_DBG1((
"smsatProcessAbnormalCompletion: SSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_XX status %x\n", agIOStatus));
8153 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = OSSA_MPI_%x!!!\n", agIOStatus));
8172 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = ENCRYPTION ERROR 0x%x!!!\n", agIOStatus));
8186 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = DIF ERROR 0x%x!!!\n", agIOStatus));
8198 SM_DBG1((
"smsatProcessAbnormalCompletion: agIOStatus = unknown 0x%x!!!\n", agIOStatus));
8199 if (oneDeviceData !=
agNULL)
8201 SM_DBG1((
"smsatProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8205 SM_DBG1((
"smsatProcessAbnormalCompletion: oneDeviceData is NULL!!!\n"));
8236 bit32 interruptContext;
8245 if (oneDeviceData ==
agNULL)
8247 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: oneDeviceData is NULL\n"));
8251 smRoot = oneDeviceData->
smRoot;
8254 SM_DBG5((
"smsatDelayedProcessAbnormalCompletion: start\n"));
8260 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_SUCCESS calling smsatIOCompleted!!!\n"));
8266 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_ABORTED!!!\n"));
8277 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: TM callback!!!\n"));
8278 if (smDeviceHandle ==
agNULL)
8280 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8304 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: STATE NORMAL.!!!\n"));
8307 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: satDriveState %d!!!\n", oneDeviceData->
satDriveState));
8308 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: satPendingIO %d satNCQMaxIO %d!!!\n", oneDeviceData->
satPendingIO, oneDeviceData->
satNCQMaxIO ));
8314 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_OVERFLOW!!!\n"));
8324 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_UNDERFLOW!!!\n"));
8335 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_FAILED!!!\n"));
8345 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_ABORT_RESET!!!\n"));
8359 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: STATE NORMAL.!!!\n"));
8362 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: satDriveState %d!!!\n", oneDeviceData->
satDriveState));
8363 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: satPendingIO %d satNCQMaxIO %d!!!\n", oneDeviceData->
satPendingIO, oneDeviceData->
satNCQMaxIO ));
8370 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_NOT_VALID!!!\n"));
8381 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_NO_DEVICE!!!\n"));
8392 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_ILLEGAL_PARAMETER!!!\n"));
8402 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_LINK_FAILURE!!!\n"));
8412 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_PROG_ERROR!!!\n"));
8432 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_OPEN_CNX_ERROR_* 0x%x!!!\n", agIOStatus));
8433 if (smDeviceHandle ==
agNULL)
8435 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8444 if (oneDeviceData ==
agNULL)
8446 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8450 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8461 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY!!!\n"));
8493 case OSSA_IO_XFER_ERROR_DISRUPTED_PHY_DOWN:
8497 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_ERROR_* 0x%x!!!\n", agIOStatus));
8510 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_ERROR_CMD_ISSUE_* 0x%x!!!\n", agIOStatus));
8519 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_XFER_PIO_SETUP_ERROR!!!\n"));
8520 if (smDeviceHandle ==
agNULL)
8522 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8524 if (oneDeviceData ==
agNULL)
8526 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8530 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8541 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_DS_IN_ERROR!!!\n"));
8542 if (smDeviceHandle ==
agNULL)
8544 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8553 if (oneDeviceData ==
agNULL)
8555 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8559 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8569 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_IO_DS_NON_OPERATIONAL!!!\n"));
8570 if (smDeviceHandle ==
agNULL)
8572 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, smDeviceHandle is NULL!!!\n"));
8581 if (oneDeviceData ==
agNULL)
8583 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: wrong, oneDeviceData is NULL!!!\n"));
8587 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: did %d!!!\n", oneDeviceData->
id));
8604 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: OSSA_IO_DS_IN_RECOVERY or OSSA_IO_PORT_IN_RESET status %x\n", agIOStatus));
8618 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: SSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_XX status %x\n", agIOStatus));
8627 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: OSSA_IO_DS_INVALID status %x\n", agIOStatus));
8639 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = OSSA_MPI_%x!!!\n", agIOStatus));
8658 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = ENCRYPTION ERROR 0x%x!!!\n", agIOStatus));
8672 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = DIF ERROR 0x%x!!!\n", agIOStatus));
8684 SM_DBG1((
"smsatDelayedProcessAbnormalCompletion: agIOStatus = unknown!!!\n"));
8730#ifdef TD_DEBUG_ENABLE
8732 bit32 ataStatus = 0;
8736 bit16 *tmpptr, tmpptr_tmp;
8738 void *sglVirtualAddr;
8746 SM_DBG1((
"smsatIDStartCB: start\n"));
8752 smRoot = oneDeviceData->
smRoot;
8755 SM_DBG1((
"smsatIDStartCB: did %d\n", oneDeviceData->
id));
8761 SM_DBG1((
"smsatIDStartCB: External, OS generated!!!\n"));
8762 SM_DBG1((
"smsatIDStartCB: Not possible case!!!\n"));
8763 satOrgIOContext = satIOContext;
8775 SM_DBG3((
"smsatIDStartCB: Internal, SM generated\n"));
8777 if (satOrgIOContext ==
agNULL)
8779 SM_DBG5((
"smsatIDStartCB: satOrgIOContext is NULL\n"));
8783 SM_DBG5((
"smsatIDStartCB: satOrgIOContext is NOT NULL\n"));
8785 if (smOrgIORequestBody ==
agNULL)
8787 SM_DBG1((
"smsatIDStartCB: smOrgIORequestBody is NULL!!!\n"));
8807 SM_DBG1((
"smsatIDStartCB: OPEN_RETRY_TIMEOUT or STP_RESOURCES_BUSY or OPEN_RETRY_BACKOFF_THRESHOLD_REACHED or OSSA_IO_DS_NON_OPERATIONAL!!! 0x%x\n", agIOStatus));
8808 SM_DBG1((
"smsatIDStartCB: did %d!!!\n", oneDeviceData->
id));
8815 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody %p smIORequest %p\n", smOrgIORequestBody, smIORequest));
8816 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody->id %d\n", smOrgIORequestBody->
id));
8841 SM_DBG1((
"smsatIDStartCB: agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
8842 SM_DBG1((
"smsatIDStartCB: did %d!!!\n", oneDeviceData->
id));
8843 SM_DBG1((
"smsatIDStartCB: before pending IO %d NCQ pending IO %d NONNCQ pending IO %d\n",
8848 SM_DBG1((
"smsatIDStartCB: after pending IO %d NCQ pending IO %d NONNCQ pending IO %d\n",
8855 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody %p smIORequest %p\n", smOrgIORequestBody, smIORequest));
8856 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody->id %d\n", smOrgIORequestBody->
id));
8884 SM_DBG1((
"smsatIDStartCB: OSSA_IO_OPEN_CNX_ERROR 0x%x!!!\n", agIOStatus));
8885 SM_DBG1((
"smsatIDStartCB: did %d!!!\n", oneDeviceData->
id));
8893 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody %p smIORequest %p\n", smOrgIORequestBody, smIORequest));
8894 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody->id %d\n", smOrgIORequestBody->
id));
8903#ifdef TD_DEBUG_ENABLE
8906 ataStatus = satPIOSetupHeader->
status;
8907 ataError = satPIOSetupHeader->
error;
8909 SM_DBG1((
"smsatIDStartCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
8917 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody %p smIORequest %p\n", smOrgIORequestBody, smIORequest));
8918 SM_DBG2((
"smsatIDStartCB: smOrgIORequestBody->id %d\n", smOrgIORequestBody->
id));
8928 SM_DBG3((
"smsatIDStartCB: Success\n"));
8929 SM_DBG3((
"smsatIDStartCB: Success did %d\n", oneDeviceData->
id));
8932 tmpptr = (
bit16*)sglVirtualAddr;
8935 OSSA_READ_LE_16(AGROOT, &tmpptr_tmp, tmpptr, 0);
8936 *tmpptr = tmpptr_tmp;
8943 SM_DBG5((
"smsatIDStartCB: OS satOrgIOContext %p \n", satOrgIOContext));
8944 SM_DBG5((
"smsatIDStartCB: TD satIOContext %p \n", satIOContext));
8953#ifdef SM_INTERNAL_DEBUG
8968 SM_DBG1((
"smsatIDStartCB: the same tdData and smData error!\n"));
8978 if (satNewIntIo ==
agNULL)
8980 SM_DBG1((
"smsatIDStartCB: momory allocation fails\n"));
9008 SM_DBG2((
"smsatIDStartCB: End device id %d\n", oneDeviceData->
id));
9021 bit32 interruptContext
9027#ifdef TD_DEBUG_ENABLE
9031 bit32 ataStatus = 0;
9044 pSense = satIOContext->
pSense;
9046#ifdef TD_DEBUG_ENABLE
9049 hostToDevFis = satIOContext->
pFis;
9063 ataStatus = statDevToHostFisHeader->
status;
9064 ataError = statDevToHostFisHeader->
error;
9066 SM_DBG5((
"smsatIOCompleted: start\n"));
9069 SM_DBG1((
"smsatIOCompleted: H to D command 0x%x!!!\n", hostToDevFis->
h.
command));
9070 SM_DBG1((
"smsatIOCompleted: D to H fistype 0x%x!!!\n", statDevToHostFisHeader->
fisType));
9078 ataStatus = (statSetDevBitFisHeader->
statusHi_Lo & 0x70);
9079 ataStatus = ataStatus | (statSetDevBitFisHeader->
statusHi_Lo & 0x07);
9082 ataError = statSetDevBitFisHeader->
error;
9084 statDevToHostFisHeader =
agNULL;
9089 SM_DBG1((
"smsatIOCompleted: *** UNEXPECTED RESP FIS TYPE 0x%x *** smIORequest=%p!!!\n",
9090 statDevToHostFisHeader->
fisType, smIORequest));
9117 SM_DBG5((
"smsatIOCompleted: smIORequest=%p CDB=0x%x ATA CMD =0x%x\n",
9118 smIORequest, pScsiCmnd->
cdb[0], hostToDevFis->
h.
command));
9181 SM_DBG1((
"smsatIOCompleted: NCQ ERROR smIORequest=%p ataStatus=0x%x ataError=0x%x!!!\n",
9182 smIORequest, ataStatus, ataError ));
9211 SM_DBG1((
"smsatIOCompleted: can't send RLE due to resource lack!!!\n"));
9220 SM_INTERNAL_TM_RESET,
9228 SM_DBG1((
"smsatIOCompleted: calling saSATADeviceReset 1!!!\n"));
9273 SM_DBG1((
"smsatIOCompleted: can't send RLE due to LL api failure!!!\n"));
9285 SM_INTERNAL_TM_RESET,
9292 SM_DBG1((
"smsatIOCompleted: calling saSATADeviceReset 2!!!\n"));
9329 bit32 interruptContext
9335 SM_DBG1((
"smsatEncryptionHandler: start\n"));
9336 SM_DBG1((
"smsatEncryptionHandler: agIOStatus 0x%x\n", agIOStatus));
9343 SM_DBG1((
"smsatEncryptionHandler: OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS\n"));
9347 SM_DBG1((
"smsatEncryptionHandler: OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID\n"));
9351 SM_DBG1((
"smsatEncryptionHandler: OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH\n"));
9355 SM_DBG1((
"smsatEncryptionHandler: OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR\n"));
9359 SM_DBG1((
"smsatEncryptionHandler: OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS\n"));
9363 SM_DBG1((
"smsatEncryptionHandler:OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE\n"));
9367 SM_DBG1((
"smsatEncryptionHandler: other error!!! 0x%x\n", agIOStatus));
9390 bit32 interruptContext
9395#ifdef TD_DEBUG_ENABLE
9399 SM_DBG1((
"smsatDifHandler: start\n"));
9400 SM_DBG1((
"smsatDifHandler: agIOStatus 0x%x\n", agIOStatus));
9402#ifdef TD_DEBUG_ENABLE
9409 SM_DBG1((
"smsatDifHandler: OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH\n"));
9413 SM_DBG1((
"smsatDifHandler: OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH\n"));
9417 SM_DBG1((
"smsatDifHandler: OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH\n"));
9421 SM_DBG1((
"smsatDifHandler: other error!!! 0x%x\n", agIOStatus));
9426 SM_DBG1((
"smsatDifHandler: DIF detail UpperLBA 0x%08x LowerLBA 0x%08x\n", DifDetail->
UpperLBA, DifDetail->
LowerLBA));
9451 SM_DBG5((
"smsatProcessAbort: start\n"));
9457 hostToDevFis = satIOContext->
pFis;
9460 (hostToDevFis->
d.
lbaLow != 0x01 && hostToDevFis->
d.
lbaLow != 0x02)
9474 SM_DBG1((
"smsatProcessAbort: TM callback!!!\n"));
9496 SM_DBG1((
"smsatProcessAbort: STATE NORMAL.!!!\n"));
9521 bit32 interruptContext;
9525 SM_DBG2((
"smsatNonDataIOCB: start\n"));
9526 SM_DBG5((
"satNonDataIOCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n",
9527 agIORequest, agIOStatus, agIOInfoLen));
9532 smRoot = oneDeviceData->
smRoot;
9547 SM_DBG1((
"satNonDataIOCB: *** ERROR*** agIORequest=%p agIOStatus=0x%x agIOInfoLen %d!!!\n",
9548 agIORequest, agIOStatus, agIOInfoLen));
9603#ifdef TD_DEBUG_ENABLE
9605 bit32 ataStatus = 0;
9613 bit16 *tmpptr,tmpptr_tmp;
9615 bit32 lenReceived = 0;
9616 bit32 allocationLen = 0;
9617 bit32 lenNeeded = 0;
9621 SM_DBG6((
"smsatInquiryCB: start\n"));
9622 SM_DBG6((
"smsatInquiryCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
9629 smRoot = oneDeviceData->
smRoot;
9635 SM_DBG6((
"smsatInquiryCB: External, OS generated\n"));
9636 pSense = satIOContext->
pSense;
9638 satOrgIOContext = satIOContext;
9643 SM_DBG6((
"smsatInquiryCB: Internal, TD generated\n"));
9645 if (satOrgIOContext ==
agNULL)
9647 SM_DBG1((
"smsatInquiryCB: satOrgIOContext is NULL, wrong!!!\n"));
9652 SM_DBG6((
"smsatInquiryCB: satOrgIOContext is NOT NULL\n"));
9656 pSense = satOrgIOContext->
pSense;
9660 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
9661 pInquiry = dataBuffer;
9666 SM_DBG3((
"smsatInquiryCB: did %d\n", oneDeviceData->
id));
9670 SM_DBG1((
"smsatInquiryCB: agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
9673 SM_DBG1((
"smsatInquiryCB: OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY!!!\n"));
9685 SM_DBG1((
"smsatInquiryCB: NOT OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY!!!\n"));
9712 SM_DBG1((
"smsatInquiryCB: OSSA_IO_OPEN_CNX_ERROR!!!\n"));
9734#ifdef TD_DEBUG_ENABLE
9737 ataStatus = satPIOSetupHeader->
status;
9738 ataError = satPIOSetupHeader->
error;
9740 SM_DBG1((
"smsatInquiryCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
9781 OSSA_READ_LE_16(AGROOT, &tmpptr_tmp, tmpptr, 0);
9782 *tmpptr = tmpptr_tmp;
9789 SM_DBG5((
"smsatInquiryCB: OS satOrgIOContext %p \n", satOrgIOContext));
9790 SM_DBG5((
"smsatInquiryCB: TD satIOContext %p \n", satIOContext));
9797#ifdef SM_INTERNAL_DEBUG
9806 allocationLen = ((scsiCmnd->
cdb[3]) << 8) + scsiCmnd->
cdb[4];
9827 page = scsiCmnd->
cdb[2];
9851 SM_DBG1((
"smsatInquiryCB: invalid PAGE CODE 0x%x!!!\n", page));
9878 SM_DBG1((
"smsatInquiryCB: wrong!!! invalid PAGE CODE 0x%x!!!\n", page));
9901 SM_DBG1((
"smsatInquiryCB: wrong!!! invalidinvalid PAGE CODE 0x%x!!!\n", page));
9906 SM_DBG6((
"smsatInquiryCB: calling tdsmIOCompletedCB\n"));
9910 ((scsiCmnd->
cdb[1] & 0x01) == 0))
9917 SM_DBG1((
"smsatInquiryCB: failed to call tdsmSetDeviceQueueDepth()!!! Q=%d\n", oneDeviceData->
satNCQMaxIO));
9922 if (allocationLen > lenNeeded)
9924 SM_DBG6((
"smsatInquiryCB reporting underrun lenNeeded=0x%x allocationLen=0x%x smIORequest=%p\n",
9925 lenNeeded, allocationLen, smOrgIORequest));
9930 allocationLen - lenNeeded,
9949 SM_DBG5((
"smsatInquiryCB: device %p pending IO %d\n", oneDeviceData, oneDeviceData->
satPendingIO));
9950 SM_DBG6((
"smsatInquiryCB: end\n"));
9971 bit32 lenReceived = 0;
9972 bit32 allocationLen = 0;
9973 bit32 lenNeeded = 0;
9976 SM_DBG6((
"smsatInquiryIntCB: start\n"));
9978 pSense = satIOContext->
pSense;
9979 scsiCmnd = &smScsiRequest->
scsiCmnd;
9980 pInquiry = dataBuffer;
9984 allocationLen = ((scsiCmnd->
cdb[3]) << 8) + scsiCmnd->
cdb[4];
10004 page = scsiCmnd->
cdb[2];
10024 SM_DBG1((
"smsatInquiryIntCB: invalid PAGE CODE 0x%x!!!\n", page));
10054 SM_DBG1((
"smsatInquiryIntCB: wrong!!! invalidinvalid PAGE CODE 0x%x!!!\n", page));
10080 SM_DBG1((
"smsatInquiryIntCB: wrong!!! invalidinvalid PAGE CODE 0x%x!!!\n", page));
10085 SM_DBG6((
"smsatInquiryIntCB: calling tdsmIOCompletedCB\n"));
10089 ((scsiCmnd->
cdb[1] & 0x01) == 0))
10096 SM_DBG1((
"smsatInquiryIntCB: failed to call tdsmSetDeviceQueueDepth()!!! Q=%d\n", oneDeviceData->
satNCQMaxIO));
10101 if (allocationLen > lenNeeded)
10103 SM_DBG6((
"smsatInquiryIntCB reporting underrun lenNeeded=0x%x allocationLen=0x%x smIORequest=%p\n",
10104 lenNeeded, allocationLen, smIORequest));
10109 allocationLen - lenNeeded,
10123 SM_DBG5((
"smsatInquiryIntCB: device %p pending IO %d\n", oneDeviceData, oneDeviceData->
satPendingIO));
10124 SM_DBG6((
"smsatInquiryIntCB: end\n"));
10154 bit32 ataStatus = 0;
10157 SM_DBG5((
"smsatVerify10CB: start\n"));
10158 SM_DBG5((
"smsatVerify10CB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
10165 hostToDevFis = satIOContext->
pFis;
10166 smRoot = oneDeviceData->
smRoot;
10172 SM_DBG4((
"smsatVerify10CB: External smSatInternalIo_t satIntIoContext\n"));
10173 satOrgIOContext = satIOContext;
10175 pSense = satIOContext->
pSense;
10179 SM_DBG4((
"smsatVerify10CB: Internal smSatInternalIo_t satIntIoContext\n"));
10181 if (satOrgIOContext ==
agNULL)
10183 SM_DBG4((
"smsatVerify10CB: satOrgIOContext is NULL, wrong\n"));
10188 SM_DBG4((
"smsatVerify10CB: satOrgIOContext is NOT NULL\n"));
10192 pSense = satOrgIOContext->
pSense;
10200 SM_DBG1((
"smsatVerify10CB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
10226 ataStatus = statDevToHostFisHeader->
status;
10238 SM_DBG1((
"smsatVerify10CB: FAILED, NOT IO_SUCCESS!!!\n"));
10242 SM_DBG1((
"smsatVerify10CB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
10248 SM_DBG1((
"smsatVerify10CB: FAILED, FAILED, error status!!!\n"));
10271 SM_DBG1((
"smsatVerify10CB: SAT_READ_VERIFY_SECTORS_EXT!!!\n"));
10274 SM_DBG1((
"smsatVerify10CB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
10304 SM_DBG5((
"smsatVerify10CB: SAT_WRITE_DMA_EXT success \n"));
10320 SM_DBG1((
"smsatVerify10CB: success but error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
10370 bit32 memAllocStatus;
10374 SM_DBG5((
"smsatReadLogExtCB: start\n"));
10375 SM_DBG1((
"smsatReadLogExtCB: agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n",
10376 agIORequest, agIOStatus, agIOInfoLen));
10380 oneDeviceData = satReadLogExtIOContext->
pSatDevData;
10382 smRoot = oneDeviceData->
smRoot;
10385 SM_DBG1((
"smsatReadLogExtCB: did %d!!!\n", oneDeviceData->
id));
10386 SM_DBG1((
"smsatReadLogExtCB: smIORequestBody ID %d!!!\n", smIORequestBody->
id));
10387 SM_DBG1((
"smsatReadLogExtCB: smIORequestBody ioCompleted %d ioStarted %d\n", smIORequestBody->
ioCompleted, smIORequestBody->
ioStarted));
10400 SM_DBG1((
"smsatReadLogExtCB: FAILED.!!!\n"));
10411 satReadLogExtIOContext->ptiDeviceHandle,
10447 SM_DBG1((
"smsatReadLogExtCB: issuing saSATAAbort. Device Abort!!!\n"));
10462 (
void **)&smAbortIORequestBody,
10473 SM_DBG1((
"smsatReadLogExtCB: ostiAllocMemory failed...\n"));
10477 if (smAbortIORequestBody ==
agNULL)
10480 SM_DBG1((
"smsatReadLogExtCB: ostiAllocMemory returned NULL smAbortIORequestBody\n"));
10486 smAbortIORequestBody->
smDevHandle = smDeviceHandle;
10493 agAbortIORequest = &(smAbortIORequestBody->
agIORequest);
10494 agAbortIORequest->
osData = (
void *) smAbortIORequestBody;
10519 SM_DBG1((
"smsatReadLogExtCB: end return!!!\n"));
10548 bit8 framePayload[256];
10549 bit16 frameOffset = 0;
10550 bit16 frameLen = 0;
10553 SM_DBG1((
"ossaSATAEvent: start\n"));
10558 DeviceListList = smAllShared->MainDeviceList.
flink;
10559 while (DeviceListList != &(smAllShared->MainDeviceList))
10562 if (oneDeviceData ==
agNULL)
10564 SM_DBG1((
"ossaSATAEvent: oneDeviceData is NULL!!!\n"));
10569 SM_DBG2((
"ossaSATAEvent: did %d\n", oneDeviceData->
id));
10573 DeviceListList = DeviceListList->
flink;
10577 SM_DBG2((
"ossaSATAEvent: not found!!!\n"));
10582 SM_DBG2((
"ossaSATAEvent: oneDeviceData is not valid did %d!!!\n", oneDeviceData->
id));
10632 SM_DBG1((
"ossaSATAEvent: did %d!!!\n", oneDeviceData->
id));
10636 SM_DBG1((
"ossaSATAEvent: NCQ ERROR did %d!!!\n", oneDeviceData->
id ));
10658 SM_DBG1((
"ossaSATAEvent: can't send RLE due to resource lack!!!\n"));
10709 SM_DBG1((
"ossaSATAEvent: smIORequestBody ID %d!!!\n", smIORequestBody->
id));
10710 SM_DBG1((
"ossaSATAEvent: smIORequestBody ioCompleted %d ioStarted %d\n", smIORequestBody->
ioCompleted, smIORequestBody->
ioStarted));
10719 SM_DBG1((
"ossaSATAEvent: can't send RLE due to LL api failure!!!\n"));
10742 SM_DBG1((
"ossaSATAEvent: NCQ ERROR but recovery in progress!!!\n"));
10747 SM_DBG1((
"ossaSATAEvent: OSSA_IO_XFER_CMD_FRAME_ISSUED\n"));
10751 SM_DBG1((
"ossaSATAEvent: OSSA_IO_XFER_PIO_SETUP_ERROR\n"));
10755 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED\n"));
10759 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO\n"));
10763 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST\n"));
10767 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE\n"));
10771 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED\n"));
10775 SM_DBG1((
"ossaSATAEvent: OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH\n"));
10781 SM_DBG1((
"ossaSATAEvent: DIF related, event 0x%x\n", event));
10783 SM_DBG2((
"ossaSATAEvent: agIOInfoLen %d\n", agIOInfoLen));
10786 SM_DBG2((
"ossaSATAEvent: agParam is NULL!!!\n"));
10791 SM_DBG2((
"ossaSATAEvent: wrong agIOInfoLen!!! agIOInfoLen %d sizeof(agsaDifDetails_t) %d\n", agIOInfoLen, (
int)
sizeof(
agsaDifDetails_t)));
10800 SM_DBG2((
"ossaSATAEvent: SASAddrHI 0x%08x SASAddrLO 0x%08x\n",
10802 SM_DBG2((
"ossaSATAEvent: DIF error mask 0x%x Device ID 0x%x\n",
10804 if (frameLen != 0 && frameLen <= 256)
10807 smhexdump(
"ossaSATAEvent frame", framePayload, frameLen);
10814 if (smIORequestBody ==
agNULL)
10816 SM_DBG1((
"ossaSATAEvent: smIORequestBody is NULL!!!\n"));
10820 if (smDeviceHandle ==
agNULL)
10822 SM_DBG1((
"ossaSATAEvent: smDeviceHandle is NULL!!!\n"));
10826 if (oneDeviceData ==
agNULL)
10828 SM_DBG1((
"ossaSATAEvent: oneDeviceData is NULL!!!\n"));
10831 SM_DBG1((
"ossaSATAEvent: ERROR event %d did=%d\n", event, oneDeviceData->
id));
10834 if (smAllShared->FCA)
10838 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY; sending HARD_RESET\n"));
10850 SM_DBG1((
"ossaSATAEvent: OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY; but giving up sending HARD_RESET!!!\n"));
10856 SM_DBG1((
"ossaSATAEvent: OSSA_IO_XFER_ERROR_NAK_RECEIVED\n"));
10860 SM_DBG1((
"ossaSATAEvent: OSSA_IO_XFER_ERROR_DMA_ACTIVATE_TIMEOUT\n"));
10864 SM_DBG1((
"ossaSATAEvent: other event 0x%x\n", event));
10881 SM_DBG2((
"smSMPCompletedCB: start\n"));
10883 if (smSMPRequestBody ==
agNULL)
10885 SM_DBG1((
"smSMPCompletedCB: smSMPRequestBody is NULL!!!\n"));
10891 SM_DBG1((
"smSMPCompletedCB: smSMPRequestBody->SMPCompletionFunc is NULL!!!\n"));
10924 SM_DBG2((
"smSMPCompleted: start\n"));
10926 if (smSMPRequestBody ==
agNULL)
10928 SM_DBG1((
"smSMPCompleted: smSMPRequestBody is NULL, wrong!!!\n"));
10935 if (smDeviceHandle ==
agNULL)
10937 SM_DBG2((
"smSMPCompleted: smDeviceHandle is NULL, wrong!!!\n"));
10941 if (oneDeviceData ==
agNULL)
10943 SM_DBG2((
"smSMPCompleted: oneDeviceData is NULL, wrong!!!\n"));
10946 agDevHandle = oneDeviceData->agExpDevHandle;
10953 SM_DBG3((
"smSMPCompleted: phy control\n"));
10954 if (agIOInfoLen != 4 &&
10957 SM_DBG1((
"smSMPCompleted: mismatch len agIOInfoLen 0x%x 0x%x!!!\n", agIOInfoLen, 4));
10963 if (CurrentTaskTag !=
agNULL)
10986 SM_DBG2((
"smSMPCompleted: unknown smSMPFrameHeader %d!!!\n", smSMPFrameHeader->smpFunction));
10992 if (CurrentTaskTag !=
agNULL)
11005 SM_DBG2((
"smSMPCompleted: failed agIOStatus %d!!!\n", agIOStatus));
11015 SM_DBG1((
"smSMPCompleted: setting back to operational\n"));
11016 if (agDevHandle !=
agNULL)
11022 SM_DBG1((
"smSMPCompleted: agDevHandle is NULL\n"));
11030 if (CurrentTaskTag !=
agNULL)
11065 SM_DBG2((
"smPhyControlRespRcvd: start\n"));
11067 if (CurrentTaskTag ==
agNULL )
11069 SM_DBG1((
"smPhyControlRespRcvd: CurrentTaskTag is NULL; allowed\n"));
11074 if (smSMPRequestBody ==
agNULL)
11076 SM_DBG1((
"smPhyControlRespRcvd: smSMPRequestBody is NULL!!!\n"));
11081 if (smDeviceHandle ==
agNULL)
11083 SM_DBG2((
"smPhyControlRespRcvd: smDeviceHandle is NULL!!!\n"));
11088 if (oneDeviceData != TargetDeviceData)
11090 SM_DBG1((
"smPhyControlRespRcvd: oneDeviceData != TargetDeviceData!!!\n"));
11099 SM_DBG2((
"smPhyControlRespRcvd: SMP success\n"));
11100 SM_DBG1((
"smPhyControlRespRcvd: callback to TD layer with success\n"));
11147#ifdef TD_DEBUG_ENABLE
11148 bit32 ataStatus = 0;
11155 SM_DBG1((
"smsatCheckPowerModeCB: start\n"));
11160 smRoot = oneDeviceData->
smRoot;
11166 SM_DBG6((
"smsatCheckPowerModeCB: External, OS generated\n"));
11167 satOrgIOContext = satIOContext;
11171 SM_DBG6((
"smsatCheckPowerModeCB: Internal, TD generated\n"));
11173 if (satOrgIOContext ==
agNULL)
11175 SM_DBG6((
"smsatCheckPowerModeCB: satOrgIOContext is NULL, wrong\n"));
11180 SM_DBG6((
"smsatCheckPowerModeCB: satOrgIOContext is NOT NULL\n"));
11187 SM_DBG1((
"smsatCheckPowerModeCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
11215 SM_DBG1((
"smsatCheckPowerModeCB: OSSA_IO_OPEN_CNX_ERROR!!!\n"));
11233#ifdef TD_DEBUG_ENABLE
11235 ataStatus = satPIOSetupHeader->
status;
11236 ataError = satPIOSetupHeader->
error;
11238 SM_DBG1((
"smsatCheckPowerModeCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
11253 SM_DBG1((
"smsatCheckPowerModeCB: success!!!\n"));
11254 SM_DBG1((
"smsatCheckPowerModeCB: TMF %d!!!\n", satOrgIOContext->
TMF));
11262 SM_DBG1((
"smsatCheckPowerModeCB: calling local satAbort!!!\n"));
11282 SM_DBG5((
"smsatCheckPowerModeCB: device %p pending IO %d\n", oneDeviceData, oneDeviceData->
satPendingIO));
11283 SM_DBG2((
"smsatCheckPowerModeCB: end\n"));
11311#ifdef TD_DEBUG_ENABLE
11312 bit32 ataStatus = 0;
11318 bit8 bSenseKey = 0;
11319 bit16 bSenseCodeInfo = 0;
11321 SM_DBG1((
"smsatCheckPowerModePassCB: start\n"));
11326 smRoot = oneDeviceData->
smRoot;
11332 SM_DBG6((
"smsatCheckPowerModePassCB: External, OS generated\n"));
11333 satOrgIOContext = satIOContext;
11335 pSense = satOrgIOContext->
pSense;
11339 SM_DBG6((
"smsatCheckPowerModePassCB: Internal, TD generated\n"));
11343 pSense = satOrgIOContext->
pSense;
11344 if (satOrgIOContext ==
agNULL)
11346 SM_DBG6((
"smsatCheckPowerModePassCB: satOrgIOContext is NULL, wrong\n"));
11351 SM_DBG6((
"smsatCheckPowerModePassCB: satOrgIOContext is NOT NULL\n"));
11358 SM_DBG1((
"smsatCheckPowerModePassCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
11380#ifdef TD_DEBUG_ENABLE
11382 ataStatus = satPIOSetupHeader->
status;
11383 ataError = satPIOSetupHeader->
error;
11385 SM_DBG1((
"smsatCheckPowerModePassCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
11426 SM_DBG1((
"smsatCheckPowerModePassCB: success!!!\n"));
11468#ifdef TD_DEBUG_ENABLE
11469 bit32 ataStatus = 0;
11475 bit8 bSenseKey = 0;
11476 bit16 bSenseCodeInfo = 0;
11478 SM_DBG3((
"smsatIDDataPassCB: start\n"));
11483 smRoot = oneDeviceData->
smRoot;
11489 SM_DBG6((
"smsatIDDataPassCB: External, OS generated\n"));
11490 satOrgIOContext = satIOContext;
11492 pSense = satOrgIOContext->
pSense;
11496 SM_DBG6((
"smsatIDDataPassCB: Internal, TD generated\n"));
11500 pSense = satOrgIOContext->
pSense;
11501 if (satOrgIOContext ==
agNULL)
11503 SM_DBG6((
"smsatIDDataPassCB: satOrgIOContext is NULL, wrong\n"));
11508 SM_DBG6((
"smsatIDDataPassCB: satOrgIOContext is NOT NULL\n"));
11515 SM_DBG1((
"smsatIDDataPassCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
11537#ifdef TD_DEBUG_ENABLE
11539 ataStatus = satPIOSetupHeader->
status;
11540 ataError = satPIOSetupHeader->
error;
11542 SM_DBG1((
"smsatIDDataPassCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
11583 SM_DBG3((
"smsatIDDataPassCB: success!!!\n"));
11585 SM_DBG3((
"smsatIDDataPassCB: extend 0x%x ck_cond 0x%x sectorCnt07 0x%x\n", satOrgIOContext->
extend,
11587 SM_DBG3((
"smsatIDDataPassCB: LBAHigh07 0x%x LBAMid07 0x%x LBALow07 0x%x\n", satOrgIOContext->
LBAHigh07,
11654#ifdef TD_DEBUG_ENABLE
11655 bit32 ataStatus = 0;
11662 SM_DBG1((
"smsatResetDeviceCB: start\n"));
11667 smRoot = oneDeviceData->
smRoot;
11674 SM_DBG6((
"smsatResetDeviceCB: External, OS generated\n"));
11675 satOrgIOContext = satIOContext;
11680 SM_DBG6((
"smsatResetDeviceCB: Internal, TD generated\n"));
11682 if (satOrgIOContext ==
agNULL)
11684 SM_DBG6((
"smsatResetDeviceCB: satOrgIOContext is NULL, wrong\n"));
11689 SM_DBG6((
"smsatResetDeviceCB: satOrgIOContext is NOT NULL\n"));
11698 SM_DBG1((
"smsatResetDeviceCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
11723 SM_DBG1((
"smsatResetDeviceCB: OSSA_IO_OPEN_CNX_ERROR!!!\n"));
11741#ifdef TD_DEBUG_ENABLE
11743 ataStatus = satPIOSetupHeader->
status;
11744 ataError = satPIOSetupHeader->
error;
11746 SM_DBG1((
"smsatResetDeviceCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
11768 if (satNewIntIo ==
agNULL)
11783 SM_DBG1((
"smsatResetDeviceCB: momory allocation fails!!!\n"));
11831 SM_DBG5((
"smsatResetDeviceCB: device %p pending IO %d\n", oneDeviceData, oneDeviceData->
satPendingIO));
11832 SM_DBG6((
"smsatResetDeviceCB: end\n"));
11861#ifdef TD_DEBUG_ENABLE
11862 bit32 ataStatus = 0;
11869 SM_DBG1((
"smsatDeResetDeviceCB: start!!!\n"));
11874 smRoot = oneDeviceData->
smRoot;
11880 SM_DBG6((
"smsatDeResetDeviceCB: External, OS generated\n"));
11881 satOrgIOContext = satIOContext;
11885 SM_DBG6((
"smsatDeResetDeviceCB: Internal, TD generated\n"));
11887 if (satOrgIOContext ==
agNULL)
11889 SM_DBG6((
"smsatDeResetDeviceCB: satOrgIOContext is NULL, wrong\n"));
11894 SM_DBG6((
"smsatDeResetDeviceCB: satOrgIOContext is NOT NULL\n"));
11901 SM_DBG1((
"smsatDeResetDeviceCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
11927 SM_DBG1((
"smsatDeResetDeviceCB: OSSA_IO_OPEN_CNX_ERROR!!!\n"));
11945#ifdef TD_DEBUG_ENABLE
11947 ataStatus = satPIOSetupHeader->
status;
11948 ataError = satPIOSetupHeader->
error;
11950 SM_DBG1((
"smsatDeResetDeviceCB: ataStatus 0x%x ataError 0x%x!!!\n", ataStatus, ataError));
11966 SM_DBG1((
"smsatDeResetDeviceCB: success !!!\n"));
11967 SM_DBG1((
"smsatDeResetDeviceCB: TMF %d!!!\n", satOrgIOContext->
TMF));
11975 SM_DBG1((
"smsatDeResetDeviceCB: calling satAbort!!!\n"));
11992 SM_DBG5((
"smsatDeResetDeviceCB: device %p pending IO %d\n", oneDeviceData, oneDeviceData->
satPendingIO));
11993 SM_DBG6((
"smsatDeResetDeviceCB: end\n"));
12011 SM_DBG1((
"smaSATAAbortCB: start\n"));
12014 if (smIORequestBody ==
agNULL)
12016 SM_DBG1((
"smaSATAAbortCB: smIORequestBody is NULL!!! \n"));
12021 if (satIOContext ==
agNULL)
12023 SM_DBG1((
"smaSATAAbortCB: satIOContext is NULL!!! \n"));
12035 if (smDeviceHandle ==
agNULL)
12037 SM_DBG1((
"smaSATAAbortCB: smDeviceHandle is NULL!!!\n"));
12049 if (oneDeviceData ==
agNULL)
12051 SM_DBG1((
"smaSATAAbortCB: oneDeviceData is NULL!!!\n"));
12066 SM_DBG1((
"smaSATAAbortCB: abort per port, not yet!!!\n"));
12068 else if (flag == 1)
12070 SM_DBG1((
"smaSATAAbortCB: abort all!!!\n"));
12099 else if (flag == 0)
12101 SM_DBG1((
"smaSATAAbortCB: abort one\n"));
12104 SM_DBG1((
"smaSATAAbortCB: OSSA_IO_SUCCESS\n"));
12108 SM_DBG1((
"smaSATAAbortCB: OSSA_IO_NOT_VALID\n"));
12112 SM_DBG1((
"smaSATAAbortCB: OSSA_IO_NO_DEVICE\n"));
12116 SM_DBG1((
"smaSATAAbortCB: OSSA_IO_ABORT_IN_PROGRESS\n"));
12121 SM_DBG1((
"smaSATAAbortCB: OSSA_IO_ABORT_DELAYED\n"));
12126 SM_DBG1((
"smaSATAAbortCB: unspecified status 0x%x\n",
status ));
12138 SM_DBG1((
"smaSATAAbortCB: wrong flag %d\n", flag));
12149 bit32 phyOperation,
12161 SM_DBG1((
"smLocalPhyControlCB: start phyId 0x%x phyOperation 0x%x status 0x%x\n",phyId,phyOperation,
status));
12163 if (agContext ==
agNULL)
12165 SM_DBG1((
"smLocalPhyControlCB: agContext is NULL!!!\n"));
12169 if (currentTaskTag ==
agNULL)
12171 SM_DBG1((
"smLocalPhyControlCB: currentTaskTag is NULL!!!\n"));
12175 if (smIORequestBody ==
agNULL)
12177 SM_DBG1((
"smLocalPhyControlCB: smIORequestBody is NULL!!!\n"));
12181 if (smDeviceHandle ==
agNULL)
12183 SM_DBG1((
"smLocalPhyControlCB: smDeviceHandle is NULL!!!\n"));
12187 if (oneDeviceData ==
agNULL)
12189 SM_DBG1((
"smLocalPhyControlCB: oneDeviceData is NULL!!!\n"));
12192 switch (phyOperation)
12198 SM_DBG2((
"smLocalPhyControlCB: callback to TD layer with success\n"));
12220 SM_DBG1((
"smLocalPhyControlCB: callback to TD layer with failure!!!\n"));
12230 SM_DBG1((
"ossaLocalPhyControlCB: error default case. phyOperation is %d!!!\n", phyOperation));
12265 bit32 ataStatus = 0;
12266 bit32 ataError = 0;
12269 SM_DBG2((
"smsatSetFeaturesAACB: start\n"));
12272 if (satIOContext ==
agNULL)
12274 SM_DBG1((
"smsatSetFeaturesAACB: satIOContext is NULL\n"));
12280 smRoot = oneDeviceData->
smRoot;
12285 SM_DBG5((
"smsatSetFeaturesAACB: External smSatInternalIo_t satIntIoContext\n"));
12286 satOrgIOContext = satIOContext;
12288 smIORequest = smOrgIORequest;
12292 SM_DBG5((
"smsatSetFeaturesAACB: Internal smSatInternalIo_t satIntIoContext\n"));
12303 SM_DBG1((
"smsatSetFeaturesAACB: fail, case 1 agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
12307 SM_DBG1((
"smsatSetFeaturesAACB: fail, case 2 status %d!!!\n", agIOStatus));
12312 ataStatus = statDevToHostFisHeader->
status;
12313 ataError = statDevToHostFisHeader->
error;
12316 SM_DBG1((
"smsatSetFeaturesAACB: fail, case 3 ataStatus %d ataError %d!!!\n", ataStatus, ataError));
12320 SM_DBG1((
"smsatSetFeaturesAACB: fail, case 4 ataStatus %d ataError %d!!!\n", ataStatus, ataError));
12327 SM_DBG1((
"smsatSetFeaturesAACB: the same tdData and smData error!\n"));
12331 SM_DBG2((
"smsatSetFeaturesAACB: end\n"));
12380 SM_DBG2((
"smsatSetFeaturesDMACB: start\n"));
12383 if (satIOContext ==
agNULL)
12385 SM_DBG1((
"smsatSetFeaturesDMACB: satIOContext is NULL\n"));
12391 smRoot = oneDeviceData->
smRoot;
12396 SM_DBG2((
"smsatSetFeaturesDMACB: External smSatInternalIo_t satIntIoContext\n"));
12397 satOrgIOContext = satIOContext;
12403 SM_DBG2((
"smsatSetFeaturesDMACB: Internal smSatInternalIo_t satIntIoContext\n"));
12422 SM_DBG1((
"smsatSetFeaturesDMACB: the same tdData and smData error!\n"));
12424 SM_DBG2((
"smsatSetFeaturesDMACB: agIOStatus 0x%x\n", agIOStatus));
12435 SM_DBG1((
"smsatSetFeaturesDMACB: error status 0x%x\n", agIOStatus));
12436 SM_DBG1((
"smsatSetFeaturesDMACB: did %d!!!\n", oneDeviceData->
id));
12455 if (satNewIntIo ==
agNULL)
12457 SM_DBG1((
"smsatSetFeaturesDMACB: memory allocation fails\n"));
12479 SM_DBG1((
"smsatSetFeaturesDMACB: failed to call smsatSetFeatures()\n"));
12483 SM_DBG2((
"smsatSetFeaturesDMACB: end\n"));
12494 if (satNewIntIo ==
agNULL)
12496 SM_DBG1((
"smsatSetFeaturesDMACB: memory allocation fails\n"));
12517 SM_DBG1((
"smsatSetFeaturesDMACB: failed to call smsatSetFeatures()\n"));
12521 SM_DBG2((
"smsatSetFeaturesDMACB: end\n"));
12533 if (satNewIntIo ==
agNULL)
12535 SM_DBG1((
"smsatSetFeaturesDMACB: momory allocation fails; can't send set feature\n"));
12553 SM_DBG1((
"smsatSetFeaturesDMACB: failed to send set feature!!!\n"));
12565 SM_DBG2((
"smsatSetFeaturesDMACB: end\n"));
12614 SM_DBG2((
"smsatSetFeaturesReadLookAheadCB: start\n"));
12617 if (satIOContext ==
agNULL)
12619 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: satIOContext is NULL\n"));
12625 smRoot = oneDeviceData->
smRoot;
12631 SM_DBG2((
"smsatSetFeaturesReadLookAheadCB: External smSatInternalIo_t satIntIoContext\n"));
12632 satOrgIOContext = satIOContext;
12638 SM_DBG2((
"smsatSetFeaturesReadLookAheadCB: Internal smSatInternalIo_t satIntIoContext\n"));
12667 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: error status 0x%x\n", agIOStatus));
12668 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: did %d!!!\n", oneDeviceData->
id));
12683 if (satNewIntIo ==
agNULL)
12685 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: memory allocation fails\n"));
12707 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: failed to call smsatSetFeatures()\n"));
12711 SM_DBG2((
"smsatSetFeaturesReadLookAheadCB: end\n"));
12725 if (satNewIntIo ==
agNULL)
12727 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: momory allocation fails; can't send set feature\n"));
12747 SM_DBG1((
"smsatSetFeaturesReadLookAheadCB: failed to send set feature!!!\n"));
12760 SM_DBG2((
"smsatSetFeaturesReadLookAheadCB: end\n"));
12805 bit32 ataStatus = 0;
12806 bit32 ataError = 0;
12810 SM_DBG2((
"smsatSetFeaturesVolatileWriteCacheCB: start\n"));
12813 if (satIOContext ==
agNULL)
12815 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: satIOContext is NULL\n"));
12821 smRoot = oneDeviceData->
smRoot;
12826 SM_DBG5((
"smsatSetFeaturesVolatileWriteCacheCB: External smSatInternalIo_t satIntIoContext\n"));
12827 satOrgIOContext = satIOContext;
12829 smIORequest = smOrgIORequest;
12833 SM_DBG5((
"smsatSetFeaturesVolatileWriteCacheCB: Internal smSatInternalIo_t satIntIoContext\n"));
12845 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: fail, case 1 agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
12849 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: fail, case 2 status %d!!!\n", agIOStatus));
12854 ataStatus = statDevToHostFisHeader->
status;
12855 ataError = statDevToHostFisHeader->
error;
12858 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: fail, case 3 ataStatus %d ataError %d!!!\n", ataStatus, ataError));
12862 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: fail, case 4 ataStatus %d ataError %d!!!\n", ataStatus, ataError));
12880 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: error status 0x%x\n", agIOStatus));
12881 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: did %d!!!\n", oneDeviceData->
id));
12893 if (satNewIntIo ==
agNULL)
12895 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: momory allocation fails; can't send set feature\n"));
12913 SM_DBG1((
"smsatSetFeaturesVolatileWriteCacheCB: failed to send set feature!!!\n"));
12926 SM_DBG2((
"smsatSetFeaturesVolatileWriteCacheCB: end\n"));
12958 bit8 bSenseKey = 0;
12959 bit16 bSenseCodeInfo = 0;
12962 SM_DBG2((
"smsatSMARTEnablePassCB: start\n"));
12963 SM_DBG4((
"smsatSMARTEnablePassCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
12970 smRoot = oneDeviceData->
smRoot;
12976 SM_DBG4((
"smsatSMARTEnablePassCB: External smSatInternalIo_t satIntIoContext\n"));
12977 satOrgIOContext = satIOContext;
12980 pSense = satOrgIOContext->
pSense;
12984 SM_DBG4((
"smsatSMARTEnablePassCB: Internal smSatInternalIo_t satIntIoContext\n"));
12986 if (satOrgIOContext ==
agNULL)
12988 SM_DBG4((
"smsatSMARTEnablePassCB: satOrgIOContext is NULL, wrong\n"));
12993 SM_DBG4((
"smsatSMARTEnablePassCB: satOrgIOContext is NOT NULL\n"));
12998 pSense = satOrgIOContext->
pSense;
13005 SM_DBG1((
"smsatSMARTEnablePassCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
13025 SM_DBG1((
"smsatSMARTEnablePassCB: not success status, status %d!!!\n", agIOStatus));
13069 SM_DBG1((
"smsatSMARTEnablePassCB:success status, status %d!!!\n", agIOStatus));
13113 bit32 ataStatus = 0;
13119 bit8 bSenseKey = 0;
13120 bit16 bSenseCodeInfo = 0;
13123 SM_DBG2((
"smsatSMARTRStatusPassCB: start\n"));
13124 SM_DBG5((
"smsatSMARTRStatusPassCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
13131 hostToDevFis = satIOContext->
pFis;
13132 smRoot = oneDeviceData->
smRoot;
13138 SM_DBG4((
"smsatSMARTRStatusPassCB: External smSatInternalIo_t satIntIoContext\n"));
13139 satOrgIOContext = satIOContext;
13141 pSense = satOrgIOContext->
pSense;
13142 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13144 smScsiRequest = satOrgIOContext->
smScsiXchg;
13146 SM_DBG1((
" 0x%02x, 0x%02x, 0x%02x, 0x%02x,\n", scsiCmnd->
cdb[0], scsiCmnd->
cdb[1],scsiCmnd->
cdb[2], scsiCmnd->
cdb[3]));
13147 SM_DBG1((
" 0x%02x, 0x%02x, 0x%02x, 0x%02x,\n", scsiCmnd->
cdb[4], scsiCmnd->
cdb[5],scsiCmnd->
cdb[6], scsiCmnd->
cdb[7]));
13148 SM_DBG1((
" 0x%02x, 0x%02x, 0x%02x, 0x%02x,\n", scsiCmnd->
cdb[8], scsiCmnd->
cdb[9],scsiCmnd->
cdb[10], scsiCmnd->
cdb[11]));
13154 SM_DBG4((
"smsatSMARTRStatusPassCB: Internal smSatInternalIo_t satIntIoContext\n"));
13156 if (satOrgIOContext ==
agNULL)
13158 SM_DBG4((
"smsatSMARTRStatusPassCB: satOrgIOContext is NULL\n"));
13165 SM_DBG4((
"smsatSMARTRStatusPassCB: satOrgIOContext is NOT NULL\n"));
13170 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13174 pSense = satOrgIOContext->
pSense;
13182 SM_DBG1((
"smsatSMARTRStatusPassCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
13205 ataStatus = statDevToHostFisHeader->
status;
13214 SM_DBG1((
"smsatSMARTRStatusPassCB: FAILED, NOT IO_SUCCESS!!!\n"));
13218 SM_DBG1((
"smsatSMARTRStatusPassCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
13224 SM_DBG1((
"smsatSMARTRStatusPassCB: FAILED, FAILED, error status!!!\n"));
13269 SM_DBG5((
"smsatSMARTRStatusPassCB: SAT_SMART_RETURN_STATUS success\n"));
13316 bit32 ataStatus = 0;
13329 bit8 bSenseKey = 0;
13330 bit16 bSenseCodeInfo = 0;
13332 SM_DBG2((
"smsatSMARTReadLogCB: start\n"));
13333 SM_DBG5((
"smsatSMARTReadLogCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
13340 hostToDevFis = satIOContext->
pFis;
13341 smRoot = oneDeviceData->
smRoot;
13347 SM_DBG4((
"smsatSMARTReadLogCB: External smSatInternalIo_t satIntIoContext\n"));
13348 satOrgIOContext = satIOContext;
13350 pSense = satOrgIOContext->
pSense;
13351 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13354 smScsiRequest = satOrgIOContext->
smScsiXchg;
13361 SM_DBG4((
"smsatSMARTReadLogCB: Internal smSatInternalIo_t satIntIoContext\n"));
13363 if (satOrgIOContext ==
agNULL)
13365 SM_DBG4((
"smsatSMARTReadLogCB: satOrgIOContext is NULL\n"));
13372 SM_DBG4((
"smsatSMARTReadLogCB: satOrgIOContext is NOT NULL\n"));
13377 pSense = satOrgIOContext->
pSense;
13378 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13390 SM_DBG1((
"smsatSMARTReadLogCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
13408 if(agFirstDword !=
NULL)
13411 SM_DBG1((
"smsatSMARTReadLogCB: statDevToHostFisHeader->status, status %d!!!\n", statDevToHostFisHeader->
status));
13421 ataStatus = statDevToHostFisHeader->
status;
13434 SM_DBG1((
"smsatSMARTReadLogCB: FAILED, NOT IO_SUCCESS!!!\n"));
13438 SM_DBG1((
"smsatSMARTReadLogCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
13442 SM_DBG1((
"smsatSMARTReadLogCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
13448 SM_DBG1((
"smsatSMARTReadLogCB: FAILED, FAILED, error status!!!\n"));
13473 SM_DBG1((
"smsatSMARTReadLogCB: SAT_SMART_READ_LOG failed!!!\n"));
13477 SM_DBG1((
"smsatSMARTReadLogCB: error unknown command 0x%x feature 0x%x!!!\n", hostToDevFis->
h.
command, hostToDevFis->
h.
features));
13482 SM_DBG1((
"smsatSMARTReadLogCB: error default case command 0x%x!!!\n", hostToDevFis->
h.
command));
13552 bit32 ataStatus = 0;
13558 bit8 bSenseKey = 0;
13559 bit16 bSenseCodeInfo = 0;
13561 SM_DBG2((
"smsatPassthroughCB: start\n"));
13562 SM_DBG5((
"smsatPassthroughCB:agIORequest=%p agIOStatus=0x%x agIOInfoLen %d\n", agIORequest, agIOStatus, agIOInfoLen));
13569 hostToDevFis = satIOContext->
pFis;
13570 smRoot = oneDeviceData->
smRoot;
13576 SM_DBG4((
"smsatPassthroughCB: External smSatInternalIo_t satIntIoContext\n"));
13577 satOrgIOContext = satIOContext;
13579 pSense = satOrgIOContext->
pSense;
13580 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13583 smScsiRequest = satOrgIOContext->
smScsiXchg;
13588 SM_DBG4((
"smsatPassthroughCB: Internal smSatInternalIo_t satIntIoContext\n"));
13590 if (satOrgIOContext ==
agNULL)
13592 SM_DBG4((
"smsatPassthroughCB: satOrgIOContext is NULL\n"));
13597 SM_DBG4((
"smsatPassthroughCB: satOrgIOContext is NOT NULL\n"));
13602 pSense = satOrgIOContext->
pSense;
13603 smOrgScsiRequest = satOrgIOContext->
smScsiXchg;
13616 SM_DBG1((
"smsatPassthroughCB: IO_UNDERFLOW, status %d!!!\n", agIOStatus));
13635 SM_DBG1((
"smsatPassthroughCB: wrong. agFirstDword is NULL when error, status %d!!!\n", agIOStatus));
13661 ataStatus = statDevToHostFisHeader->
status;
13673 SM_DBG1((
"smsatPassthroughCB: FAILED, NOT IO_SUCCESS!!!\n"));
13677 SM_DBG1((
"smsatPassthroughCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
13681 SM_DBG1((
"smsatPassthroughCB: FAILED, Wrong FIS type 0x%x!!!\n",statDevToHostFisHeader->
fisType));
13687 SM_DBG1((
"smsatPassthroughCB: FAILED, FAILED, error status!!!\n"));
13729 if(agFirstDword !=
NULL)
13732 SM_DBG1((
"smsatPassthroughCB: statDevToHostFisHeader->status, status %d!!!\n", statDevToHostFisHeader->
status));
#define MIN(a, b)
MIN macro.
#define SATA_ATAPI_DEVICE
#define PIO_SETUP_DEV_TO_HOST_FIS
#define SMP_PHY_CONTROL_HARD_RESET
#define SMP_FUNCTION_ACCEPTED
#define REG_DEV_TO_HOST_FIS
void ostiInitiatorEvent(tiRoot_t *ptiRoot, tiPortalContext_t *ptiPortalContext, tiDeviceHandle_t *ptiDevHandle, tiIntrEventType_t eventType, U32 eventStatus, void *parm)
The file defines the constants, data structure, and functions defined by LL API.
#define AGSA_PHY_HARD_RESET
void * agsaFrameHandle_t
handle to access frame
#define SA_DS_OPERATIONAL
#define AGSA_PHY_LINK_RESET
#define AGSA_SATA_PROTOCOL_FPDMA_WRITE
#define AGSA_SATA_PROTOCOL_FPDMA_READ
#define OSSA_IO_XFER_ERROR_DMA
#define OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION
#define OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE
#define OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE
#define OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE
#define OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS
#define OSSA_IO_DS_IN_RECOVERY
#define OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED
#define OSSA_IO_DS_NON_OPERATIONAL
#define OSSA_IO_XFER_CMD_FRAME_ISSUED
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO
#define OSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST
#define OSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE
#define OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY
#define OSSA_IO_XFER_ERROR_PHY_NOT_READY
#define OSSA_IO_ABORT_DELAYED
#define OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH
#define OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH
#define OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR
#define OSSA_IO_OPEN_CNX_ERROR_BREAK
#define OSSA_IO_XFER_ERROR_OFFSET_MISMATCH
#define OSSA_IO_UNDERFLOW
#define OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK
#define OSSA_IO_PORT_IN_RESET
#define OSSA_IO_DS_IN_ERROR
#define OSSA_IO_XFER_ERROR_DMA_ACTIVATE_TIMEOUT
#define OSSA_IO_XFER_ERROR_NAK_RECEIVED
#define OSSA_IO_XFER_ERROR_BREAK
#define OSSA_IO_XFER_ERROR_PEER_ABORTED
#define OSSA_IO_XFR_ERROR_DIF_MISMATCH
#define OSSA_IO_NOT_VALID
#define OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE
#define OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED
#define OSSA_IO_XFER_PIO_SETUP_ERROR
#define OSSA_IO_XFER_ERROR_SATA
#define OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS
#define OSSA_IO_ILLEGAL_PARAMETER
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS
#define OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT
#define OSSA_IO_ABORT_RESET
#define OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH
#define OSSA_IO_XFER_OPEN_RETRY_TIMEOUT
#define OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN
#define OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH
#define OSSA_IO_LINK_FAILURE
#define OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED
#define OSSA_MPI_ERR_ATAPI_DEVICE_BUSY
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED
#define OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION
#define OSSA_MPI_IO_RQE_BUSY_FULL
#define OSSA_IO_NO_DEVICE
#define OSSA_IO_PROG_ERROR
#define OSSA_IO_ABORT_IN_PROGRESS
#define OSSA_IO_DS_INVALID
#define OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION
#define OSSA_IO_XFER_ERROR_RX_FRAME
#define OSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR
#define OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH
#define OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED
#define OSSA_IO_XFER_ERROR_CREDIT_TIMEOUT
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST
struct agsaSATAIdentifyData_s agsaSATAIdentifyData_t
data structure provides the identify data of the SATA device
The file defines the declaration of tSDK APIs.
GLOBAL void saFrameReadBlock(agsaRoot_t *agRoot, agsaFrameHandle_t agFrame, bit32 frameOffset, void *frameBuffer, bit32 frameBufLen)
Read a block from a frame.
GLOBAL bit32 saSATAAbort(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB)
Abort SATA command.
GLOBAL bit32 saSetDeviceState(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 newDeviceState)
Set Device State.
The file defines the declaration of OS APIs.
osGLOBAL bit32 satSubTM(tiRoot_t *tiRoot, tiDeviceHandle_t *tiDeviceHandle, bit32 task, tiLUN_t *lun, tiIORequest_t *taskTag, tiIORequest_t *currentTaskTag, bit32 NotifyOS)
@ smIntrEventTypeLocalAbort
@ smIntrEventTypeTaskManagement
@ smDetailCipherModeInvalid
@ smDetailDifRefTagMismatch
@ smDetailDekIndexOutofBounds
@ smDetailDekKeyCacheMiss
@ smDetailDekRamInterfaceError
@ smDetailDifAppTagMismatch
#define SELFTEST_RESULTS_LOG_PAGE_LENGTH
#define SCSI_SNSCODE_HARDWARE_IMPENDING_FAILURE
#define SCSI_SNSCODE_UNRECOVERED_READ_ERROR
#define SAT_WRITE_DMA_FUA_EXT
#define INQUIRY_UNIT_SERIAL_NUMBER_VPD_PAGE
#define SCSI_SNSCODE_LOGICAL_UNIT_FAILED_SELF_TEST
#define SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_FORMAT_IN_PROGRESS
#define SCSI_SNSCODE_OPERATOR_MEDIUM_REMOVAL_REQUEST
#define SCSI_SNSKEY_NO_SENSE
#define INQUIRY_DEVICE_IDENTIFICATION_VPD_PAGE
#define SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE
#define SAT_WRITE_DMA_EXT
#define ABRT_ATA_ERROR_MASK
#define SCSI_SNSCODE_LOW_POWER_CONDITION_ON
#define SCSI_SNSCODE_NO_ADDITIONAL_INFO
#define SAT_SMART_ENABLE_OPERATIONS
#define INQUIRY_BLOCK_DEVICE_CHARACTERISTICS_VPD_PAGE
#define INQUIRY_SUPPORTED_VPD_PAGE
#define SCSI_SNSCODE_WRITE_ERROR_AUTO_REALLOCATION_FAILED
#define SATA_PAGE0_INQUIRY_SIZE
#define SCSI_SNSCODE_INTERNAL_TARGET_FAILURE
#define ERR_ATA_STATUS_MASK
#define SCSI_SNSCODE_LOGICAL_UNIT_DOES_NOT_RESPOND_TO_SELECTION
#define SATA_PAGE80_INQUIRY_SIZE
#define SAT_READ_FPDMA_QUEUED
#define SCSI_SNSKEY_ABORTED_COMMAND
#define STANDARD_INQUIRY_SIZE
#define SAT_READ_VERIFY_SECTORS_EXT
#define SAT_WRITE_FPDMA_QUEUED
#define SCSI_SNSCODE_MEDIUM_NOT_PRESENT
#define SAT_DEV_STATE_NORMAL
#define UNC_ATA_ERROR_MASK
#define NM_ATA_ERROR_MASK
#define SCSI_FLUSH_CACHE_IMMED_MASK
#define SM_GET_SAS_ADDRESSHI(sasAddressHi)
#define SAT_WRITE_SECTORS_EXT
#define SAT_SMART_RETURN_STATUS
#define ZERO_MEDIA_SERIAL_NUMBER_LENGTH
#define SAT_DEV_STATE_IN_RECOVERY
#define SCSI_SNSCODE_COMMAND_SEQUENCE_ERROR
#define SATA_PAGE83_INQUIRY_WWN_SIZE
#define SAT_SMART_DISABLE_OPERATIONS
#define INQUIRY_ATA_INFORMATION_VPD_PAGE
#define SCSI_SNSCODE_MEDIA_LOAD_OR_EJECT_FAILED
#define SM_GET_SAS_ADDRESSLO(sasAddressLo)
#define SAT_READ_SECTORS_EXT
#define SAT_WRITE_SECTORS
#define SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE
#define MCR_ATA_ERROR_MASK
#define AG_SAT_INT_IO_FLAG_ORG_IO_COMPLETED
#define SATA_PAGE83_INQUIRY_NO_WWN_SIZE
#define SCSI_SNSCODE_ATA_PASS_THROUGH_INFORMATION_AVAILABLE
#define IDNF_ATA_ERROR_MASK
#define SAT_CHECK_POWER_MODE
#define SCSI_SNSKEY_HARDWARE_ERROR
#define SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_CAUSE_NOT_REPORTABLE
#define SENSE_DATA_LENGTH
#define SCSI_SNSKEY_RECOVERED_ERROR
#define SCSI_SNSCODE_DIAGNOSTIC_FAILURE_ON_COMPONENT_NN
#define SCSI_SNSCODE_INFORMATION_UNIT_CRC_ERROR
#define DF_ATA_STATUS_MASK
#define SCSI_SNSCODE_NOT_READY_TO_READY_CHANGE
#define INFORMATION_EXCEPTIONS_LOG_PAGE_LENGTH
#define SATA_PAGEB1_INQUIRY_SIZE
#define SCSI_SNSKEY_MEDIUM_ERROR
#define SCSI_SNSCODE_INVALID_FIELD_IN_CDB
#define SAT_READ_VERIFY_SECTORS
#define SAT_GET_MEDIA_STATUS
#define MC_ATA_ERROR_MASK
#define ICRC_ATA_ERROR_MASK
#define SATA_PAGE89_INQUIRY_SIZE
#define SCSI_SNSKEY_UNIT_ATTENTION
#define SAT_SMART_READ_LOG
#define SCSI_SNSKEY_NOT_READY
#define SCSI_SNSKEY_ILLEGAL_REQUEST
#define SAT_FLUSH_CACHE_EXT
FORCEINLINE void smIOReInit(smRoot_t *smRoot, smIORequestBody_t *smIORequestBody)
#define SMLIST_OBJECT_BASE(baseType, fieldName, fieldPtr)
#define SMLIST_DEQUEUE_THIS(hdr)
osGLOBAL void smhexdump(const char *ptitle, bit8 *pbuf, size_t len)
FORCEINLINE void * sm_memcpy(void *dst, const void *src, bit32 count)
osGLOBAL void smsatInquiryStandard(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smIniScsiCmnd_t *scsiCmnd)
osGLOBAL bit32 smsatNonChainedWriteNVerify_Verify(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL FORCEINLINE bit32 smsatTagRelease(smRoot_t *smRoot, smDeviceData_t *pSatDevData, bit8 tag)
osGLOBAL void smsatAbort(smRoot_t *smRoot, agsaRoot_t *agRoot, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatReassignBlocks_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, smSatIOContext_t *satOrgIOContext)
osGLOBAL FORCEINLINE void smsatFreeIntIoResource(smRoot_t *smRoot, smDeviceData_t *satDevData, smSatInternalIo_t *satIntIo)
osGLOBAL void smsatSetDevInfo(smDeviceData_t *oneDeviceData, agsaSATAIdentifyData_t *SATAIdData)
osGLOBAL bit32 smsatChainedVerify(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatModeSelect6n10_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatDeResetDevice(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatInquiryPage83(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smDeviceData_t *oneDeviceData)
osGLOBAL bit32 smsatRequestSense_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatTestUnitReady_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatRequestSenseForATAPI(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
SAT implementation for SCSI REQUEST SENSE to ATAPI device.
osGLOBAL bit32 smsatChainedWriteNVerify_Write(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatChainedWriteNVerify_Start_Verify(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatSetDeferredSensePayload(smScsiRspSense_t *pSense, bit8 SnsKey, bit32 SnsInfo, bit16 SnsCode, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatSetFeaturesAA(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatSendDiagnostic_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatStartStopUnit_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatChainedWriteNVerify_Verify(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatWriteSame10_2(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
osGLOBAL void smsatInquiryPage89(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smDeviceData_t *oneDeviceData, bit32 len)
osGLOBAL void smsatDefaultTranslation(smRoot_t *smRoot, smIORequest_t *smIORequest, smSatIOContext_t *satIOContext, smScsiRspSense_t *pSense, bit8 ataStatus, bit8 ataError, bit32 interruptContext)
osGLOBAL bit32 smsatWriteSame10_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
osGLOBAL bit32 smsatReassignBlocks_2(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit8 *LBA)
osGLOBAL bit32 smsatWrite_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatInquiryPage80(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
osGLOBAL bit32 smsatSendDiagnostic_2(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatInquiryPage0(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
osGLOBAL bit32 smsatSetFeaturesPIO(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
SAT implementation for satSetFeatures.
osGLOBAL bit32 smsatWriteSame10_3(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
osGLOBAL smSatInternalIo_t * smsatAllocIntIoResource(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceData_t *satDevData, bit32 dmaAllocLength, smSatInternalIo_t *satIntIo)
osGLOBAL bit32 smsatSetFeaturesDMA(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatSetFeaturesReadLookAhead(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatSetFeaturesVolatileWriteCache(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatRead_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatSendReadLogExt(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smsatLogSense_1(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL smSatIOContext_t * smsatPrepareNewIO(smSatInternalIo_t *satNewIntIo, smIORequest_t *smOrgIORequest, smDeviceData_t *satDevData, smIniScsiCmnd_t *scsiCmnd, smSatIOContext_t *satOrgIOContext)
osGLOBAL void smsatInquiryPageB1(bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
osGLOBAL void smsatSetSensePayload(smScsiRspSense_t *pSense, bit8 SnsKey, bit32 SnsInfo, bit16 SnsCode, smSatIOContext_t *satIOContext)
osGLOBAL bit32 smPhyControlSend(smRoot_t *smRoot, smDeviceData_t *oneDeviceData, bit8 phyOp, smIORequest_t *CurrentTaskTag, bit32 queueNumber)
osGLOBAL void smLocalPhyControlCB(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 phyId, bit32 phyOperation, bit32 status, void *parm)
osGLOBAL void smsatReadMediaSerialNumberCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatExecuteDeviceDiagnosticCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatSetFeaturesVolatileWriteCacheCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatWriteBufferCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smaSATAAbortCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 flag, bit32 status)
osGLOBAL void smsatChainedWriteNVerifyCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatSMARTEnablePassCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatStartStopUnitCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatSetFeaturesDMACB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatCheckPowerModePassCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatCheckPowerModeCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatDeResetDeviceCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatRequestSenseCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatModeSelect6n10CB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatNonChainedVerifyCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatReadLogExtCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatTestUnitReadyCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatDeviceResetCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatChainedVerifyCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
GLOBAL void smsatTranslateATAErrorsToSCSIErrors(bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
osGLOBAL void ossaSATAEvent(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, agsaPortContext_t *agPortContext, agsaDevHandle_t *agDevHandle, bit32 event, bit32 agIOInfoLen, void *agParam)
osGLOBAL void smsatResetDeviceCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatSMARTRStatusPassCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL FORCEINLINE void smsatDecrementPendingIO(smRoot_t *smRoot, smIntContext_t *smAllShared, smSatIOContext_t *satIOContext)
osGLOBAL void smsatSetFeaturesAACB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatProcessAbort(smRoot_t *smRoot, smIORequest_t *smIORequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatInquiryIntCB(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
osGLOBAL void smsatInquiryCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatPacketCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatIDDataPassCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatNonChainedWriteNVerifyCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatSetFeaturesPIOCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatLogSenseCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smPhyControlRespRcvd(smRoot_t *smRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, smDeviceData_t *oneDeviceData, smSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle, smIORequest_t *CurrentTaskTag)
osGLOBAL void smsatSendDiagnosticCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smSMPCompletedCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
osGLOBAL void smsatDifHandler(smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
osGLOBAL void smsatSMARTEnableCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatDelayedProcessAbnormalCompletion(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
osGLOBAL void smsatProcessAbnormalCompletion(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
FORCEINLINE void smsatNonChainedDataIOCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatReadBufferCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
FORCEINLINE void smsatChainedDataIOCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatEncryptionHandler(smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
osGLOBAL void smsatVerify10CB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smSMPCompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
osGLOBAL void smsatSynchronizeCache10n16CB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatNonDataIOCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatSMARTReadLogCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
FORCEINLINE void smllSATACompleted(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, void *agFirstDword, bit32 agIOInfoLen, void *agParam)
osGLOBAL void smsatPassthroughCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatWriteSame10CB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
GLOBAL void smsatTranslateATAPIErrorsToSCSIErrors(bit8 bCommand, bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
osGLOBAL void smsatReassignBlocksCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
osGLOBAL void smsatRequestSenseForATAPICB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatSetFeaturesReadLookAheadCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
osGLOBAL void smsatIOCompleted(smRoot_t *smRoot, smIORequest_t *smIORequest, agsaFisHeader_t *agFirstDword, bit32 respFisLen, agsaFrameHandle_t agFrameHandle, smSatIOContext_t *satIOContext, bit32 interruptContext)
osGLOBAL void smsatIDStartCB(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
data structure stores OS specific and LL specific context
smIORequest_t * satTmTaskTag
bit32 satDeviceFaultState
smDeviceHandle_t * smDevHandle
agsaSATAIdentifyData_t satIdentifyData
agsaDevHandle_t * agDevHandle
bit32 volatile satPendingNONNCQIO
bit32 satLookAheadEnabled
bit32 volatile satPendingNCQIO
bit32 satReadLookAheadSupport
bit32 satVolatileWriteCacheSupport
bit32 volatile satPendingIO
bit32 satWriteCacheEnabled
smDeviceHandle_t * smDevHandle
smSenseData_t smSenseData
struct smIORequestBody_s::@5::@7 SATA
union smIORequestBody_s::@6 IOType
agsaSATAInitiatorRequest_t agSATARequestBody
smScsiRspSense_t sensePayload
struct smIORequestBody_s::@6::@9 InitiatorTMIO
agsaIORequest_t agIORequest
union smIORequestBody_s::@5 transport
smIORequest_t * smIORequest
smSatIOContext_t satIOContext
smIntContext_t smAllShared
smDeviceHandle_t * smDevHandle
smDeviceData_t * smDeviceData
smIORequest_t * CurrentTaskTag
smSMPCompleted_t SMPCompletionFunc
struct smSatIOContext_s * satOrgIOContext
smSatInternalIo_t * satIntIoContext
struct smSatIOContext_s * satToBeAbortedIOContext
smList_t satIoContextLink
smScsiRspSense_t * pSense
smDeviceHandle_t * psmDeviceHandle
smIniScsiCmnd_t * pScsiCmnd
smSatCompleteCbPtr_t satCompleteCB
smSenseData_t * pSmSenseData
agsaFisRegHostToDevice_t * pFis
smDeviceData_t * pSatDevData
smIORequest_t satIntSmIORequest
smScsiInitiatorRequest_t satIntSmScsiXchg
smIORequest_t * satOrgSmIORequest
#define TD_INTERNAL_TM_RESET
osGLOBAL FORCEINLINE bit32 tdsmRotateQnumber(smRoot_t *smRoot, smDeviceHandle_t *smDeviceHandle)
osGLOBAL bit32 tdsmFreeMemory(smRoot_t *smRoot, void *osDMAHandle, bit32 allocLength)
osGLOBAL FORCEINLINE sbit32 tdsmInterlockedExchange(smRoot_t *smRoot, sbit32 volatile *Target, sbit32 Value)
osGLOBAL void tdsmEventCB(smRoot_t *smRoot, smDeviceHandle_t *smDeviceHandle, smIntrEventType_t eventType, bit32 eventStatus, void *parm)
osGLOBAL void tdsmIDCompletedCB(smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, bit32 status, void *IDdata)
osGLOBAL FORCEINLINE sbit32 tdsmInterlockedDecrement(smRoot_t *smRoot, sbit32 volatile *Addend)
osGLOBAL bit32 tdsmSetDeviceQueueDepth(smRoot_t *smRoot, smIORequest_t *smIORequest, bit32 QueueDepth)
osGLOBAL FORCEINLINE void tdsmSingleThreadedEnter(smRoot_t *smRoot, bit32 syncLockId)
osGLOBAL FORCEINLINE void tdsmIOCompletedCB(smRoot_t *smRoot, smIORequest_t *smIORequest, bit32 status, bit32 statusDetail, smSenseData_t *senseData, bit32 interruptContext)
osGLOBAL FORCEINLINE void tdsmSingleThreadedLeave(smRoot_t *smRoot, bit32 syncLockId)
osGLOBAL bit32 tdsmAllocMemory(smRoot_t *smRoot, void **osMemHandle, void **virtPtr, bit32 *physAddrUpper, bit32 *physAddrLower, bit32 alignment, bit32 allocLength, smBOOLEAN isCacheable)
#define SCSI_STAT_CHECK_CONDITION
@ tiIntrEventTypeLocalAbort
agsaFisRegHostToDevice_t fisRegHostToDev