Bug 80151 - [GM965/GL960 bisected regression] black screen on boot
Summary: [GM965/GL960 bisected regression] black screen on boot
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: high enhancement
Assignee: Jesse Barnes
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-17 16:53 UTC by YannisDas
Modified: 2017-07-24 22:53 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
RegDump kernel 3.15 - screen black (13.55 KB, text/plain)
2014-06-17 16:53 UTC, YannisDas
no flags Details
Dmesg kernel 3.15 - screen black (66.63 KB, text/plain)
2014-06-17 16:54 UTC, YannisDas
no flags Details
RegDump kernel 3.14.6 - working (13.64 KB, text/plain)
2014-06-17 16:55 UTC, YannisDas
no flags Details
Dmesg kernel 3.14.6 - working (65.98 KB, text/plain)
2014-06-17 16:55 UTC, YannisDas
no flags Details
Dmesg_BAD_drm.debug=6 (86.58 KB, text/plain)
2014-06-27 08:23 UTC, YannisDas
no flags Details
[PATCH] drm/i915: Add a guard page between stolen and GTT (1.46 KB, patch)
2014-06-27 10:03 UTC, Ville Syrjala
no flags Details | Splinter Review

Description YannisDas 2014-06-17 16:53:29 UTC
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
Comment 1 YannisDas 2014-06-17 16:54:31 UTC
Created attachment 101249 [details]
Dmesg kernel 3.15 - screen black
Comment 2 YannisDas 2014-06-17 16:55:10 UTC
Created attachment 101250 [details]
RegDump kernel 3.14.6 - working
Comment 3 YannisDas 2014-06-17 16:55:40 UTC
Created attachment 101251 [details]
Dmesg kernel 3.14.6 - working
Comment 4 Jani Nikula 2014-06-23 08:18:44 UTC
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
Comment 5 Jesse Barnes 2014-06-26 18:50:21 UTC
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...
Comment 6 Jesse Barnes 2014-06-26 18:53:07 UTC
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))
Comment 7 YannisDas 2014-06-27 08:23:26 UTC
Created attachment 101845 [details]
Dmesg_BAD_drm.debug=6
Comment 8 YannisDas 2014-06-27 08:24:37 UTC
(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...
Comment 9 YannisDas 2014-06-27 08:42:26 UTC
(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.
Comment 10 Ville Syrjala 2014-06-27 09:59:11 UTC
(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/
Comment 11 Ville Syrjala 2014-06-27 10:03:22 UTC
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.
Comment 12 YannisDas 2014-06-27 13:27:27 UTC
(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?
Comment 13 palopezv@gmail.com 2014-07-04 16:44:27 UTC
Here is the link to the Arch Linux bug report:

https://bugs.archlinux.org/task/40899
Comment 14 YannisDas 2014-07-18 20:16:33 UTC
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.