Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2002 10:25:16 -0800
From:      "Kevin Oberman" <oberman@es.net>
To:        Cliff Sarginson <cliff@raggedclown.net>
Cc:        vanya <UnixDaemon@vicard.net>, freebsd-questions@FreeBSD.ORG
Subject:   Re: DMA on ATAPI CD's [ Was Re: About printers ] 
Message-ID:  <20020215182516.EA9995D09@ptavv.es.net>
In-Reply-To: Your message of "Thu, 14 Feb 2002 22:46:58 %2B0100." <20020214214657.GB347@raggedclown.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Thu, 14 Feb 2002 22:46:58 +0100
> From: Cliff Sarginson <cliff@raggedclown.net>
> Sender: owner-freebsd-questions@FreeBSD.ORG
> 
> On Sat, Jan 09, 1999 at 05:09:35PM +0300, vanya wrote:
> 
> <snip> (Best to keep unrelated questions in seperate posts).
> 
> > And one question about DMA for EIDE disks and ATAPI CD. Is DMA automatically
> > enabled or user must turn on this option?
> 
> I believe DMA is not enabled on ATAPI CD devices, I believe it is
> considered a source of possible instability in certain cases (I know
> of no proof for this..) .. you can forceably re-enable it by an entry
> in sysctl.conf. I have 2 IDE i/faces, with a hard drive and a CD/DVD
> on one slave and a CD R/W on another. My line looks as follows:
> 
> hw.atamodes=dma,dma,dma,dma
> 
> You will need to adjust this according to your actual IDE setup,
> (i.e. how your ide's are actually configured)...
> 
> "man 8 sysctl.conf" may help.

On almost all systems you really want to add hw.ata.atapi_dma="1" to
/boot/loader.conf to enable DMA on ATAPI devices.

The reason it is disabled by default is that some early ATAPI
controllers did not work correctly (at all) in DMA mode. Since it is
considered critical that CDs be accessible from the GENERIC kernel to
do the initial installation, all ATAPI access had to default to PIO.

The only way to be sure about this is to turn on DMA and see of the CD
works. (It almost certainly will.)

This is a parameter that must be set before the ATA driver is started,
so it cannot be put in sysctl.conf. It must be in /boot/loader.conf.

R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020215182516.EA9995D09>