Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2005 02:21:49 -0700
From:      Michael DeMan <michael@staff.openaccess.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        NKoch@demig.de, freebsd-small@freebsd.org, non_secure@yahoo.com
Subject:   Re: DMA disable for sandisk CF cards ?
Message-ID:  <aff8f8006e7620113e0ba99103d9c000@staff.openaccess.org>
In-Reply-To: <20050721.020703.41710119.imp@bsdimp.com>
References:  <20050721020028.6398.qmail@web53301.mail.yahoo.com> <001e01c58dbe$f6739600$4801a8c0@ws-ew-3.W2KDEMIG> <20050721.020703.41710119.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I presume this would also work for non-booting devices too?  Like our 
dev boxes where we burn cards and see numerous nasty log entries about 
device timeouts and sometimes the flashcard burn works, and other times 
it doesn't?

Michael F. DeMan
Director of Technology
OpenAccess Network Services
Bellingham, WA 98225
michael@staff.openaccess.org
360-647-0785
On Jul 21, 2005, at 1:07 AM, Warner Losh wrote:

>> May be, I miss the point. Why do you want to disable
>> dma on the cf card, when you can instruct FreeBSD
>> to just not use dma (atacontrol(8)) ?
>
> Because newer CF cards, like the SanDisk, negotiate DMA with the
> controller.  However, most of the IDE <-> CF Adapters aren't properly
> wired for this, as they only implement CF 1.5 and not CF 2.0.  So,
> when FreeBSD goes to access the device, you get all kinds of timeout
> errors.  If you are lucky, ata will failback to PIO mode.  Most of the
> time it has bitten me, I've not been lucky :-(.
>
> hw.ata.ata_dma=0 is the magic.  You can set it at the boot loader
> prompt, or you can add it to /boot/loader.conf.  atacontrol is way too
> late, since this disabling must be done prior to geom's scan for root
> (or the moral equivalent in 4.x).
>
> Warner
> _______________________________________________
> freebsd-small@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-small
> To unsubscribe, send any mail to 
> "freebsd-small-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aff8f8006e7620113e0ba99103d9c000>