Subject: Re: lack of pciide transfer alignment checking causes crash
To: Martin Husemann <martin@duskware.de>
From: Erik E. Fair <fair@netbsd.org>
List: tech-kern
Date: 06/25/2005 05:39:50
Is there a way to express that DMA alignment constraint at run time in the
bus_dma(9) API?

The bus_dma(9) parameter "boundary" doesn't seem expressive enough for it
(unless I've misunderstood it, which certainly could be the case); otherwise
this would be a relatively simple matter for the geodeide(4) driver to pass
into the pciide_common.c code.

Failing that, there needs to be a function in geodeide.c to check address
alignment of every transfer request before passing off the request to the
common PCI IDE code.

The other question is whether, if a misaligned transfer is requested, can
geodeide ask the PCI IDE common code for a one-time PIO transfer? Or must it
error-out?

	Erik <fair@netbsd.org>