Call for testers: Apple ATA DMA
Marcel Moolenaar
xcllnt at mac.com
Wed Sep 10 20:52:28 UTC 2008
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):
...
FreeBSD 8.0-CURRENT #5 r182738: Thu Sep 4 02:11:48 PDT 2008
marcelm at mini-g4:/usr/obj/nfs/freebsd/base/head/sys/MINI-G4
WARNING: WITNESS option enabled, expect reduced performance.
cpu0: Motorola PowerPC 7447A revision 1.5, 1500.00 MHz
cpu0: HID0 8450c0bc<EMCP,TBEN,NAP,DPM,ICE,DCE,SGE,BTIC,LRSTK,FOLD,BHT>
real memory = 1059041280 (1009 MB)
avail memory = 1027227648 (979 MB)
nexus0: <Open Firmware Nexus device>
...
pcib2: <Apple UniNorth Host-PCI bridge> on nexus0
pci2: <PCI bus> on pcib2
ata1: <Intrepid Kauai ATA Controller> mem 0xf5004000-0xf5007fff irq 39
at device 13.0 on pci2
ata1: [ITHREAD]
...
ad0: 76319MB <Seagate ST9808211A 3.07> at ata1-master BIOSPIO
acd0: DVDR <MATSHITACD-RW CW-8124/DACD> at ata1-slave BIOSPIO
acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00
GEOM_LABEL: Label for provider acd0 is iso9660/CDROM.
WARNING: WITNESS option enabled, expect reduced performance.
...
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):
Node 0xff9b6298: ata-6
vendor-id:
00 00 10 6b
device-id:
00 00 00 3b
revision-id:
00 00 00 00
class-code:
00 ff 00 00
min-grant:
00 00 00 00
max-latency:
00 00 00 00
devsel-speed:
00 00 00 01
name:
61 74 61 2d 36 00
'ata-6'
model:
61 74 61 2d 36 00
'ata-6'
device_type:
61 74 61 00
'ata'
AAPL,connector:
61 74 61 00
'ata'
AAPL,bus-id:
00 00 00 03
cable-type:
38 30 2d 63 6f 6e 64 75 63 74 6f 72 00
'80-conductor'
#address-cells:
00 00 00 01
#size-cells:
00 00 00 00
AAPL,pio-timing:
00 00 05 26 00 00 00 85 00 00 00 25 00 00 00 25 00 00 00 25
00 00 00 00 00 00 00 00 00 00 00 00
lba-48:
interrupts:
00 00 00 01 00 00 00 00
AAPL,requested-priorities:
00 00 00 02 00 00 00 04
compatible:
6b 61 75 61 69 2d 61 74 61 00
'kauai-ata'
reg:
00 00 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02 00 68 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00
assigned-addresses:
82 00 68 10 00 00 00 00 f5 00 40 00 00 00 00 00 00 00 40 00
mini-g4% sudo atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: ad0 <ST9808211A/3.07> ATA/ATAPI revision 6
Slave: acd0 <MATSHITACD-RW CW-8124/DACD> ATA/ATAPI revision 6
mini-g4% sudo atacontrol mode ad0
current mode = BIOSPIO
mini-g4% sudo atacontrol cap ad0
Protocol ATA/ATAPI revision 6
device model ST9808211A
serial number 3LF2PW9F
firmware revision 3.07
cylinders 16383
heads 16
sectors/track 63
lba supported 156301488 sectors
lba48 not supported 156301488 sectors
dma supported
overlap not supported
Feature Support Enable Value Vendor
write cache yes yes
read ahead yes yes
Tagged Command Queuing (TCQ) no no 0/0x00
SMART yes yes
microcode download yes yes
security yes no
power management yes yes
advanced power management yes yes 32896/0x8080
automatic acoustic management no no 0/0x00 254/0xFE
FYI,
--
Marcel Moolenaar
xcllnt at mac.com
More information about the freebsd-ppc
mailing list