When the system has an IOMMU, it prevents all DMA from the graphics devices. See http://bugzilla.kernel.org/show_bug.cgi?id=11821#c16 for an example. For the Intel IOMMU we have a temporary workaround for this brokenness, CONFIG_DMAR_BROKEN_GFX_WA. This kind of workaround apparently isn't easy to do for the AMD IOMMU though, and isn't necessarily the right answer even if it _was_ feasible. We need to fix the drivers. I plan to remove CONFIG_DMAR_BROKEN_GFX_WA in 2.6.32.
Option still present and still refers to the 2.6.32 removal in Kconfig - would you perhaps mind fixing Kconfig Dave 8)
I think the Intel graphics drivers (which are the only ones for which DMAR_BROKEN_GFX_WA is applicable) are fixed now. Shame we still don't do any QA on the hardware before we ship it though...
Moving to DRI/intel to check what needs to happen and who needs to own it
We migrated over to dma_map_sg() and pci_map_page() and rely on intel_iommu to dtrt for the variety of broken VT-d/gfx, with the occasional quirk in the driver for when the GPU itself hangs if its iommu mapping is changed whilst it is busy.
Also due to too much hw breakage we won't ever be able to remove the workaround, at least as a kernel cmdline option in the form of intel_iommu=igfx_off. Too valuable for debugging.