Summary: | [GM965/GL960 bisected regression] black screen on boot | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | YannisDas <yannis.dassiras> | ||||||||||||||
Component: | DRM/Intel | Assignee: | Jesse Barnes <jbarnes> | ||||||||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||||||
Severity: | enhancement | ||||||||||||||||
Priority: | high | CC: | geo909.fora, intel-gfx-bugs, palopezv | ||||||||||||||
Version: | XOrg git | ||||||||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||||||
OS: | Linux (All) | ||||||||||||||||
See Also: | https://launchpad.net/bugs/1323447 | ||||||||||||||||
Whiteboard: | |||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||
Attachments: |
|
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.
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