X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FStorage%2FATA%2Fio.c;h=c3258bc95fc9ca441575ebc2e117afcf1ba1b016;hb=35fc9e3bf502663695e350bcdbdfbab7b3b07b9e;hp=8b2d1b79efa9e8c2736df2f1469633661ee62012;hpb=14b4663d3a932e485faef03716169d15224bda20;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Storage/ATA/io.c b/KernelLand/Modules/Storage/ATA/io.c index 8b2d1b79..c3258bc9 100644 --- a/KernelLand/Modules/Storage/ATA/io.c +++ b/KernelLand/Modules/Storage/ATA/io.c @@ -203,6 +203,14 @@ int ATA_SetupIO(void) outb(IDE_SEC_BASE+1, 1); outb(IDE_PRI_CTRL, 0); outb(IDE_SEC_CTRL, 0); + + + // Soft reset all drives + outb(IDE_PRI_CTRL, 4); + outb(IDE_SEC_CTRL, 4); + IO_DELAY(); + outb(IDE_PRI_CTRL, 0); + outb(IDE_SEC_CTRL, 0); // Make sure interrupts are ACKed ATA_int_BusMasterWriteByte(2, 0x4); @@ -363,21 +371,6 @@ int ATA_DoDMA(Uint8 Disk, Uint64 Address, Uint Count, int bWrite, void *Buffer) // Reset IRQ Flag gaATA_IRQs[cont] = 0; - - // TODO: What the ____ does this do? - #if 1 - if( cont == 0 ) { - outb(IDE_PRI_CTRL, 4); - IO_DELAY(); - outb(IDE_PRI_CTRL, 0); - } - else { - outb(IDE_SEC_CTRL, 4); - IO_DELAY(); - outb(IDE_SEC_CTRL, 0); - } - #endif - // Set up transfer if( Address > 0x0FFFFFFF ) // Use LBA48 {