diff --git a/src/raspberrypi/controllers/sasidev_ctrl.cpp b/src/raspberrypi/controllers/sasidev_ctrl.cpp index ca0f45a3..1f5b63fe 100644 --- a/src/raspberrypi/controllers/sasidev_ctrl.cpp +++ b/src/raspberrypi/controllers/sasidev_ctrl.cpp @@ -1124,8 +1124,7 @@ bool SASIDEV::XferOut(bool cont) switch ((SASIDEV::sasi_command) ctrl.cmd[0]) { case SASIDEV::eCmdModeSelect: case SASIDEV::eCmdModeSelect10: - if (!device->ModeSelect( - ctrl.cmd, ctrl.buffer, ctrl.offset)) { + if (!device->ModeSelect(ctrl.cmd, ctrl.buffer, ctrl.offset)) { // MODE SELECT failed return false; } @@ -1157,7 +1156,6 @@ bool SASIDEV::XferOut(bool cont) // write failed return false; } - LOGTRACE("%s Done with DaynaPort Write", __PRETTY_FUNCTION__); // If normal, work setting ctrl.offset = 0; @@ -1165,7 +1163,6 @@ bool SASIDEV::XferOut(bool cont) break; } - LOGTRACE("%s eCmdVerify Calling Write... cmd: %02X next: %d", __PRETTY_FUNCTION__, (WORD)ctrl.cmd[0], (int)ctrl.next); if (!device->Write(ctrl.cmd, ctrl.buffer, ctrl.next - 1)) { // Write failed return false; @@ -1254,12 +1251,11 @@ void SASIDEV::FlushUnit() return; } break; - case SASIDEV::eCmdSetIfaceMode: - LOGWARN("%s Trying to flush a command set interface mode. This should be a daynaport?", __PRETTY_FUNCTION__); - break; + case SASIDEV::eCmdSetMcastAddr: // TODO: Eventually, we should store off the multicast address configuration data here... break; + default: LOGWARN("Received an unexpected flush command %02X!!!!!\n",(WORD)ctrl.cmd[0]); // The following statement makes debugging a huge pain. You can un-comment it diff --git a/src/raspberrypi/controllers/sasidev_ctrl.h b/src/raspberrypi/controllers/sasidev_ctrl.h index 260fdb73..25c847df 100644 --- a/src/raspberrypi/controllers/sasidev_ctrl.h +++ b/src/raspberrypi/controllers/sasidev_ctrl.h @@ -31,55 +31,54 @@ class SASIDEV { protected: enum scsi_message_code : BYTE { - eMsgCodeAbort = 0x06, - eMsgCodeAbortTag = 0x0D, - eMsgCodeBusDeviceReset = 0x0C, - eMsgCodeClearQueue = 0x0E, - eMsgCodeCommandComplete = 0x00, - eMsgCodeDisconnect = 0x04, - eMsgCodeIdentify = 0x80, - eMsgCodeIgnoreWideResidue = 0x23, // (Two Bytes) - eMsgCodeInitiateRecovery = 0x0F, - eMsgCodeInitiatorDetectedError = 0x05, - eMsgCodeLinkedCommandComplete = 0x0A, + eMsgCodeAbort = 0x06, + eMsgCodeAbortTag = 0x0D, + eMsgCodeBusDeviceReset = 0x0C, + eMsgCodeClearQueue = 0x0E, + eMsgCodeCommandComplete = 0x00, + eMsgCodeDisconnect = 0x04, + eMsgCodeIdentify = 0x80, + eMsgCodeIgnoreWideResidue = 0x23, // (Two Bytes) + eMsgCodeInitiateRecovery = 0x0F, + eMsgCodeInitiatorDetectedError = 0x05, + eMsgCodeLinkedCommandComplete = 0x0A, eMsgCodeLinkedCommandCompleteWithFlag = 0x0B, - eMsgCodeMessageParityError = 0x09, - eMsgCodeMessageReject = 0x07, - eMsgCodeNoOperation = 0x08, - eMsgCodeHeadOfQueueTag = 0x21, - eMsgCodeOrderedQueueTag = 0x22, - eMsgCodeSimpleQueueTag = 0x20, - eMsgCodeReleaseRecovery = 0x10, - eMsgCodeRestorePointers = 0x03, - eMsgCodeSaveDataPointer = 0x02, - eMsgCodeTerminateIOProcess = 0x11, + eMsgCodeMessageParityError = 0x09, + eMsgCodeMessageReject = 0x07, + eMsgCodeNoOperation = 0x08, + eMsgCodeHeadOfQueueTag = 0x21, + eMsgCodeOrderedQueueTag = 0x22, + eMsgCodeSimpleQueueTag = 0x20, + eMsgCodeReleaseRecovery = 0x10, + eMsgCodeRestorePointers = 0x03, + eMsgCodeSaveDataPointer = 0x02, + eMsgCodeTerminateIOProcess = 0x11 }; private: - enum sasi_command : int { - eCmdTestUnitReady = 0x00, - eCmdRezero = 0x01, - eCmdRequestSense = 0x03, - eCmdFormat = 0x04, - eCmdReassign = 0x07, - eCmdRead6 = 0x08, - eCmdWrite6 = 0x0A, - eCmdSeek6 = 0x0B, - eCmdSetIfaceMode = 0x0C, // DaynaPort specific command - eCmdSetMcastAddr = 0x0D, // DaynaPort specific command - eCmdModeSelect = 0x15, - eCmdReserve6 = 0x16, - eCmdRelease6 = 0x17, - eCmdRead10 = 0x28, - eCmdWrite10 = 0x2A, - eCmdVerify10 = 0x2E, - eCmdVerify = 0x2F, - eCmdModeSelect10 = 0x55, - eCmdRead16 = 0x88, - eCmdWrite16 = 0x8A, - eCmdVerify16 = 0x8F, - eCmdInvalid = 0xC2, - eCmdSasiCmdAssign = 0x0E + enum sasi_command { + eCmdTestUnitReady = 0x00, + eCmdRezero = 0x01, + eCmdRequestSense = 0x03, + eCmdFormat = 0x04, + eCmdReassign = 0x07, + eCmdRead6 = 0x08, + eCmdWrite6 = 0x0A, + eCmdSeek6 = 0x0B, + eCmdSetMcastAddr = 0x0D, // DaynaPort specific command + eCmdModeSelect = 0x15, + eCmdReserve6 = 0x16, + eCmdRelease6 = 0x17, + eCmdRead10 = 0x28, + eCmdWrite10 = 0x2A, + eCmdVerify10 = 0x2E, + eCmdVerify = 0x2F, + eCmdModeSelect10 = 0x55, + eCmdRead16 = 0x88, + eCmdWrite16 = 0x8A, + eCmdVerify16 = 0x8F, + eCmdInvalid = 0xC2, + eCmdSasiCmdAssign = 0x0E }; public: diff --git a/src/raspberrypi/controllers/scsidev_ctrl.h b/src/raspberrypi/controllers/scsidev_ctrl.h index e7eae6fc..2847aabd 100644 --- a/src/raspberrypi/controllers/scsidev_ctrl.h +++ b/src/raspberrypi/controllers/scsidev_ctrl.h @@ -26,46 +26,46 @@ class SCSIDEV : public SASIDEV { public: - enum scsi_command : int { - eCmdTestUnitReady = 0x00, - eCmdRezero = 0x01, - eCmdRequestSense = 0x03, - eCmdFormat = 0x04, - eCmdReassign = 0x07, - eCmdRead6 = 0x08, - eCmdRetrieveStats = 0x09, // DaynaPort specific command - eCmdWrite6 = 0x0A, - eCmdSeek6 = 0x0B, - eCmdSetIfaceMode = 0x0C, // DaynaPort specific command - eCmdSetMcastAddr = 0x0D, // DaynaPort specific command - eCmdEnableInterface = 0x0E, // DaynaPort specific command - eCmdInquiry = 0x12, - eCmdModeSelect = 0x15, - eCmdReserve6 = 0x16, - eCmdRelease6 = 0x17, - eCmdModeSense = 0x1A, - eCmdStartStop = 0x1B, - eCmdSendDiag = 0x1D, - eCmdRemoval = 0x1E, - eCmdReadCapacity10 = 0x25, - eCmdRead10 = 0x28, - eCmdWrite10 = 0x2A, - eCmdSeek10 = 0x2B, - eCmdVerify10 = 0x2F, - eCmdSynchronizeCache10 = 0x35, - eCmdReadDefectData10 = 0x37, - eCmdReadToc = 0x43, - eCmdGetEventStatusNotification = 0x4a, - eCmdModeSelect10 = 0x55, - eCmdReserve10 = 0x56, - eCmdRelease10 = 0x57, - eCmdModeSense10 = 0x5A, - eCmdRead16 = 0x88, - eCmdWrite16 = 0x8A, - eCmdVerify16 = 0x8F, - eCmdSynchronizeCache16 = 0x91, - eCmdReadCapacity16 = 0x9E, - eCmdReportLuns = 0xA0 + enum scsi_command { + eCmdTestUnitReady = 0x00, + eCmdRezero = 0x01, + eCmdRequestSense = 0x03, + eCmdFormat = 0x04, + eCmdReassign = 0x07, + eCmdRead6 = 0x08, + eCmdRetrieveStats = 0x09, // DaynaPort specific command + eCmdWrite6 = 0x0A, + eCmdSeek6 = 0x0B, + eCmdSetIfaceMode = 0x0C, // DaynaPort specific command + eCmdSetMcastAddr = 0x0D, // DaynaPort specific command + eCmdEnableInterface = 0x0E, // DaynaPort specific command + eCmdInquiry = 0x12, + eCmdModeSelect = 0x15, + eCmdReserve6 = 0x16, + eCmdRelease6 = 0x17, + eCmdModeSense = 0x1A, + eCmdStartStop = 0x1B, + eCmdSendDiag = 0x1D, + eCmdRemoval = 0x1E, + eCmdReadCapacity10 = 0x25, + eCmdRead10 = 0x28, + eCmdWrite10 = 0x2A, + eCmdSeek10 = 0x2B, + eCmdVerify10 = 0x2F, + eCmdSynchronizeCache10 = 0x35, + eCmdReadDefectData10 = 0x37, + eCmdReadToc = 0x43, + eCmdGetEventStatusNotification = 0x4a, + eCmdModeSelect10 = 0x55, + eCmdReserve10 = 0x56, + eCmdRelease10 = 0x57, + eCmdModeSense10 = 0x5A, + eCmdRead16 = 0x88, + eCmdWrite16 = 0x8A, + eCmdVerify16 = 0x8F, + eCmdSynchronizeCache16 = 0x91, + eCmdReadCapacity16 = 0x9E, + eCmdReportLuns = 0xA0 }; // Internal data definition