Author: akhaldi Date: Sun Mar 24 19:41:59 2013 New Revision: 58608
URL: http://svn.reactos.org/svn/reactos?rev=58608&view=rev Log: [UNIATA] * Sync to 0.44d. [ATACTL] * Sync to 0.44d.
Modified: trunk/reactos/base/applications/atactl/atactl.cpp trunk/reactos/drivers/storage/ide/uniata/atapi.h trunk/reactos/drivers/storage/ide/uniata/bm_devs.h trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp trunk/reactos/drivers/storage/ide/uniata/id_init.cpp trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp trunk/reactos/drivers/storage/ide/uniata/id_sata.cpp trunk/reactos/drivers/storage/ide/uniata/uniata_ver.h
Modified: trunk/reactos/base/applications/atactl/atactl.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/atactl/at... ============================================================================== --- trunk/reactos/base/applications/atactl/atactl.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/atactl/atactl.cpp [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -337,7 +337,7 @@ { ULONG status; PSCSI_PASS_THROUGH_WITH_BUFFERS sptwb; - ULONG data_len = BufferLength; + //ULONG data_len = BufferLength; ULONG len;
len = BufferLength + offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS, ucDataBuf); @@ -1065,7 +1065,7 @@ { char dev_name[64]; HANDLE h; - BOOLEAN uniata_driven; + //BOOLEAN uniata_driven;
if(bus_id == -1) { for(bus_id=0; TRUE; bus_id++) { @@ -1074,7 +1074,7 @@ } return TRUE; } - uniata_driven = ata_adapter_info(bus_id, g_adapter_info); + /*uniata_driven =*/ ata_adapter_info(bus_id, g_adapter_info); sprintf(dev_name, "\\.\Scsi%d:", bus_id); h = ata_open_dev(dev_name); if(!h) @@ -1230,8 +1230,13 @@ &to, sizeof(to), NULL, 0, &returned); + if(!status) { + printf("Delete failed\n"); + } else { + printf("Device is detached\n"); + } ata_close_dev(h); - return TRUE; + return status ? TRUE : FALSE; } // end ata_hide()
BOOLEAN @@ -1289,7 +1294,7 @@ FALSE); } ata_close_dev(h); - return TRUE; + return status ? TRUE : FALSE; } // end ata_scan()
CHAR* @@ -1656,7 +1661,7 @@ NULL, 0, FALSE, &senseData, &returned); ata_close_dev(h); - return TRUE; + return status ? TRUE : FALSE; } // end ata_power_mode()
int
Modified: trunk/reactos/drivers/storage/ide/uniata/atapi.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/atapi.h [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/atapi.h [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -333,6 +333,8 @@ #define ATA_SA150 0x47 /*0x80*/ #define ATA_SA300 0x48 /*0x81*/ #define ATA_SA600 0x49 /*0x82*/ + +#define ATA_MODE_NOT_SPEC ((ULONG)(-1)) /*0x82*/
// // IDE command definitions
Modified: trunk/reactos/drivers/storage/ide/uniata/bm_devs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/bm_devs.h [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/bm_devs.h [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -66,7 +66,7 @@ ULONG nDeviceId; ULONG nRevId; ULONG MaxTransferMode; - PCHAR FullDevName; + PVEN_STR FullDevName; ULONG RaidFlags; CHAR VendorIdStr[4]; CHAR DeviceIdStr[4]; @@ -665,7 +665,7 @@
#ifdef USER_MODE #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ - { (PVEN_STR) #idlo, 4, 0x##idlo, (PVEN_STR) #idhi, 4, 0x##idhi, rev, mode, name, flags} + { (PVEN_STR) #idlo, 4, 0x##idlo, (PVEN_STR) #idhi, 4, 0x##idhi, rev, mode, (PVEN_STR)name, flags} #else #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ { (PVEN_STR) #idlo, 4, 0x##idlo, (PVEN_STR) #idhi, 4, 0x##idhi, rev, mode, NULL, flags}
Modified: trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -1354,7 +1354,7 @@ ULONG waitCount = 50000; ULONG j; UCHAR statusByte; - UCHAR statusByte2; + //UCHAR statusByte2; UCHAR signatureLow, signatureHigh; BOOLEAN atapiDev = FALSE; @@ -1393,7 +1393,7 @@ AtapiStallExecution(10); statusByte = WaitOnBusyLong(chan); // Check that the status register makes sense. - GetBaseStatus(chan, statusByte2); + GetBaseStatus(chan, statusByte); }
if (Command == IDE_COMMAND_IDENTIFY) { @@ -1435,11 +1435,11 @@ }
} while ((statusByte & IDE_STATUS_BUSY) && waitCount--); - GetBaseStatus(chan, statusByte2); + GetBaseStatus(chan, statusByte);
SelectDrive(chan, DeviceNumber); } else { - GetBaseStatus(chan, statusByte2); + GetBaseStatus(chan, statusByte); } // Another check for signature, to deal with one model Atapi that doesn't assert signature after // a soft reset. @@ -3121,7 +3121,7 @@ } else if (!(LunExt->DeviceFlags & DFLAGS_CHANGER_INITED)){
ULONG j; - BOOLEAN isSanyo = FALSE; + //BOOLEAN isSanyo = FALSE; CCHAR vendorId[26];
KdPrint2((PRINT_PREFIX "AtapiHwInitialize: ATAPI/Changer branch\n")); @@ -3142,7 +3142,7 @@ // acting like 1) a multi-lun device and 2) building the 'special' TUR's. LunExt->DeviceFlags |= (DFLAGS_CHANGER_INITED | DFLAGS_SANYO_ATAPI_CHANGER); LunExt->DiscsPresent = 3; - isSanyo = TRUE; + //isSanyo = TRUE; } } } @@ -4533,7 +4533,9 @@
BOOLEAN atapiDev = FALSE;
+#ifdef DBG UCHAR Channel; +#endif //DBG UCHAR lChannel; UCHAR DeviceNumber; BOOLEAN DmaTransfer = FALSE; @@ -4564,9 +4566,12 @@ PHW_LU_EXTENSION LunExt;
lChannel = c; + +#ifdef DBG Channel = (UCHAR)(deviceExtension->Channel + lChannel);
KdPrint2((PRINT_PREFIX " cntrlr %#x:%d, irql %#x, c %d\n", deviceExtension->DevIndex, Channel, KeGetCurrentIrql(), c)); +#endif //DBG
if((chan->ChannelCtrlFlags & CTRFLAGS_DMA_ACTIVE) || (AtaReq && (AtaReq->Flags & REQ_FLAG_DMA_OPERATION)) || @@ -5525,11 +5530,20 @@ } else if (interruptReason == (ATAPI_IR_IO_toHost | ATAPI_IR_COD_Cmd) && !(statusByte & IDE_STATUS_DRQ)) {
KdPrint2((PRINT_PREFIX "AtapiInterrupt: interruptReason = CompleteRequest\n")); - // Command complete. + // Command complete. We exactly know this because os IReason. + if(DmaTransfer) { KdPrint2((PRINT_PREFIX "AtapiInterrupt: CompleteRequest, was DmaTransfer\n")); - AtaReq->WordsTransfered = AtaReq->WordsLeft; + AtaReq->WordsTransfered += AtaReq->WordsLeft; AtaReq->WordsLeft = 0; + } else { + KdPrint2((PRINT_PREFIX "AtapiInterrupt: CompleteRequest, was PIO\n")); + + wordCount = AtaReq->WordsLeft; + // Advance data buffer pointer and bytes left. + AtaReq->DataBuffer += wordCount; + AtaReq->WordsLeft -= wordCount; + AtaReq->WordsTransfered += wordCount; } //if (AtaReq->WordsLeft) { // status = SRB_STATUS_DATA_OVERRUN; @@ -9905,7 +9919,7 @@ ULONG statusToReturn, newStatus; PUNICODE_STRING RegistryPath = (PUNICODE_STRING)Argument2; BOOLEAN ReEnter = FALSE; - WCHAR a; +// WCHAR a; #ifndef USE_REACTOS_DDK NTSTATUS status; #endif @@ -9918,7 +9932,7 @@
Connect_DbgPrint(); KdPrint2((PRINT_PREFIX "%s", (PCCHAR)ver_string)); - a = (WCHAR)strlen(ver_string); + //a = (WCHAR)strlen(ver_string);
g_opt_Verbose = (BOOLEAN)AtapiRegCheckDevValue(NULL, CHAN_NOT_SPECIFIED, DEVNUM_NOT_SPECIFIED, L"PrintLogo", 0); if(g_opt_Verbose) { @@ -10752,7 +10766,7 @@ } if(deviceExtension->AdapterInterfaceType == PCIBus) { // we must never get here for non-PCI - status = UniataDisconnectIntr2(HwDeviceExtension); + /*status =*/ UniataDisconnectIntr2(HwDeviceExtension); BMList[deviceExtension->DevIndex].Isr2Enable = FALSE; } break; @@ -10765,15 +10779,17 @@
AtapiChipInit(HwDeviceExtension, DEVNUM_NOT_SPECIFIED, CHAN_NOT_SPECIFIED); status = UniataConnectIntr2(HwDeviceExtension); - for (c = 0; c < numberChannels; c++) { - AtapiChipInit(HwDeviceExtension, DEVNUM_NOT_SPECIFIED, c); - FindDevices(HwDeviceExtension, 0, c); - AtapiEnableInterrupts(deviceExtension, c); - AtapiHwInitialize__(deviceExtension, c); - } - if(deviceExtension->Isr2DevObj) { - // we must never get here for non-PCI - BMList[deviceExtension->DevIndex].Isr2Enable = TRUE; + if(NT_SUCCESS(status)) { + for (c = 0; c < numberChannels; c++) { + AtapiChipInit(HwDeviceExtension, DEVNUM_NOT_SPECIFIED, c); + FindDevices(HwDeviceExtension, 0, c); + AtapiEnableInterrupts(deviceExtension, c); + AtapiHwInitialize__(deviceExtension, c); + } + if(deviceExtension->Isr2DevObj) { + // we must never get here for non-PCI + BMList[deviceExtension->DevIndex].Isr2Enable = TRUE; + } }
break; @@ -10808,13 +10824,13 @@ ... ) { - int len; + //int len; UCHAR dbg_print_tmp_buff[DEBUG_MSG_BUFFER_SIZE]; // UNICODE_STRING msgBuff; va_list ap; va_start(ap, DebugMessage);
- len = _vsnprintf((PCHAR)&dbg_print_tmp_buff[0], DEBUG_MSG_BUFFER_SIZE-1, DebugMessage, ap); + /*len =*/ _vsnprintf((PCHAR)&dbg_print_tmp_buff[0], DEBUG_MSG_BUFFER_SIZE-1, DebugMessage, ap);
dbg_print_tmp_buff[DEBUG_MSG_BUFFER_SIZE-1] = 0;
Modified: trunk/reactos/drivers/storage/ide/uniata/id_init.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/id_init.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/id_init.cpp [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -359,10 +359,10 @@ };
static BUSMASTER_CONTROLLER_INFORMATION const ViaSouthAdapters[] = { - PCI_DEV_HW_SPEC_BM( 3112, 1106, 0x00, -1, "VIA 8361", VIASOUTH ), - PCI_DEV_HW_SPEC_BM( 0305, 1106, 0x00, -1, "VIA 8363", VIASOUTH ), - PCI_DEV_HW_SPEC_BM( 0391, 1106, 0x00, -1, "VIA 8371", VIASOUTH ), - PCI_DEV_HW_SPEC_BM( 3102, 1106, 0x00, -1, "VIA 8662", VIASOUTH ), + PCI_DEV_HW_SPEC_BM( 3112, 1106, 0x00, ATA_MODE_NOT_SPEC, "VIA 8361", VIASOUTH ), + PCI_DEV_HW_SPEC_BM( 0305, 1106, 0x00, ATA_MODE_NOT_SPEC, "VIA 8363", VIASOUTH ), + PCI_DEV_HW_SPEC_BM( 0391, 1106, 0x00, ATA_MODE_NOT_SPEC, "VIA 8371", VIASOUTH ), + PCI_DEV_HW_SPEC_BM( 3102, 1106, 0x00, ATA_MODE_NOT_SPEC, "VIA 8662", VIASOUTH ), PCI_DEV_HW_SPEC_BM( ffff, ffff, 0xff, BMLIST_TERMINATOR, NULL , BMLIST_TERMINATOR ) };
@@ -785,9 +785,9 @@ ChangePciConfig1(0x57, (a | 0x80)); } else { static BUSMASTER_CONTROLLER_INFORMATION const SiSSouthAdapters[] = { - PCI_DEV_HW_SPEC_BM( 0008, 1039, 0x10, -1, "SiS 961", 0 ), -// PCI_DEV_HW_SPEC_BM( 0008, 1039, 0x00, -1, "SiS 961", 0 ), - PCI_DEV_HW_SPEC_BM( ffff, ffff, 0xff, -1, NULL , -1 ) + PCI_DEV_HW_SPEC_BM( 0008, 1039, 0x10, ATA_MODE_NOT_SPEC, "SiS 961", 0 ), +// PCI_DEV_HW_SPEC_BM( 0008, 1039, 0x00, ATA_MODE_NOT_SPEC, "SiS 961", 0 ), + PCI_DEV_HW_SPEC_BM( ffff, ffff, 0xff, ATA_MODE_NOT_SPEC, NULL , -1 ) }; // Save settings GetPciConfig1(0x4a, tmp8); @@ -798,8 +798,8 @@ -1, HwDeviceExtension, SystemIoBusNumber, PCISLOTNUM_NOT_SPECIFIED, NULL); if(i != BMLIST_TERMINATOR) { deviceExtension->HwFlags = (deviceExtension->HwFlags & ~CHIPTYPE_MASK) | SIS133OLD; - //deviceExtension->MaxTransferMode = ATA_UDMA6; - deviceExtension->MaxTransferMode = SiSSouthAdapters[i].MaxTransferMode; + deviceExtension->MaxTransferMode = ATA_UDMA6; + //deviceExtension->MaxTransferMode = SiSSouthAdapters[i].MaxTransferMode; if(SiSSouthAdapters[i].RaidFlags & UNIATA_SATA) { deviceExtension->HwFlags |= UNIATA_SATA; if(SiSSouthAdapters[i].nDeviceId == 0x1182) { @@ -1651,7 +1651,7 @@ PHW_CHANNEL chan; UCHAR tmp8; USHORT tmp16; - ULONG tmp32; + //ULONG tmp32; ULONG c; // logical channel (for Compatible Mode controllers) BOOLEAN CheckCable = FALSE; BOOLEAN GlobalInit = FALSE; @@ -2142,15 +2142,15 @@ chan = &deviceExtension->chan[c]; /* dont block interrupts */ //ChangePciConfig4(0x48, (a & ~0x03c00000)); - tmp32 = AtapiReadPortEx4(NULL, (ULONGIO_PTR)(&deviceExtension->BaseIoAddressSATA_0),0x48); + /*tmp32 =*/ AtapiReadPortEx4(NULL, (ULONGIO_PTR)(&deviceExtension->BaseIoAddressSATA_0),0x48); AtapiWritePortEx4(NULL, (ULONGIO_PTR)(&deviceExtension->BaseIoAddressSATA_0),0x48, (1 << 22) << c); // flush - tmp32 = AtapiReadPortEx4(NULL, (ULONGIO_PTR)(&deviceExtension->BaseIoAddressSATA_0),0x48); + /*tmp32 =*/ AtapiReadPortEx4(NULL, (ULONGIO_PTR)(&deviceExtension->BaseIoAddressSATA_0),0x48);
/* Initialize FIFO PCI bus arbitration */ GetPciConfig1(offsetof(PCI_COMMON_CONFIG, CacheLineSize), tmp8); if(tmp8) { - KdPrint2((PRINT_PREFIX "SII: CacheLine=%d\n", tmp32)); + KdPrint2((PRINT_PREFIX "SII: CacheLine=%d\n", tmp8)); tmp8 = (tmp8/8)+1; AtapiWritePort2(chan, IDX_BM_DeviceSpecific1, ((USHORT)tmp8) << 8 | tmp8); } else {
Modified: trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -127,6 +127,10 @@ // reread config space busDataRead = HalGetBusData(PCIConfiguration, busNumber, slotNumber, pciData, PCI_COMMON_HDR_LENGTH); + if(busDataRead < PCI_COMMON_HDR_LENGTH) { + KdPrint2((PRINT_PREFIX "HalGetBusData() failed %#x\n", busDataRead)); + break; + } KdPrint2((PRINT_PREFIX "New pciData.Command = %#x\n", pciData->Command)); } KdPrint2((PRINT_PREFIX "InterruptLine = %#x\n", pciData->u.type0.InterruptLine)); @@ -287,7 +291,7 @@ ) { // PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PVOID HwDeviceExtension; +// PVOID HwDeviceExtension; PHW_DEVICE_EXTENSION deviceExtension = NULL; PCI_SLOT_NUMBER slotData; PCI_COMMON_CONFIG pciData; @@ -328,7 +332,7 @@ deviceStrPtr = deviceString; slotData.u.AsULONG = 0;
- HwDeviceExtension = + /*HwDeviceExtension =*/ deviceExtension = (PHW_DEVICE_EXTENSION)ExAllocatePool(NonPagedPool, sizeof(HW_DEVICE_EXTENSION)); if(!deviceExtension) { return(SP_RETURN_NOT_FOUND); @@ -920,12 +924,13 @@ ULONG slotNumber; ULONG busDataRead; ULONG SystemIoBusNumber; - +/* UCHAR vendorString[5]; UCHAR deviceString[5]; + PUCHAR vendorStrPtr; PUCHAR deviceStrPtr; - +*/ UCHAR BaseClass; UCHAR SubClass; ULONG VendorID; @@ -1025,10 +1030,10 @@ return SP_RETURN_ERROR; } RtlZeroMemory(deviceExtension, sizeof(HW_DEVICE_EXTENSION)); - +/* vendorStrPtr = vendorString; deviceStrPtr = deviceString; - +*/ slotNumber = BMList[i].slotNumber; SystemIoBusNumber = BMList[i].busNumber;
@@ -2108,7 +2113,7 @@ ULONG irq=0; ULONG portBase; ULONG retryCount; - BOOLEAN atapiOnly; +// BOOLEAN atapiOnly; UCHAR statusByte; BOOLEAN preConfig = FALSE; // @@ -2457,12 +2462,12 @@ if (AtapiParseArgumentString(ArgumentString, "dump") == 1) { KdPrint2((PRINT_PREFIX "AtapiFindController: Crash dump\n")); - atapiOnly = FALSE; + //atapiOnly = FALSE; deviceExtension->DriverMustPoll = TRUE; } else { KdPrint2((PRINT_PREFIX "AtapiFindController: Atapi Only\n")); - atapiOnly = TRUE; + //atapiOnly = TRUE; deviceExtension->DriverMustPoll = FALSE; } #endif //UNIATA_CORE @@ -2470,17 +2475,17 @@
KdPrint2((PRINT_PREFIX "AtapiFindController: Atapi Only (2)\n")); - atapiOnly = TRUE; + //atapiOnly = TRUE; deviceExtension->DriverMustPoll = FALSE; }
} else { - atapiOnly = FALSE; + //atapiOnly = FALSE; }
} else {
- atapiOnly = FALSE; + //atapiOnly = FALSE; deviceExtension->DriverMustPoll = FALSE;
}// preConfig check
Modified: trunk/reactos/drivers/storage/ide/uniata/id_sata.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/id_sata.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/id_sata.cpp [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -645,7 +645,9 @@ PHW_CHANNEL chan; ULONG offs; ULONG BaseMemAddress; +#ifdef DBG ULONG PI; +#endif //DBG ULONG CAP; ULONG GHC; BOOLEAN MemIo = FALSE; @@ -722,9 +724,11 @@ if(CAP & AHCI_CAP_SAM) { KdPrint2((PRINT_PREFIX " AHCI legasy SATA\n")); } +#ifdef DBG /* get the number of HW channels */ PI = UniataAhciReadHostPort4(deviceExtension, IDX_AHCI_PI); KdPrint2((PRINT_PREFIX " AHCI PI %#x\n", PI)); +#endif //DBG
/* clear interrupts */ UniataAhciWriteHostPort4(deviceExtension, IDX_AHCI_IS, @@ -837,9 +841,11 @@ ULONG CAP; ULONG CAP2; ULONG GHC, GHC0; +#ifdef DBG ULONG BOHC; + ULONG v_Mn, v_Mj; +#endif //DBG ULONG NumberChannels; - ULONG v_Mn, v_Mj; ULONG BaseMemAddress; BOOLEAN MemIo = FALSE; BOOLEAN found = FALSE; @@ -905,10 +911,12 @@ KdPrint2((PRINT_PREFIX " 64bit")); //deviceExtension->Host64 = TRUE; // this is just DETECT, do not update anything } +#ifdef DBG if(CAP2 & AHCI_CAP2_BOH) { BOHC = UniataAhciReadHostPort4(deviceExtension, IDX_AHCI_BOHC); KdPrint2((PRINT_PREFIX " BOHC %#x", BOHC)); } +#endif //DBG if(CAP & AHCI_CAP_NCQ) { KdPrint2((PRINT_PREFIX " NCQ")); } @@ -950,6 +958,7 @@ goto exit_detect; }
+#ifdef DBG v_Mj = ((version >> 20) & 0xf0) + ((version >> 16) & 0x0f); v_Mn = ((version >> 4) & 0xf0) + (version & 0x0f);
@@ -957,6 +966,7 @@ v_Mj, v_Mn, NumberChannels, PI)); KdPrint((" AHCI SATA Gen %d\n", (((CAP & AHCI_CAP_ISS_MASK) >> 20)) )); +#endif //DBG
if(CAP & AHCI_CAP_SPM) { KdPrint2((PRINT_PREFIX " PM supported\n")); @@ -2166,11 +2176,11 @@ ULONG tag=0; //ULONG i; PIDE_AHCI_CMD_LIST AHCI_CL = &(chan->AhciCtlBlock->cmd_list[tag]); - PHW_LU_EXTENSION LunExt; + //PHW_LU_EXTENSION LunExt;
KdPrint2(("UniataAhciEndTransaction: lChan %d\n", chan->lChannel));
- LunExt = chan->lun[DeviceNumber]; + //LunExt = chan->lun[DeviceNumber];
TFD = UniataAhciReadChannelPort4(chan, IDX_AHCI_P_TFD); KdPrint2((" TFD %#x\n", TFD)); @@ -2474,7 +2484,9 @@ PUCHAR prd_base0; ULONGLONG prd_base64_0; }; +#ifdef DBG ULONG d; +#endif // DBG
prd_base64_0 = prd_base64 = 0; prd_base = (PUCHAR)(&AtaReq->ahci_cmd0); @@ -2482,8 +2494,10 @@
prd_base64 = (prd_base64 + max(FIELD_OFFSET(ATA_REQ, ahci_cmd0), AHCI_CMD_ALIGNEMENT_MASK+1)) & ~AHCI_CMD_ALIGNEMENT_MASK;
+#ifdef DBG d = (ULONG)(prd_base64 - prd_base64_0); KdPrint2((PRINT_PREFIX " AtaReq %#x: cmd aligned %I64x, d=%x\n", AtaReq, prd_base64, d)); +#endif // DBG
AtaReq->ahci.ahci_cmd_ptr = (PIDE_AHCI_CMD)prd_base64; KdPrint2((PRINT_PREFIX " ahci_cmd_ptr %#x\n", AtaReq->ahci.ahci_cmd_ptr));
Modified: trunk/reactos/drivers/storage/ide/uniata/uniata_ver.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/... ============================================================================== --- trunk/reactos/drivers/storage/ide/uniata/uniata_ver.h [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/ide/uniata/uniata_ver.h [iso-8859-1] Sun Mar 24 19:41:59 2013 @@ -6,5 +6,5 @@ #define UNIATA_VER_SUB_MN 1 #define UNIATA_VER_DOT_COMMA 0,44,2,1 #define UNIATA_VER_DOT_STR "0.44.2.1" -#define UNIATA_VER_YEAR 2012 -#define UNIATA_VER_YEAR_STR "2012" +#define UNIATA_VER_YEAR 2013 +#define UNIATA_VER_YEAR_STR "2013"