Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2005 11:12:50 +0200
From:      "Norbert Koch" <NKoch@demig.de>
To:        "Warner Losh" <imp@bsdimp.com>
Cc:        freebsd-small@freebsd.org, non_secure@yahoo.com
Subject:   RE: DMA disable for sandisk CF cards ?
Message-ID:  <000201c58dd4$5e114360$4801a8c0@ws-ew-3.W2KDEMIG>
In-Reply-To: <20050721.020703.41710119.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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).

Ok, I understand. But you can't do that selectively on a per-device basis,
can you?

Norbert




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000201c58dd4$5e114360$4801a8c0>