This leaves them enabled on IVB, but disables them on SNB as we've discovered (yet again) that there are hardware combinations that simply cannot run with them.
[PATCH 1/2] drm/i915: Disable semaphores by default on SNB [PATCH 2/2] drm/i915: Disable RC6 on Sandybridge by default
-- keith.packard@intel.com
Semaphores still cause problems on some machines:
From Udo Steinberg:
With Linux-3.2-rc6 I'm frequently seeing GPU hangs when large amounts of text scroll in an xterm, such as when extracting a tar archive. Such as this one (note the timestamps):
I can reproduce it fairly easily with something as simple as:
while true; do dmesg; done
This patch turns them off on SNB while leaving them on for IVB.
Reported-by: Udo Steinberg udo@hypervisor.org Cc: Daniel Vetter daniel@ffwll.ch Cc: Eugeni Dodonov eugeni@dodonov.net Signed-off-by: Keith Packard keithp@keithp.com --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index c681dc1..b9da890 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -756,9 +756,9 @@ intel_enable_semaphores(struct drm_device *dev) if (i915_semaphores >= 0) return i915_semaphores;
- /* Enable semaphores on SNB when IO remapping is off */ + /* Disable semaphores on SNB */ if (INTEL_INFO(dev)->gen == 6) - return !intel_iommu_enabled; + return 0;
return 1; }
RC6 fails again.
I found my system freeze mostly during starting up X and KDE. Sometimes it works for some minutes, sometimes it freezes immediatly. When the freeze happens, everything is dead (even the reset button does not work, I need to power cycle).
I disabled RC6, and my system runs wonderfully.
The system is a Z68 Pro board with Sandybridge i5-2500K processor, 8 GB of RAM and UEFI firmware.
Reported-by: Kai Krakow hurikhan77@gmail.com Signed-off-by: Keith Packard keithp@keithp.com --- drivers/gpu/drm/i915/intel_display.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 8a61b81..4b7a0f2 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -7922,13 +7922,11 @@ static bool intel_enable_rc6(struct drm_device *dev) return 0;
/* - * Enable rc6 on Sandybridge if DMA remapping is disabled + * Disable rc6 on Sandybridge */ if (INTEL_INFO(dev)->gen == 6) { - DRM_DEBUG_DRIVER("Sandybridge: intel_iommu_enabled %s -- RC6 %sabled\n", - intel_iommu_enabled ? "true" : "false", - !intel_iommu_enabled ? "en" : "dis"); - return !intel_iommu_enabled; + DRM_DEBUG_DRIVER("Sandybridge: RC6 disabled\n"); + return 0; } DRM_DEBUG_DRIVER("RC6 enabled\n"); return 1;
On Mon, Dec 26, 2011 at 5:02 PM, Keith Packard keithp@keithp.com wrote:
This leaves them enabled on IVB, but disables them on SNB as we've discovered (yet again) that there are hardware combinations that simply cannot run with them.
Oh well.
Applied,
Linus
dri-devel@lists.freedesktop.org