drm/i915: Organize PDP regs report for future.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 3 Dec 2014 12:55:27 +0000 (04:55 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 17 Dec 2014 17:18:34 +0000 (18:18 +0100)
Let's be optimistic that for future platforms this will remain the same
and reorg a bit.
This reorg in if blocks instead of switch make life easier for future
platform support addition.

Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gpu_error.c

index 010f57f3d83d64e7c36519638342a805303464ac..d172d13b020c96b884ef4889c8299a972bc5d8b2 100644 (file)
@@ -912,9 +912,13 @@ static void i915_record_ring_state(struct drm_device *dev,
 
                ering->vm_info.gfx_mode = I915_READ(RING_MODE_GEN7(ring));
 
-               switch (INTEL_INFO(dev)->gen) {
-               case 9:
-               case 8:
+               if (IS_GEN6(dev))
+                       ering->vm_info.pp_dir_base =
+                               I915_READ(RING_PP_DIR_BASE_READ(ring));
+               else if (IS_GEN7(dev))
+                       ering->vm_info.pp_dir_base =
+                               I915_READ(RING_PP_DIR_BASE(ring));
+               else if (INTEL_INFO(dev)->gen >= 8)
                        for (i = 0; i < 4; i++) {
                                ering->vm_info.pdp[i] =
                                        I915_READ(GEN8_RING_PDP_UDW(ring, i));
@@ -922,16 +926,6 @@ static void i915_record_ring_state(struct drm_device *dev,
                                ering->vm_info.pdp[i] |=
                                        I915_READ(GEN8_RING_PDP_LDW(ring, i));
                        }
-                       break;
-               case 7:
-                       ering->vm_info.pp_dir_base =
-                               I915_READ(RING_PP_DIR_BASE(ring));
-                       break;
-               case 6:
-                       ering->vm_info.pp_dir_base =
-                               I915_READ(RING_PP_DIR_BASE_READ(ring));
-                       break;
-               }
        }
 }