Re: acd0 vs cd0 (ATAPICAM)

From: Guillaume <amyfoub_at_videotron.ca>
Date: Tue, 16 Sep 2003 21:48:41 -0400
Le Mar 16/09/2003 à 09:22, Thomas Quinot a écrit :
> 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?
> 

I get an error when compiling kernel with this patch:


cc -c -O -pipe -march=pentiumpro -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99 
-nostdinc -I-  -I. -I../../.. -I../../../contrib/dev/acpica
-I../../../contrib/ipfilter -I../../../contrib/dev/ath
-I../../../contrib/dev/ath/freebsd -D_KERNEL -include opt_global.h
-fno-common -finline-limit=15000 -fno-strict-aliasing 
-mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding
-Werror  ../../../dev/ata/atapi-cam.c
../../../dev/ata/atapi-cam.c: In function `setup_dev':
../../../dev/ata/atapi-cam.c:232: error: `atadev' undeclared (first use
in this function)
../../../dev/ata/atapi-cam.c:232: error: (Each undeclared identifier is
reported only once
../../../dev/ata/atapi-cam.c:232: error: for each function it appears
in.)
*** Error code 1

Stop in /usr/src/sys/i386/compile/GUILLAUME.


> 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);
>      }
>  }
>  
Received on Tue Sep 16 2003 - 16:48:44 UTC

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