Date: Fri, 15 Feb 2002 21:50:43 +0100 From: Cliff Sarginson <cliff@raggedclown.net> To: freebsd-questions@FreeBSD.ORG Subject: Re: DMA on ATAPI CD's [ Was Re: About printers ] Message-ID: <20020215205043.GA680@raggedclown.net> In-Reply-To: <20020215202016.GA10124@student.uu.se> References: <20020215185850.GC1394@raggedclown.net> <20020215191055.50E1E5D09@ptavv.es.net> <20020215195823.GA407@raggedclown.net> <20020215202016.GA10124@student.uu.se>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 15, 2002 at 09:20:16PM +0100, Erik Trulsson wrote: > 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. > It is strange how a person (in this case me) can read a man page (I did read it before..honest, this must be how I came across the method I described for enabling dma) and notice one part but not all parts. Re-reading it makes it all completely clear :) -- Regards Cliff 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?20020215205043.GA680>