DMA disable for sandisk CF cards ?

Michael DeMan michael at staff.openaccess.org
Thu Jul 21 09:21:52 GMT 2005


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 at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-small
> To unsubscribe, send any mail to 
> "freebsd-small-unsubscribe at freebsd.org"
>



More information about the freebsd-small mailing list