drm/msm/adreno: move scratch register dumping to per-gen code
authorRob Clark <robdclark@gmail.com>
Fri, 11 Nov 2016 19:46:00 +0000 (14:46 -0500)
committerRob Clark <robdclark@gmail.com>
Mon, 28 Nov 2016 20:14:09 +0000 (15:14 -0500)
Scratch registers move, annoyingly enough, in a5xx.  Move to
per-generation aNxx_recover() fxn.

Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/adreno/a3xx_gpu.c
drivers/gpu/drm/msm/adreno/a4xx_gpu.c
drivers/gpu/drm/msm/adreno/adreno_gpu.c

index 156abf00c0e2a5fdc00d34d16ba81c36184e6507..0f55f9beee911cfd7fe0d47c6f27fea18d2b209e 100644 (file)
@@ -301,8 +301,15 @@ static int a3xx_hw_init(struct msm_gpu *gpu)
 
 static void a3xx_recover(struct msm_gpu *gpu)
 {
+       int i;
+
        adreno_dump_info(gpu);
 
+       for (i = 0; i < 8; i++) {
+               printk("CP_SCRATCH_REG%d: %u\n", i,
+                       gpu_read(gpu, REG_AXXX_CP_SCRATCH_REG0 + i));
+       }
+
        /* dump registers before resetting gpu, if enabled: */
        if (hang_debug)
                a3xx_dump(gpu);
index 2dc94122a95976fff5e5c58ced382186927c9b1a..71a4450c1b880d96700e9ce60fe3a67673b8c35e 100644 (file)
@@ -299,8 +299,15 @@ static int a4xx_hw_init(struct msm_gpu *gpu)
 
 static void a4xx_recover(struct msm_gpu *gpu)
 {
+       int i;
+
        adreno_dump_info(gpu);
 
+       for (i = 0; i < 8; i++) {
+               printk("CP_SCRATCH_REG%d: %u\n", i,
+                       gpu_read(gpu, REG_AXXX_CP_SCRATCH_REG0 + i));
+       }
+
        /* dump registers before resetting gpu, if enabled: */
        if (hang_debug)
                a4xx_dump(gpu);
index b468d2a2cdeba6a8d075b3ae5dd9e290a7427a06..3d4eb08d8c28de706995dd1a2840d46f042f22bc 100644 (file)
@@ -278,7 +278,6 @@ void adreno_show(struct msm_gpu *gpu, struct seq_file *m)
 void adreno_dump_info(struct msm_gpu *gpu)
 {
        struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
-       int i;
 
        printk("revision: %d (%d.%d.%d.%d)\n",
                        adreno_gpu->info->revn, adreno_gpu->rev.core,
@@ -290,11 +289,6 @@ void adreno_dump_info(struct msm_gpu *gpu)
        printk("rptr:     %d\n", get_rptr(adreno_gpu));
        printk("wptr:     %d\n", adreno_gpu->memptrs->wptr);
        printk("rb wptr:  %d\n", get_wptr(gpu->rb));
-
-       for (i = 0; i < 8; i++) {
-               printk("CP_SCRATCH_REG%d: %u\n", i,
-                       gpu_read(gpu, REG_AXXX_CP_SCRATCH_REG0 + i));
-       }
 }
 
 /* would be nice to not have to duplicate the _show() stuff with printk(): */