mirror of
https://github.com/reactos/reactos.git
synced 2024-10-07 18:04:41 +00:00
[UNIATA]
Update to 0.45b. CORE-8280 svn path=/trunk/; revision=64855
This commit is contained in:
parent
8dfcb13a92
commit
1a453ba5b6
|
@ -1692,7 +1692,7 @@ IssueIdentify(
|
|||
deviceExtension->FullIdentifyData.NVCache_Version
|
||||
));
|
||||
|
||||
KdPrint2((PRINT_PREFIX "R-rate %#x\n",
|
||||
KdPrint2((PRINT_PREFIX "R-rate %d\n",
|
||||
deviceExtension->FullIdentifyData.NominalMediaRotationRate
|
||||
));
|
||||
|
||||
|
@ -5071,9 +5071,9 @@ continue_err:
|
|||
if(AtaReq->retry < MAX_RETRIES) {
|
||||
//fallback_pio:
|
||||
if(!(deviceExtension->HwFlags & UNIATA_AHCI)) {
|
||||
AtaReq->Flags &= ~REQ_FLAG_DMA_OPERATION;
|
||||
//AtaReq->Flags &= ~REQ_FLAG_DMA_OPERATION;
|
||||
// Downrate will happen in AtapiDmaReinit(), try UDMA-2 for HDD only
|
||||
AtaReq->Flags |= REQ_FLAG_FORCE_DOWNRATE;
|
||||
// LunExt->DeviceFlags |= DFLAGS_FORCE_DOWNRATE;
|
||||
}
|
||||
AtaReq->ReqState = REQ_STATE_QUEUED;
|
||||
goto reenqueue_req;
|
||||
|
@ -5093,6 +5093,7 @@ continue_err:
|
|||
((error >> 4) == SCSI_SENSE_HARDWARE_ERROR)) {
|
||||
if(AtaReq->retry < MAX_RETRIES) {
|
||||
//fallback_pio:
|
||||
// Downrate will happen in AtapiDmaReinit(), use PIO immediately for ATAPI
|
||||
AtaReq->Flags &= ~REQ_FLAG_DMA_OPERATION;
|
||||
AtaReq->Flags |= REQ_FLAG_FORCE_DOWNRATE;
|
||||
// LunExt->DeviceFlags |= DFLAGS_FORCE_DOWNRATE;
|
||||
|
@ -5449,6 +5450,7 @@ IntrPrepareResetController:
|
|||
chan->ChannelCtrlFlags &= ~CTRFLAGS_DMA_OPERATION;
|
||||
goto CompleteRequest;
|
||||
}
|
||||
continue_read_drq:
|
||||
// Ensure that this is a read command.
|
||||
if (srb->SrbFlags & SRB_FLAGS_DATA_IN) {
|
||||
|
||||
|
@ -5489,7 +5491,6 @@ IntrPrepareResetController:
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
KdPrint2((PRINT_PREFIX
|
||||
"IdeIntr: Read %#x Dwords\n", wordCount/2));
|
||||
|
@ -5581,6 +5582,12 @@ IntrPrepareResetController:
|
|||
status = SRB_STATUS_SUCCESS;
|
||||
goto CompleteRequest;
|
||||
}
|
||||
} else {
|
||||
if(!atapiDev && !DataOverrun && (srb->SrbFlags & SRB_FLAGS_DATA_IN) &&
|
||||
(statusByte == (IDE_STATUS_IDLE | IDE_STATUS_DRQ))) {
|
||||
KdPrint2((PRINT_PREFIX " HDD read data ready \n"));
|
||||
goto continue_read_drq;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6689,6 +6696,7 @@ IdeReadWrite(
|
|||
// Adjust buffer address and words left count.
|
||||
AtaReq->WordsLeft -= wordCount;
|
||||
AtaReq->DataBuffer += wordCount;
|
||||
AtaReq->WordsTransfered += wordCount;
|
||||
|
||||
// Wait for interrupt.
|
||||
return SRB_STATUS_PENDING;
|
||||
|
|
|
@ -968,6 +968,12 @@ UniataAhciDetect(
|
|||
KdPrint2((PRINT_PREFIX "\n"));
|
||||
|
||||
/* get the number of HW channels */
|
||||
|
||||
/* CAP.NOP sometimes indicate the index of the last enabled
|
||||
* port, at other times, that of the last possible port, so
|
||||
* determining the maximum port number requires looking at
|
||||
* both CAP.NOP and PI.
|
||||
*/
|
||||
PI = UniataAhciReadHostPort4(deviceExtension, IDX_AHCI_PI);
|
||||
deviceExtension->AHCI_PI = PI;
|
||||
KdPrint2((PRINT_PREFIX " AHCI PI %#x\n", PI));
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#define UNIATA_VER_STR "45a8"
|
||||
#define UNIATA_VER_DOT 0.45.1.8
|
||||
#define UNIATA_VER_STR "45b"
|
||||
#define UNIATA_VER_DOT 0.45.2.0
|
||||
#define UNIATA_VER_MJ 0
|
||||
#define UNIATA_VER_MN 45
|
||||
#define UNIATA_VER_SUB_MJ 1
|
||||
#define UNIATA_VER_SUB_MN 8
|
||||
#define UNIATA_VER_DOT_COMMA 0,45,1,8
|
||||
#define UNIATA_VER_DOT_STR "0.45.1.8"
|
||||
#define UNIATA_VER_SUB_MJ 2
|
||||
#define UNIATA_VER_SUB_MN 0
|
||||
#define UNIATA_VER_DOT_COMMA 0,45,2,0
|
||||
#define UNIATA_VER_DOT_STR "0.45.2.0"
|
||||
#define UNIATA_VER_YEAR 2014
|
||||
#define UNIATA_VER_YEAR_STR "2014"
|
||||
|
|
Loading…
Reference in a new issue