<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [HSW Bisected] Fail to resume from S4, causing system hang (once out of 5 test circles)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=82340#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [HSW Bisected] Fail to resume from S4, causing system hang (once out of 5 test circles)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=82340">bug 82340</a>
              from <span class="vcard"><a class="email" href="mailto:ming.yao@intel.com" title="yaoming <ming.yao@intel.com>"> <span class="fn">yaoming</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=82340#c7">comment #7</a>)
<span class="quote">> Perhaps

> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
> b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index f3fd448505f1..968e21300849 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -1316,6 +1316,16 @@ void i915_check_and_clear_faults(struct drm_device
> *dev)
>         POSTING_READ(RING_FAULT_REG(&dev_priv->ring[RCS]));
>  }
>  
> +static void i915_ggtt_flush(struct drm_device *dev)
> +{
> +       if (INTEL_INFO(dev)->gen < 6) {
> +               intel_gtt_chipset_flush();
> +       } else {
> +               I915_WRITE(GFX_FLSH_CNTL_GEN6, GFX_FLSH_CNTL_EN);
> +               POSTING_READ(GFX_FLSH_CNTL_GEN6);
> +       }
> +}
> +
>  void i915_gem_suspend_gtt_mappings(struct drm_device *dev)
>  {
>         struct drm_i915_private *dev_priv = dev->dev_private;
> @@ -1332,6 +1342,8 @@ void i915_gem_suspend_gtt_mappings(struct drm_device
> *dev)
>                                        dev_priv->gtt.base.start,
>                                        dev_priv->gtt.base.total,
>                                        true);
> +
> +       i915_ggtt_flush(dev);
>  }
>  
>  void i915_gem_restore_gtt_mappings(struct drm_device *dev)
> @@ -1384,7 +1396,7 @@ void i915_gem_restore_gtt_mappings(struct drm_device
> *dev)
>                 gen6_write_pdes(container_of(vm, struct i915_hw_ppgtt,
> base));
>         }
>  
> -       i915_gem_chipset_flush(dev);
> +       i915_ggtt_flush(dev);
>  }
>  
>  int i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj)</span >

Add patch failed, so I modified i915_gem_gtt.c manually. But also failed to
make when build kernel with kcloud.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>