Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Mar 2009 18:16:32 -0400
From:      Justin Hibbits <jrh29@alumni.cwru.edu>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: Apple ATA DMA problems with ATAPI
Message-ID:  <20090323221632.GA1239@narn.knownspace>
In-Reply-To: <alpine.BSF.2.00.0903221941130.18715@banshee.munuc.org>
References:  <20090322180638.GA3708@narn.knownspace> <8B9483E9-D6D4-441E-9202-31FA34F5DA98@mac.com> <20090322215406.GA1257@narn.knownspace> <alpine.BSF.2.00.0903221941130.18715@banshee.munuc.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 22, 2009 at 07:43:44PM -0500, Nathan Whitehorn wrote:
> 
> 
> On Sun, 22 Mar 2009, Justin Hibbits wrote:
> 
> > On Sun, Mar 22, 2009 at 01:41:18PM -0700, Marcel Moolenaar wrote:
> >>
> >> On Mar 22, 2009, at 11:06 AM, Justin Hibbits wrote:
> >>
> >>> Well, it seems I was bitten by the ATA DMA problems from a few
> >>> months back.
> >>
> >> Try disabling DMA for atapi in /boot/loader.conf and enable
> >> it in /etc/sysctl.conf. For some reason, on my Mac Mini at
> >> least, it helps to first program PIO and then program *DMA.
> >>
> >> YMMV,
> >>
> >> --
> >> Marcel Moolenaar
> >> xcllnt@mac.com
> >>
> >>
> >>
> >
> > It appears hw.ata.atapi_dma is a read-only tunable, so /etc/sysctl.conf has no
> > effect on it, and only throws a warning about being unable to change it.  It's
> > working sufficiently as PIO, though.
> >
> 
> So it looks like this issue is limited to ATAPI devices, and as a result I
> have one more stab in the dark. Apparently at least some of these 
> controllers die if you try to give them an ATAPI command with a length 
> that is not divisible by 16. I have a patch at 
> http://people.freebsd.org/~nwhitehorn/ata-alignment.diff that converts 
> such commands to PIO. Could you see if it works?
> 
> If this fails, I'll apply a sledgehammer and force all ATAPI devices on 
> Apple controllers to PIO.
> -Nathan

Unfortunately, that seems to have failed as well.  I rebooted, and at the boot
prompt set hw.ata.atapi_dma=1, and it had the same problem.  Guess I'm out of
luck for DMA on ATAPI.

- Justin



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