mirror of
https://github.com/reactos/reactos.git
synced 2024-07-14 00:25:05 +00:00
[UNIATA]
- Adjust timings in WaitOnBaseBusy, WaitForDrq, WaitShortForDrq to match old atapi driver. Thanks Caemyr for testing and finding optimal values (which are slightly below the values used in this commit). The proper solution would be to implement adaptive delays scaling. See issue #4995 for more details. svn path=/trunk/; revision=46716
This commit is contained in:
parent
2af6abad95
commit
917fa8ad14
|
@ -537,10 +537,10 @@ WaitOnBaseBusy(
|
|||
{
|
||||
ULONG i;
|
||||
UCHAR Status;
|
||||
for (i=0; i<200; i++) {
|
||||
for (i=0; i<20000; i++) {
|
||||
GetBaseStatus(chan, Status);
|
||||
if (Status & IDE_STATUS_BUSY) {
|
||||
AtapiStallExecution(10);
|
||||
AtapiStallExecution(150);
|
||||
continue;
|
||||
} else {
|
||||
break;
|
||||
|
@ -640,11 +640,11 @@ WaitForDrq(
|
|||
for (i=0; i<1000; i++) {
|
||||
GetStatus(chan, Status);
|
||||
if (Status & IDE_STATUS_BUSY) {
|
||||
AtapiStallExecution(10);
|
||||
AtapiStallExecution(100);
|
||||
} else if (Status & IDE_STATUS_DRQ) {
|
||||
break;
|
||||
} else {
|
||||
AtapiStallExecution(10);
|
||||
AtapiStallExecution(200);
|
||||
}
|
||||
}
|
||||
return Status;
|
||||
|
@ -661,11 +661,11 @@ WaitShortForDrq(
|
|||
for (i=0; i<2; i++) {
|
||||
GetStatus(chan, Status);
|
||||
if (Status & IDE_STATUS_BUSY) {
|
||||
AtapiStallExecution(10);
|
||||
AtapiStallExecution(100);
|
||||
} else if (Status & IDE_STATUS_DRQ) {
|
||||
break;
|
||||
} else {
|
||||
AtapiStallExecution(10);
|
||||
AtapiStallExecution(100);
|
||||
}
|
||||
}
|
||||
return Status;
|
||||
|
|
Loading…
Reference in a new issue