Re: acd0 vs cd0 (ATAPICAM)

From: Thomas Quinot <thomas_at_FreeBSD.ORG>
Date: Tue, 16 Sep 2003 15:22:28 +0200
Le 2003-09-06, Guillaume écrivait :

> I'm running FreeBSD 5-CURRENT (Aug. 28 2003) on a P3 733MHz, 768MB ram
> with a LG DVD-RW/DVD-RAM burner. I would like to know why ATAPICAM is so
> slow with my system.

Maybe because ATAPI/CAM does not actually enable DMA. Can you try the
following patch?

Thomas.

Index: atapi-cam.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/atapi-cam.c,v
retrieving revision 1.22
diff -u -r1.22 atapi-cam.c
--- atapi-cam.c	11 Sep 2003 17:34:47 -0000	1.22
+++ atapi-cam.c	16 Sep 2003 13:20:18 -0000
_at__at_ -227,6 +227,11 _at__at_
 		     2 * device_get_unit(atp->channel->dev) +
 		     (atp->unit == ATA_MASTER) ? 0 : 1);
 	atp->softc = (void *)scp;
+	if (atapi_dma && atp->channel->dma &&
+	    (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR)
+	    atp->setmode(atadev, ATA_DMA_MAX);
+	else
+	    atp->setmode(atadev, ATA_PIO_MAX);
     }
 }
 
-- 
    Thomas.Quinot_at_Cuivre.FR.EU.ORG

Received on Tue Sep 16 2003 - 04:22:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:22 UTC