Created attachment 101247 [details] RegDump kernel 3.15 - screen black During boot, the screen displays vertical green bars and then stays black. Regression bisected to commit 1ad292b51e358c8b6e9b8966889c21f1fe705489. Machine: Toshiba Portege M700 Distro: Ubuntu 13.10 x86_64 xf86-video-intel:2.99.904 xserver: 7.7 mesa:9.2.1 libdrm:2.4.46
Created attachment 101249 [details] Dmesg kernel 3.15 - screen black
Created attachment 101250 [details] RegDump kernel 3.14.6 - working
Created attachment 101251 [details] Dmesg kernel 3.14.6 - working
bisected to commit 1ad292b51e358c8b6e9b8966889c21f1fe705489 Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Fri Mar 7 08:57:49 2014 -0800 drm/i915: get_plane_config for i9xx v13
Can you attach a dmesg from the failing case when booted with drm.debug=6? I want to see the early allocation stuff we do. It seems related to our stolen memory allocation somehow...
A patch to try after collecting the dmesg: index 6441178..e849e5d 100644 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c @@ -231,7 +231,7 @@ int i915_gem_init_stolen(struct drm_device *dev) DRM_DEBUG_KMS("found %zd bytes of stolen memory at %08lx\n", dev_priv->gtt.stolen_size, dev_priv->mm.stolen_base); - if (IS_VALLEYVIEW(dev)) + if (IS_VALLEYVIEW(dev) || 1) bios_reserved = 1024*1024; /* top 1M on VLV/BYT */ if (WARN_ON(bios_reserved > dev_priv->gtt.stolen_size))
Created attachment 101845 [details] Dmesg_BAD_drm.debug=6
(In reply to comment #5) > Can you attach a dmesg from the failing case when booted with drm.debug=6? > I want to see the early allocation stuff we do. It seems related to our > stolen memory allocation somehow... Done. Dmesg attached above...
(In reply to comment #6) > A patch to try after collecting the dmesg: > > index 6441178..e849e5d 100644 > --- a/drivers/gpu/drm/i915/i915_gem_stolen.c > +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c > @@ -231,7 +231,7 @@ int i915_gem_init_stolen(struct drm_device *dev) > DRM_DEBUG_KMS("found %zd bytes of stolen memory at %08lx\n", > dev_priv->gtt.stolen_size, dev_priv->mm.stolen_base); > > - if (IS_VALLEYVIEW(dev)) > + if (IS_VALLEYVIEW(dev) || 1) > bios_reserved = 1024*1024; /* top 1M on VLV/BYT */ > > if (WARN_ON(bios_reserved > dev_priv->gtt.stolen_size)) Got it... Bypassing the test results in working graphics here.
(In reply to comment #9) > (In reply to comment #6) > > A patch to try after collecting the dmesg: > > > > index 6441178..e849e5d 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_stolen.c > > +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c > > @@ -231,7 +231,7 @@ int i915_gem_init_stolen(struct drm_device *dev) > > DRM_DEBUG_KMS("found %zd bytes of stolen memory at %08lx\n", > > dev_priv->gtt.stolen_size, dev_priv->mm.stolen_base); > > > > - if (IS_VALLEYVIEW(dev)) > > + if (IS_VALLEYVIEW(dev) || 1) > > bios_reserved = 1024*1024; /* top 1M on VLV/BYT */ > > > > if (WARN_ON(bios_reserved > dev_priv->gtt.stolen_size)) > > Got it... > Bypassing the test results in working graphics here. Can you try this patch (without Jesse's hack)? http://patchwork.freedesktop.org/patch/27209/
Created attachment 101855 [details] [review] [PATCH] drm/i915: Add a guard page between stolen and GTT If http://patchwork.freedesktop.org/patch/27209/ alone doesn't fix it, you can also try to add this patch on top of that one.
(In reply to comment #10) > (In reply to comment #9) > > (In reply to comment #6) > > > A patch to try after collecting the dmesg: > > > > > > index 6441178..e849e5d 100644 > > > --- a/drivers/gpu/drm/i915/i915_gem_stolen.c > > > +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c > > > @@ -231,7 +231,7 @@ int i915_gem_init_stolen(struct drm_device *dev) > > > DRM_DEBUG_KMS("found %zd bytes of stolen memory at %08lx\n", > > > dev_priv->gtt.stolen_size, dev_priv->mm.stolen_base); > > > > > > - if (IS_VALLEYVIEW(dev)) > > > + if (IS_VALLEYVIEW(dev) || 1) > > > bios_reserved = 1024*1024; /* top 1M on VLV/BYT */ > > > > > > if (WARN_ON(bios_reserved > dev_priv->gtt.stolen_size)) > > > > Got it... > > Bypassing the test results in working graphics here. > > Can you try this patch (without Jesse's hack)? > http://patchwork.freedesktop.org/patch/27209/ Success... With this patch only. Do you want dmesg regdumps etc?
Here is the link to the Arch Linux bug report: https://bugs.archlinux.org/task/40899
Bug fixed in 3.15.6 after Ville's patch got pulled. Mainline is also working
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.