Re: [RFC 0/8] Optional ZONE_DMA

Christoph Lameter
2006-07-09T03:21:28Z

On Sat, 8 Jul 2006, Robert Hancock wrote:

> -LPC devices like the floppy controller, maybe enhanced parallel, etc. may
> have 24-bit DMA restrictions even if there is no physical ISA bus.

Yes, I noticed that the floppy drivers has no dependency set but fails
to build if GENERIC_ISA_DMA is not set.

> -Even in totally ISA and LPC-free systems, some PCI devices (like those that
> were a quick hack of an ISA device onto PCI) still have 24-bit address
> restrictions. There are other devices that have sub-32-bit DMA capabilities,
> like Broadcom wireless chips that only address 31 bits (although I think they
> are fixing this in the driver). Without the DMA zone there is no way to ensure
> that these requests can be satisfied.

These all have to use GFP_DMA and/or GFP_DMA. So if I leave that flag
undefined then it will be obvious if something is amiss and we can leave
this experimental for awhile.

> So I don't think it is safe to make this conditional on ISA or even the ISA
> DMA API. Only if all devices on the system have addressing capability of a
> full 32 bits (or at least of all installed RAM) can this zone be removed.

Its safe in the sense that compilation/linking will fail (ISA dma chip
control functions are not present). Some of the dependencies set right now
do not correctly express these dependencies. But this could be fixed.

The question is though: Is it worth to do now? Or do we do this later? At
some point the legacy DMA I/O will become too much of a bother.