<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [855GM] Mouse cursors show wrong default black cursors and/or do not update correctly"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77351#c18">Comment # 18</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [855GM] Mouse cursors show wrong default black cursors and/or do not update correctly"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77351">bug 77351</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>Spotted the bug:

diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 3d017f5b656a..261fc7196e57 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7776,13 +7776,14 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,

                addr = i915_gem_obj_ggtt_offset(obj);
        } else {
-               int align = IS_I830(dev) ? 16 * 1024 : 256;
-               ret = i915_gem_attach_phys_object(dev, obj,
-                                                 (intel_crtc->pipe == 0) ?
I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1,
-                                                 align);
-               if (ret) {
-                       DRM_DEBUG_KMS("failed to attach phys object\n");
-                       goto fail_locked;
+               if (obj->phys_obj == NULL) {
+                       ret = i915_gem_attach_phys_object(dev, obj,
+                                                         (intel_crtc->pipe ==
0) ? I915_GEM_PHYS_CURSOR_0 : I915_GEM_PHYS_CURSOR_1,
+                                                         IS_I830(dev) ? 16 *
1024 : 256);
+                       if (ret) {
+                               DRM_DEBUG_KMS("failed to attach phys
object\n");
+                               goto fail_locked;
+                       }
                }
                addr = obj->phys_obj->handle->busaddr;
        }</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>