Messages in this thread | | | From | FUJITA Tomonori <> | Subject | [PATCH 0/3] x86: restore old GART alloc_coherent | Date | Wed, 24 Sep 2008 20:48:34 +0900 |
| |
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).
| |