Call for testers: Apple ATA DMA
Nathan Whitehorn
nwhitehorn at freebsd.org
Thu Sep 11 05:56:38 UTC 2008
Marcel Moolenaar wrote:
>
> On Sep 10, 2008, at 9:17 AM, Nathan Whitehorn wrote:
>
> [snip -- great explanation by Marco]
>
>>> In addition, to enable UDMA, you need to OR 1 to the UDMA timing mode.
>>> So for example for UDMA2, you need to write 0x00004a61 and not simply
>>> 0x00004a60 .
>>>
>> Thanks! I had just assumed that the NetBSD driver did the right thing,
>> and only have a CD drive attached to a Shasta controller on which to
>> test the Kauai driver. I'll change it to do things the right way.
>
> Let me know when you have it. Your patch didn't work for me
> and caused a hard (enough) hang. It was right at the time ad0
> is normally found (and configured):
> BTW: I noticed with the patched kernel that the IRQ changed to 1
> (from 39). I guess this is related to the multiple IRQs for a PCI
> device problem (IRQ 1 being the DBDMA interrupt):
> interrupts:
> 00 00 00 01 00 00 00 00
I've put somewhat-fixed versions at
http://people.freebsd.org/~nwhitehorn/ata_dbdma.c and
http://people.freebsd.org/~nwhitehorn/ata_kauai.c. This should work up
to WDMA2. The UDMA modes seem to require the DBDMA interrupt to work,
and we can't allocate it right now because of this issue with the PCI
bus driver. Any thoughts on how to fix it?
Also, am I to understand that your Kauai controller doesn't export its
interrupt either in the OF tree *or* in its PCI registers? I've hacked
around this, assuming this is true, but it is pretty messed up...
-Nathan
More information about the freebsd-ppc
mailing list