OSDN Git Service

Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 30 Jan 2014 11:56:51 +0000 (12:56 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 30 Jan 2014 11:56:51 +0000 (12:56 +0100)
Backmerge drm-next - I need to backmerge drm-intel-fixes patches
touching the error capture code to be able to merge Ben's cleanup
patches.

Conflicts:
drivers/gpu/drm/i915/i915_gpu_error.c

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
1  2 
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/i915/intel_display.c

Simple merge
Simple merge
@@@ -386,24 -387,7 +388,23 @@@ int i915_error_state_to_str(struct drm_
                        }
                }
  
-               obj = error->ring[i].ctx;
-               if (obj) {
 +              if ((obj = error->ring[i].hws)) {
 +                      err_printf(m, "%s --- HW Status = 0x%08x\n",
 +                                 dev_priv->ring[i].name,
 +                                 obj->gtt_offset);
 +                      offset = 0;
 +                      for (elt = 0; elt < PAGE_SIZE/16; elt += 4) {
 +                              err_printf(m, "[%04x] %08x %08x %08x %08x\n",
 +                                         offset,
 +                                         obj->pages[0][elt],
 +                                         obj->pages[0][elt+1],
 +                                         obj->pages[0][elt+2],
 +                                         obj->pages[0][elt+3]);
 +                                      offset += 16;
 +                      }
 +              }
 +
+               if ((obj = error->ring[i].ctx)) {
                        err_printf(m, "%s --- HW Context = 0x%08x\n",
                                   dev_priv->ring[i].name,
                                   obj->gtt_offset);
@@@ -718,9 -668,10 +719,10 @@@ i915_error_first_batchbuffer(struct drm
                        return NULL;
  
                obj = ring->scratch.obj;
-               if (acthd >= i915_gem_obj_ggtt_offset(obj) &&
+               if (obj != NULL &&
+                   acthd >= i915_gem_obj_ggtt_offset(obj) &&
                    acthd < i915_gem_obj_ggtt_offset(obj) + obj->base.size)
 -                      return i915_error_object_create(dev_priv, obj);
 +                      return i915_error_ggtt_object_create(dev_priv, obj);
        }
  
        seqno = ring->get_seqno(ring, false);
Simple merge