kern/103883: DMA is not defaulted on WDMA device

hsu at bbnetworks.net hsu at bbnetworks.net
Sun Oct 1 14:40:16 PDT 2006


>Number:         103883
>Category:       kern
>Synopsis:       DMA is not defaulted on WDMA device
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 01 21:40:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Heikki Suonsivu
>Release:        FreeBSD 6.1-RELEASE i386
>Organization:
bbnetworks.net
>Environment:
System: FreeBSD true4g-olari1.wlansystems.com 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:42:56 UTC 2006 root at opus.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386

SIS integrated Vortex86 CPU (possibly the same problem on any system?)

>Description:

I use CF adapter to connect Compact Flash card to IDE.  The adapter and 
the card apparently support DMA, as it can be enabled by 

atacontrol mode ad0 WDMA2

The cpu load drops massively, and there is substantial improvement on
general performance.

The card/adapter does not support UDMA (I do not think that is possible with 
CF interface at all?), but WDMA2 seems to work.  From verbose boot messages
it would seem that the driver does indeed recognize WDMA2 being supported,
but does not eanble it.

ata0-master: pio=PIO4 wdma=WDMA2 udma=UNSUPPORTED cable=40 wire
ad0: setting PIO4 on 550 chip
ad0: 1983MB <TRANSCEND 20060524> at ata0-master PIO4
ad0: 4061232 sectors [4029C/16H/63S] 1 sectors/interrupt 1 depth queue
GEOM: new disk ad0
ad0: Silicon Integrated Systems check1 failed
ad0: Adaptec check1 failed
ad0: LSI (v3) check1 failed
ad0: LSI (v2) check1 failed
ad0: FreeBSD check1 failed
ATA PseudoRAID loaded
Trying to mount root from ufs:/dev/ad0s1a
start_init: trying /sbin/init

Is this somehow related to the fact that CD/DVD drives do not seem to get
DMA mode on by default either?

I have tried to tweak stuff in loader.conf with no success.

>How-To-Repeat:

Get a DMA supporting CF adapter (like new versions from pcengines.ch), and
use DMA-supporting CF card. 

>Fix:

Workaround is to set DMA in boot, but that makes booting slower than
necessary.  DMA would help, in particular with a slow cpu.



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list