found 703468 linux/3.5.5-1~experimental.1 fixed 703468 linux/3.6.4-1~experimental.1 tags 703468 + upstream patch moreinfo quit
Geoff Crompton wrote: > works 3.6.4 > fails 3.5.5-1 [...] > Hope that is helpful, what is the next step? Very much so! Thanks for this work. > 00:02.0 Display controller [0380]: Intel Corporation 2nd Generation Core > Processor Family Integrated Graphics Controller [8086:0102] (rev 09) Could you try the attached patch against a 3.4.y kernel? It works like this: 0. prerequisites: apt-get install git build-essential 1. get the kernel history, if you don't already have it: git clone \ https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git 2. grab point releases: cd linux git remote add stable \ https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable git fetch stable 3. configure, build, test: git checkout stable/linux-3.4.y cp /boot/config-$(uname -r) .config; # current configuration make localmodconfig; # optional: minimize configuration scripts/config --disable DEBUG_INFO make deb-pkg; # optionally with -j<num> for parallel build dpkg -i ../<name of package>; # as root reboot ... test test test ... Hopefully it reproduces the bug. So 4. try the patch: cd linux git cherry-pick -x -s 9a0f938bde74bf9e50bd75c8de9e38c1787398cd make deb-pkg; # maybe with -j4 dpkg -i ../<name of package>; # as root reboot ... test test test ... Regards, Jonathan
From: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri, 24 Aug 2012 09:12:22 +0100 Subject: drm/i915: Use the correct size of the GTT for placing the per-process entries commit 9a0f938bde74bf9e50bd75c8de9e38c1787398cd upstream. The current layout is to place the per-process tables at the end of the GTT. However, this is currently using a hardcoded maximum size for the GTT and not taking in account limitations imposed by the BIOS. Use the value for the total number of entries allocated in the table as provided by the configuration registers. Reported-by: Matthew Garrett <m...@redhat.com> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> Cc: Ben Widawsky <b...@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vet...@ffwll.ch> Signed-off-by: Jonathan Nieder <jrnie...@gmail.com> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index a135c61..99a7855 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -72,7 +72,7 @@ int i915_gem_init_aliasing_ppgtt(struct drm_device *dev) /* ppgtt PDEs reside in the global gtt pagetable, which has 512*1024 * entries. For aliasing ppgtt support we just steal them at the end for * now. */ - first_pd_entry_in_global_pt = 512*1024 - I915_PPGTT_PD_ENTRIES; + first_pd_entry_in_global_pt = dev_priv->mm.gtt->gtt_total_entries - I915_PPGTT_PD_ENTRIES; ppgtt = kzalloc(sizeof(*ppgtt), GFP_KERNEL); if (!ppgtt)