From: Daniel Vetter Date: Sun, 26 Aug 2012 18:33:18 +0000 (+0200) Subject: drm/i915: disable rc6 on ilk when vt-d is enabled X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cd7988eea561a70a4f98e431c1395f913672d626;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git drm/i915: disable rc6 on ilk when vt-d is enabled It blows up. And hopefully this is the root-cause of the mysterious rc6 related hang on ilk. For reference, the commit that enabled rc6 on ilk again is: commit 456470eb583f063ee84c6818251e638598be0fb8 Author: Daniel Vetter Date: Wed Aug 8 23:35:40 2012 +0200 drm/i915: enable rc6 on ilk again Reported-by: Dave Airlie Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index c0721ffb56a2..ebe3498bc9c0 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -2372,6 +2372,11 @@ int intel_enable_rc6(const struct drm_device *dev) return i915_enable_rc6; if (INTEL_INFO(dev)->gen == 5) { +#ifdef CONFIG_INTEL_IOMMU + /* Disable rc6 on ilk if VT-d is on. */ + if (intel_iommu_gfx_mapped) + return false; +#endif DRM_DEBUG_DRIVER("Ironlake: only RC6 available\n"); return INTEL_RC6_ENABLE; }