Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2002 21:20:16 +0100
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Cliff Sarginson <cliff@raggedclown.net>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: DMA on ATAPI CD's [ Was Re: About printers ]
Message-ID:  <20020215202016.GA10124@student.uu.se>
In-Reply-To: <20020215195823.GA407@raggedclown.net>
References:  <20020215185850.GC1394@raggedclown.net> <20020215191055.50E1E5D09@ptavv.es.net> <20020215195823.GA407@raggedclown.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 15, 2002 at 08:58:23PM +0100, Cliff Sarginson wrote:
> On Fri, Feb 15, 2002 at 11:10:55AM -0800, Kevin Oberman wrote:
> > > Date: Fri, 15 Feb 2002 19:58:50 +0100
> > > From: Cliff Sarginson <cliff@raggedclown.net>
> > > Sender: owner-freebsd-questions@FreeBSD.ORG
> > > 
> > > On Fri, Feb 15, 2002 at 10:25:16AM -0800, Kevin Oberman wrote:
> > > > > 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.
> > > > 
> > > I think this is incorrect, it can be put in sysctl.conf, and I believe
> > > it works if you do it as I stated.
> > 
> > When I try this I get:
> > sysctl: oid 'hw.ata.atapi_dma' is read only
> > 
> Mmm. Now I am confused (what's new ?).
> What I do, is as stated in my post, is to adjust the parameter
> hw.atamodes to enable dma on the ide devices. What you are saying,
> or demonstrating, is the adjustment of the hw.ata.atapi_dma, variable
> cannot be done except at boot time. Now I am a bit confused about the
> relationship between these two variables. I am under the impression that
> what I do enables DMA on the said devices (I see no reason why it cannot
> be dynamically changed)..but doing what you suggest does indeed show up
> in dmesg as the CD devices using DMA instead of PIO ) I just tried it.
> 
> So maybe I am under a false impression here, but a sysctl -a does show
> what I do as being accepted. So the question remains, am I under a false
> impression that what I do has any effect whatsoever ? It certainly does
> not generate a syslog message when I change them..is there any other way 
> to tell ?

My understanding, after reading the ata(4) man page, is that the loader
variable ( 'hw.ata.atapi_dma' ) determines if the kernel will attempt
to set DMA on atapi devices by default at boot time or not.
Regardless of what hw.ata.atapi_dma is set to one can later change the
mode used via the hw.atamodes syctl.



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se

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?20020215202016.GA10124>