From ede96dbd05a59ad911e70206084925495b0fb922 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 10 Aug 2012 01:42:40 +0000 Subject: [PATCH] Partly reverted r40090: DMA is enabled for ATAPI devices again. git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@45428 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- rom/devs/ata/ata.conf | 2 +- rom/devs/ata/lowlevel.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/rom/devs/ata/ata.conf b/rom/devs/ata/ata.conf index 7f6c8244bf..45b073a7e5 100644 --- a/rom/devs/ata/ata.conf +++ b/rom/devs/ata/ata.conf @@ -1,6 +1,6 @@ ##begin config basename ata -version 41.22 +version 41.23 libbasetype struct ataBase residentpri 4 beginio_func BeginIO diff --git a/rom/devs/ata/lowlevel.c b/rom/devs/ata/lowlevel.c index 503cb4462d..5f62bd7637 100644 --- a/rom/devs/ata/lowlevel.c +++ b/rom/devs/ata/lowlevel.c @@ -1,5 +1,5 @@ /* - Copyright © 2004-2011, The AROS Development Team. All rights reserved. + Copyright © 2004-2012, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -1209,7 +1209,6 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) unit->au_Write64 = ata_WriteSector64; } } - dma=FALSE; } else if ((mode >= AB_XFER_MDMA0) && (mode <= AB_XFER_MDMA2)) { @@ -1220,7 +1219,6 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) unit->au_Read64 = ata_ReadDMA64; unit->au_Write64 = ata_WriteDMA64; } - dma=TRUE; } else if ((mode >= AB_XFER_UDMA0) && (mode <= AB_XFER_UDMA6)) { @@ -1231,7 +1229,6 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) unit->au_Read64 = ata_ReadDMA64; unit->au_Write64 = ata_WriteDMA64; } - dma=TRUE; } else { @@ -1242,7 +1239,6 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) unit->au_Read64 = ata_ReadSector64; unit->au_Write64 = ata_WriteSector64; } - dma=FALSE; } } @@ -1254,10 +1250,12 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) else if ((mode >= AB_XFER_MDMA0) && (mode <= AB_XFER_MDMA2)) { type = 32 + (mode - AB_XFER_MDMA0); + dma=TRUE; } else if ((mode >= AB_XFER_UDMA0) && (mode <= AB_XFER_UDMA6)) { type = 64 + (mode - AB_XFER_UDMA0); + dma=TRUE; } else { @@ -1297,6 +1295,9 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) dma = FALSE; } } +#else + if (mode >= AB_XFER_MDMA0) + dma = TRUE; #endif if (dma) -- 2.11.4.GIT