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)
committerJiri Slaby <jslaby@suse.cz>
Wed, 18 Jun 2014 09:18:00 +0000 (11:18 +0200)
commit fcc9fe1a5ad2b826c6ac58c03cdc0cf17a63c7a1 upstream.

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>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/gpu/drm/i915/i915_gem_stolen.c

index c077df094ae50fc4729ec8b905e1f59a8c92d530..c60cdf9e581e6c0b7822b78588aebf26fc8316e9 100644 (file)
@@ -202,7 +202,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;
        }