[PATCH 0/3] x86: restore old GART alloc_coherent

FUJITA Tomonori
2008-09-24T11:52:26Z

This pachset is against tip/iommu.

What this patchset does is restoring old GART alloc_coherent behavior
(before the alloc_coherent rewrite):

http://lkml.org/lkml/2008/8/12/200

Currently, GART alloc_coherent tries to allocate pages with GFP_DMA32
for a device having dma_masks > 24bit < 32bits. If GART gets an
address that a device can't access to, GART tries to map the address
to a virtual I/O address that the device can access to.

But Andi pointed out, "The GART is somewhere in the 4GB range so you
cannot use it to map anything < 4GB. Also GART is pretty small."

http://lkml.org/lkml/2008/9/12/43

So it's possible that GART doesn't have virtual I/O address space that
a device can access to. The current behavior might not work for a
device having dma_masks > 24bit < 32bits. This patchset restores old
GART alloc_coherent behavior, which doesn't use GART hardware (if an
user doesn't enable force_iommu option).