summaryrefslogtreecommitdiffstats
path: root/source/k/2.6.29.x-intel-crash-patch.diff
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/k/2.6.29.x-intel-crash-patch.diff
downloadcurrent-slackware-13.0.tar.gz
current-slackware-13.0.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/k/2.6.29.x-intel-crash-patch.diff')
-rw-r--r--source/k/2.6.29.x-intel-crash-patch.diff37
1 files changed, 37 insertions, 0 deletions
diff --git a/source/k/2.6.29.x-intel-crash-patch.diff b/source/k/2.6.29.x-intel-crash-patch.diff
new file mode 100644
index 000000000..a4fcb4686
--- /dev/null
+++ b/source/k/2.6.29.x-intel-crash-patch.diff
@@ -0,0 +1,37 @@
+ [Intel-gfx] [PATCH] drm/i915: Don't allow binding objects into the last page of the aperture.
+
+ Eric Anholt eric at anholt.net
+ Tue May 12 15:29:56 PDT 2009
+
+ This should avoid a class of bugs where the hardware prefetches past the
+ end of the object, and walks into unallocated memory when the object is
+ bound to the last page of the aperture.
+
+ fd.o bug #21488
+ ---
+ drivers/gpu/drm/i915/i915_dma.c | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+ diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
+ index 051134c..3133f99 100644
+ --- a/drivers/gpu/drm/i915/i915_dma.c
+ +++ b/drivers/gpu/drm/i915/i915_dma.c
+ @@ -1011,8 +1011,16 @@ static int i915_load_modeset_init(struct drm_device *dev)
+ /* Basic memrange allocator for stolen space (aka vram) */
+ drm_mm_init(&dev_priv->vram, 0, prealloc_size);
+
+ - /* Let GEM Manage from end of prealloc space to end of aperture */
+ - i915_gem_do_init(dev, prealloc_size, agp_size);
+ + /* Let GEM Manage from end of prealloc space to end of aperture.
+ + *
+ + * However, leave one page at the end still bound to the scratch page.
+ + * There are a number of places where the hardware apparently
+ + * prefetches past the end of the object, and we've seen multiple
+ + * hangs with the GPU head pointer stuck in a batchbuffer bound
+ + * at the last page of the aperture. One page should be enough to
+ + * keep any prefetching inside of the aperture.
+ + */
+ + i915_gem_do_init(dev, prealloc_size, agp_size - 4096);
+
+ ret = i915_gem_init_ringbuffer(dev);
+