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

next in thread | previous in thread | raw e-mail | index | archive | help


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



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