Apple ATA DMA problems with ATAPI
Justin Hibbits
jrh29 at alumni.cwru.edu
Mon Mar 23 15:15:54 PDT 2009
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 at 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
More information about the freebsd-ppc
mailing list