drm/i915: restrict vt-d stolen memory workaround to pre-gen8
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 26 Mar 2014 22:42:53 +0000 (23:42 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 31 Mar 2014 08:45:34 +0000 (10:45 +0200)
We want future generations to at least attempt to use all features, so
restrict the stolen memory disabling when vt-d is enabled to the
latest generation we have reports for. Which is a HSW per the original
report.

Also once we get a bit a hold of some of the mysterious framebuffer in
stolen memory issues that still haunt bugzilla, we should probably
drop this hack again and see what happens.

This was introduced in

commit 0f4706d2740f2a221cd502922b22e522009041d9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Mar 18 14:50:50 2014 +0200

    drm/i915: Disable stolen memory when DMAR is active

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: David Woodhouse <dwmw2@infradead.org>
References: https://bugs.freedesktop.org/show_bug.cgi?id=68535
Acked-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_stolen.c

index 28d24caa49f3f7720c63e208c4831c79f5433d8d..62ef55ba061cfe42ed5dfddd025fc8eecad0fab5 100644 (file)
@@ -215,7 +215,7 @@ int i915_gem_init_stolen(struct drm_device *dev)
        int bios_reserved = 0;
 
 #ifdef CONFIG_INTEL_IOMMU
-       if (intel_iommu_gfx_mapped) {
+       if (intel_iommu_gfx_mapped && INTEL_INFO(dev)->gen < 8) {
                DRM_INFO("DMAR active, disabling use of stolen memory\n");
                return 0;
        }