NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-amd64/42980: satalink DMA fails under amd64

>Number:         42980
>Category:       port-amd64
>Synopsis:       satalink DMA fails under amd64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 15 23:35:00 +0000 2010
>Originator:     Julian Bourne
>Release:        5.0.2
NetBSD 5.0.2 (XEN3_DOM0) #0
The satalink driver doesn't support DMA under NetBSD 5.0.2 amd64.  It works 
properly on exactly the same hardware under NetBSD 5.0.2 i386.

satalink0 at pci1 dev 9 function 0
satalink0: Silicon Image SATALink 3512 (rev. 0x01)
satalink0: SATALink BA5 register space disabled
satalink0: bus-master DMA support present
satalink0: primary channel wired to native-PCI mode
satalink0: using ioapic0 pin 17, event channel 10 for native-PCI interrupt
atabus1 at satalink0 channel 0
satalink0: secondary channel wired to native-PCI mode
atabus2 at satalink0 channel 1
satalink0: port 0: device present, speed: 1.5Gb/s
satalink0: port 1: device present, speed: 1.5Gb/s
satalink0:0: unable to create xfer table DMA map for drive 0, error=22
wd0(satalink0:0:0): using PIO mode 4
satalink0:1: unable to create xfer table DMA map for drive 0, error=22
wd1(satalink0:1:0): using PIO mode 4

Use an amd64 system equipped with a PCI bus and a SataLink 3512 card.  Boot 
with NetBSD 5.0.2 amd64 (xen or native); it fails with the message described, 
and falls back to PIO mode 4 giving about 3MB/s for attached devices.

Boot with NetBSD 5.0.2 i386 (native); it succeeds for DMA and gives about 
100MB/s for attached devices (in this case a pair of WD7500AALS drives).
Not sure exactly how to solve the problem, but I did look at the satalink code 
and it seems like it *might* be failing because it requests 32bit memory, 
rather than 64bit memory for DMA.

I have the time and energy to devote to fixing this - but I'd rather do it in a 
coordinated way with the port maintainer and owner of the satalink code.  
Contact me and I can test/debug etc.

Home | Main Index | Thread Index | Old Index