From 917fa8ad1403f5c558ed8e51343bc7fe73f74ea5 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sun, 4 Apr 2010 13:43:56 +0000 Subject: [PATCH] [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 --- reactos/drivers/storage/ide/uniata/id_ata.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reactos/drivers/storage/ide/uniata/id_ata.cpp b/reactos/drivers/storage/ide/uniata/id_ata.cpp index 1cace8bd488..fb2bb028e87 100644 --- a/reactos/drivers/storage/ide/uniata/id_ata.cpp +++ b/reactos/drivers/storage/ide/uniata/id_ata.cpp @@ -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; -- 2.17.1